|
From: Xiaofan C. <xia...@gm...> - 2012-12-23 01:17:38
|
This may be of some interests to the list here. http://lists.apple.com/archives/usb/2011/Feb/msg00021.html "The IOUSBHIDDriver only has one interrupt read pending at a time. That means that at the best case, you will get a IN token on the bus every other millisecond, if your polling rate is 1ms." To get 1ms, Apple's suggestion is not to use IOUSBHIDDriver. Option 2 kind of suggests to use libusb/libusbx instead... " So your only choice is to: 1. Write a kext for your device that issues more than 1 read at a time, so that there is always a pending read. 2. Write a userland driver (and a codeless kext to prevent the IOUSBHIDriver from grabbing your device) that issues multiple reads. 3. Change the firmware to use isochronous endpoints, and write your own driver to get that data." -- Xiaofan |