2016-03-01 90 views
2

我有一個全速USB HID設備,請求的輪詢間隔等於1,當我將它與內核3.x,4.x一起使用時,我只能獲得每隔一幀中斷的IN傳輸(每2ms)。同時,OUT傳輸按設計每幀發生(每1ms)。具有完全相同軟件的完全相同的設備在非常慢(500MHz Atom)計算機上的Kernel 2.6上按預期工作(IN每1ms傳輸一次)。Linux上的USB HID設備輪詢時間間隔

我能做些什麼嗎?

回答

1

看起來像這是因爲UHCI和一些OHCI控制器的Linux驅動程序中的錯誤。驅動程序不會快速處理由控制器填充的TD,因此控制器必須跳過SOH插槽。結果,中斷傳輸僅在每第二個時隙到達。

如果我在同一個Linux中插入USB 3.0卡,一切正常,因爲使用了XHCI驅動程序。如果我在同一臺計算機上運行Windows,一切都很好,因爲Windows沒有該錯誤。