Linux USB编程

6

我是一名新手Linux内核编程者。我想要开发一个程序来读取USB驱动器的信息,例如制造商名称、容量等。我了解描述符和它们的属性。但我不知道如何枚举连接到系统的USB驱动器。我正在寻找启动内核和USB端口之间连接的函数。这是否可能?


2
有趣的是,最具操作系统特定性的主题(驱动程序创建)却没有提到任何操作系统。 - Blindy
1
非常类似于这个,由Jay而不是Jau发布:http://stackoverflow.com/questions/6452625/linux-kernel-programming - Raoul
2
你不需要深入内核来获取这些信息,使用libusb就可以完成这类任务。 - Chris Eberle
@Jau - 不知道你的声望是否足够编辑自己的标题,但这可能会让更多人找到(并回答)这个问题。 - Martin Beckett
我曾经使用过libusb,但据我所知它并没有提供查找驱动器空间和容量的功能。 - Jay
显示剩余2条评论
2个回答

6
您不需要编写内核程序,事实上,为了读取设备信息,您甚至不需要设备驱动程序。
USB系统在更新的2.6内核中有所不同,因此许多在线教程可能已经过时 - 但是您可以从这里开始:http://www.linux-usb.org/ 如果您确实想编写USB设备驱动程序,请参阅这篇Linux杂志教程

4
你真的想要进行内核编程吗?有一个名为lsusb的实用程序,可以读取“USB驱动器信息,例如其制造商名称”,描述符等... 它还可以枚举所有USB设备。 lsusb的源代码可以在这里找到,例如http://www.google.com/codesearch#VKTEFMx6wp0/lsusb.c 如果你正在编写一个在内核模式下工作的USB驱动程序,我建议你阅读一些现有的USB驱动程序和USB驱动程序编程FAQ。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接