我有一個需要它,而無需等待重新枚舉加載已經被插入內核
的使用情況是這樣的 被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