|
From: Carl K. <car...@gm...> - 2007-08-14 14:51:44
|
By the way, that Japanese windows program crashes (but doesn't freeze) on my computer, and apparently on many other computers (but not all). They don't include their source code, so I don't know why. Don't get me wrong, my program is currently working perfectly with the SIXAXIS, it just doesn't support the filter driver, but if I stop claiming the device then perhaps it will work on the filter driver (which only works on XP) too. So that should solve my problems (except for the no HID access on Vista, but for my program that is a small problem, since my program emulates a joystick anyway). Nevertheless, here is a buglist which libusb-win32 writers may wish to have a go at fixing: usb_setconfiguration on the filter driver may freeze the program forcing you to reboot the computer, instead of simply failing with an error code. interrupt reads may fail on Vista (with the device driver) The filter driver won't install on Vista The device driver detects an empty bus if you plug your device into a port that you had previously plugged it into before you installed the device driver. As the installation wizard requires you to plug your device in before it installs the device driver, you can't use it in that port again. There is zero documentation. This is the most serious, and most easily fixed bug. By the way, I've converted the most of the libusb-win32 headers to Delphi, if that is any use to anyone. On 14/08/07, Xiaofan Chen <xia...@gm...> wrote: > On 8/14/07, Xiaofan Chen <xia...@gm...> wrote: > > On 8/14/07, Carl Kenner <car...@gm...> wrote: > > > I can't use HID as a backend, because the windows HID isn't working. > > > Presumably because the SIXAXIS uses a malformed HID descriptor, and it > > > won't let me read this feature report. I'm reasonably confident the > > > device isn't a keyboard or mouse, it seems to just be a HID joystick > > > or gamepad. Reading the same feature report with libusb is easy. Once > > > I have read this feature report, the device will start sending input > > > reports to the computer, but before that it won't. > > > > > > Now all the other sixaxis drivers for windows use the libusb filter > > > driver to read this one feature report, while windows still sees it as > > > a gamepad. So it must work on some computers. But it doesn't work on > > > the computers I tested it on. > > > > I see. So it is a gamepad. > > > > Now I understand why your interrupt transfer will not work. > > You do need to claim the interface (use the device driver, set the > > configuration, claim the interface) in order for the interrupt transfer > > to work. You can try this. > > > > You do not need to claim the interface to get control transfer to work. > > Therefore you can use the filter driver. If I am not wrong, you do not > > need to (and probably you can not) set configuration since the > > HID driver has already done that and claim the interface. I am not > > 100% sure here though. You can try this. > > > > Google found this and maybe you can give it a try. > > http://www.bricklife.com/library/sixaxis-init.c > > > > > > This page is in Japanese but you might be able to try to > use a auto-translator. > > For Windows: > http://www.padc.cs.tsukuba.ac.jp/~k1/ > > For Mac OS X: > http://www.bricklife.com/weblog/000705.html > > Hope this helps. > > Xiaofan > http://mcuee.blogspot.com/ > http://groups.google.com/group/pickit-devel > > ------------------------------------------------------------------------- > This SF.net email is sponsored by: Splunk Inc. > Still grepping through log files to find problems? Stop. > Now Search log events and configuration files using AJAX and a browser. > Download your FREE copy of Splunk now >> http://get.splunk.com/ > _______________________________________________ > Libusb-win32-devel mailing list > Lib...@li... > https://lists.sourceforge.net/lists/listinfo/libusb-win32-devel > |