免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1787 | 回复: 4
打印 上一主题 下一主题

怎样在2.4内核中获取sata硬盘的ID啊? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-07 15:42 |只看该作者 |倒序浏览
请教各位大侠,
怎样在2.4内核中获取sata硬盘的ID啊?

用hdparm 尝试,说是unappreciate io control code。

有什么办法啊?
如果要用内核模块,该怎么考虑?

论坛徽章:
0
2 [报告]
发表于 2009-07-07 17:08 |只看该作者
open /dev/sda
ioctl  HDIO_DRIVE_CMD
参考 busybox 中 hdparm 实现

论坛徽章:
0
3 [报告]
发表于 2009-07-20 10:53 |只看该作者
已经解决了
在2.4里面,需要通过一个sd设备如: /dev/sda
找到一个对应的sg设备假设为:/dev/sg0
然后找到这个设备后,打开该设备,然后用ioctl,才能获取。

如果直接用 /dev/sda 设备作目标,不支持 获取ID的命令。

论坛徽章:
5
4 [报告]
发表于 2009-07-20 11:46 |只看该作者

回复 #3 lfwalkman 的帖子

还是用 ioctl  HDIO_DRIVE_CMD?

论坛徽章:
0
5 [报告]
发表于 2009-07-22 15:07 |只看该作者
用ioctl + SG_IO 命令。
在参数为一个 sg_io_hdr_t 结构体,其中表示了执行SG_IO的详细内容。
根据sg_io_hdr_t中的不同内容,可以请求sata硬盘不同的信息。
获取硬盘只是其中一个。

至于sg_io_hdr_t中具体填什么,参考网上面有一篇针对2.6的文章,
是一摸一样。只是2.4要求从sg 设备出发发出这个命令
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP