我有一个需要它,而无需等待重新枚举加载已经被插入内核
的使用情况是这样的 被insmoded后装载一个USB内核模块USB驱动程序 - 构建并insmod内核模块。 - 用户必须插入USB设备,那么他/她预计该设备工作 -The驱动程序存在(modprobe的秀),但没有加载,因此USB设备无法正常工作
是否有办法我可以强制内核重新启动一个给定的设备,我目前正在查看libusb,它似乎通过发布IOCTL来实现类似的事情。
我有一个需要它,而无需等待重新枚举加载已经被插入内核
的使用情况是这样的 被insmoded后装载一个USB内核模块USB驱动程序 - 构建并insmod内核模块。 - 用户必须插入USB设备,那么他/她预计该设备工作 -The驱动程序存在(modprobe的秀),但没有加载,因此USB设备无法正常工作
是否有办法我可以强制内核重新启动一个给定的设备,我目前正在查看libusb,它似乎通过发布IOCTL来实现类似的事情。
我对你的问题有点困惑。
您的设备的驱动程序应支持“探测”呼叫。当新设备插入时,较低级别的USB驱动程序将检测并枚举设备。找到每个设备后,它会调用所有已注册USB驱动程序的探测功能,并传递新找到的设备的引用。这使得每个驱动程序都有机会“自称”设备,如果它认为它应该用于驱动设备。
此枚举将在设备插入时自动发生 - 或者(简单地说)当新的USB模块被加载并注册时。
也许这是你使用'负载',这是混淆问题。运行insmod加载一个内核模块。如果一个模块出现lsmod,它已经被加载。模块没有检测到USB设备是否需要解决问题? – ctuffli 2010-12-12 15:43:48
没有我的模块正在检测USB设备,但为了让它出现在lsmod中,我需要拔下并重新插入。当然,这种情况只发生一次,就在驱动程序被嵌入后。 – Stb 2010-12-13 20:33:37