2012-12-04 23 views
0

tl; dr:我如何強制Linux拒絕高速USB連接以使其默認爲全速?限制USB小工具驅動程序速度

充分說明:

我基於Linux的小工具零寫一個USB小工具的驅動程序。我正在測試的硬件具有高速USB功能,但實際產品並不適用。出於某種原因,該小工具(儘管在任何配置上沒有高速描述符)正在作爲高速小工具 (struct usb_gadget->speed==USB_SPEED_HIGH,在複合小工具的set_config函數上)報告。 這使得驅動程序在配置綁定之前慘敗(嘗試加載顯然不存在的高速配置)。

我正在尋找一種方式通知Linux,該小工具不具備高速能力,因此當主機將交換機從全速切換到高速時被拒絕(或會產生類似結果的東西)。

+0

運行compil過程之前,您可以嘗試卸載或黑名單中的某些模塊,比如'uhci','ohci' ...看一下'man modprobe'! –

+0

我最終申請的解決方案是修改USB小工具驅動程序(我的意思是硬件控制器),以便硬件拒絕高速請求。 (我設計了硬件/嵌入式系統,所以我已經有了所需的文檔,如果應用於通用PC,我不認爲這是最好的解決方案)。 – user1783395

回答

1

uhci and ohci內核模塊驅動USB 1.X控制器。 ehci模塊驅動器USB 2.0控制器。

如果您卸載其中之一,則對另一個執行限制。

+0

雖然這應該工作,並確實回答了它沒有解決我的問題的問題。主機仍然以高速連接到我的小工具(這不應該發生,因爲我禁用了內核對USB2.0的支持)。 – user1783395

-1
enum usb_device_speed  speed; 
enum usb_device_speed  max_speed; 

you can setup usb_composite_driver 
+0

請將解釋添加到您的答案。 –