2017-10-13 103 views
0

我們正在運行raspberry pi板上的最新raspibian,並且有一個USB外設的內核驅動程序,它在啓動後通過使用ssh連接到硬件而在外部添加(sudo insmod driverx.ko)(它是一個無頭系統)。內核模塊插入問題

的問題是如下: 如果裝置在加電時已經連接到系統然後運行須藤insmod的driverx.ko導致終端卡住(沒有響應,Ctrl + C鍵不工作)。通過啓動另一個ssh會話來運行lsmod,表明該模塊正在使用中,即使沒有運行的代碼將會使用它。

如果在系統啓動後插入USB設備,則sudo insmod driverx.ko正常工作(終端仍處於活動狀態)。隨後運行lsmod顯示該模塊已加載,但未被任何人使用。然後我可以運行我的用戶代碼,一切都很好。當運行我的用戶代碼lsmod的顯示內核模塊正在使用中,用戶數量爲1

在我們的系統中的USB設備將始終被堵塞。內核版本和驅動程序的版本是相同的。
我可以填寫更多的細節,但不希望偏見或使此查詢不可讀。 請告訴問題是什麼。

謝謝你的時間和幫助。

+0

任何bios usb開機啓動?你需要把USB放在引導BIOS的底部列表,如果USB可引導,這可能會造成不好的情況。不確定是否與您的問題有關。問候。 – 2017-10-13 07:08:46

+0

感謝您的意見。我會檢查,但基於「症狀」,我不認爲這可能是問題。 – EnthuMan

+0

是作爲「症狀」;),gl。 – 2017-10-13 07:25:02

回答

0

可能性是,設備在啓動過程中已經連接到其他驅動程序。如果是這種情況,則必須從啓動驅動程序中刪除特定設備的設備憑證。

檢查USB設備列表之前插入您的驅動程序。

+0

我使用lsusb檢查了USB設備列表,但沒有看到任何具體的東西。我試圖軟重置USB設備,這有助於插入我的driverx.ko沒有問題。 (例如,在SO上的另一個線程上的答案,$ sudo usb_modeswitch -v 0x7392 -p 0x7811 --reset-usb)。 – EnthuMan

+0

查看可能從端口吸取更多電流的設備的問題。嘗試改變pi的電源。 – Sathesh

+0

或者使用外部集線器(自供電)並在集線器上連接設備 – Sathesh