Linux上的USB HID设备轮询间隔

Linux上的USB HID设备轮询间隔,linux,kernel,usb,hid,Linux,Kernel,Usb,Hid,我有一个全速USB HID设备,请求的轮询间隔等于1,当我使用内核3.x、4.x时,我每隔一帧(每2ms)只在传输中得到中断。同时,输出传输按设计每帧(每1ms)进行一次。在速度非常慢(500MHz Atom)的计算机上,内核2.6上的完全相同的设备和完全相同的软件按照预期工作(每1ms传输一次) 对此我能做些什么?看起来这是因为UHCI和一些OHCI控制器的Linux驱动程序中有一个bug。驱动程序处理控制器填充的TDs不够快,因此控制器必须跳过SOH插槽。因此,中断传输只会每隔一秒到达一个插

我有一个全速USB HID设备,请求的轮询间隔等于1,当我使用内核3.x、4.x时,我每隔一帧(每2ms)只在传输中得到中断。同时,输出传输按设计每帧(每1ms)进行一次。在速度非常慢(500MHz Atom)的计算机上,内核2.6上的完全相同的设备和完全相同的软件按照预期工作(每1ms传输一次)


对此我能做些什么?

看起来这是因为UHCI和一些OHCI控制器的Linux驱动程序中有一个bug。驱动程序处理控制器填充的TDs不够快,因此控制器必须跳过SOH插槽。因此,中断传输只会每隔一秒到达一个插槽

如果我将USB3.0卡插入同一个Linux中,一切都很好,因为使用了XHCI驱动程序。如果我在同一台计算机上运行Windows,一切正常,因为Windows没有bug