Hi there, advice/help from a more experienced developer would be very appreciated. I'm still trying to get the BigBen PS3OFMINIPAD game controller [1] to work better. * what works, what doesn't - and with which device When connected directly to the PS3, force feedback and LEDs work as expected. When connected to a Linux box, the hid-generic driver supports all axes and buttons, but it's missing support for force feedback and the LEDs. * lsusb not very helpful (to me) The HID device descriptor (posted earlier [2] in this thread [3]) didn't help much, but as a novice to USB HID specifics, I may be overlooking something obvious. These items remain unclear and what one can do with them: > Usage, data= [ 0x21 0x26 ] 9761 > Usage, data= [ 0x2c ] 44 > Usage, data= [ 0x2d ] 45 > Usage, data= [ 0x2e ] 46 > Usage, data= [ 0x2f ] 47 * guessing output messages didn't work Thanks to Simon's suggestion, I have been able to send/read direct HID communication with a python script. But that didn't help much, the gamepad would not respond to anything sent to it. So even guessing possible output messages to it didn't do anything yet. * sniff it? The next attempt was to sniff the protocol. It is possible to use a Raspberry Pi Zero to act as a HID device. Copying the BigBen gamepad's HID descriptor, product/vendor ids etc. to the Zero's gadget driver settings, it was possible to use the Zero as a MITM sniffer for the raw HID traffic between the gamepad and another device. The "fake" HID gamepad offers different endpoint addresses (didn't find out yet how to specify them in the gadget driver), but the rest of its lsusb output is the same. The "fake" HID gamepad works when sniffing between the gamepad and a Linux box. The moment I use the Zero as a sniffer between the gamepad and the PS3, only the axes and buttons are supported (and it is possible to use the PS3 UI with it) minus some phantom button clicks. But the LEDS / force feedback stop working. There is no raw HID traffic at all from the PS3 to the gamepad when there's the Zero between them. * other gamepads? It appears that there are gamepads with similar HID descriptors on the market. The 0f0d:0092 "HORI CO.,LTD. POKKEN CONTROLLER" [4] and the 0738:8828 "Mad Catz,Inc. PS3 RF pad" [5] share this HID report descriptor items with the BigBen gamepad: > Usage, data= [ 0x21 0x26 ] 9761 The 0738:8828 controller even mentions the other four items > Usage, data= [ 0x2c ] 44 > Usage, data= [ 0x2d ] 45 > Usage, data= [ 0x2e ] 46 > Usage, data= [ 0x2f ] 47 I didn't find existing drivers for these two other devices that refer to force feedback functionality. * so how to find out more? I'm now trying to guess why the gamepad works directly with the PS3 but not while sniffing with the Zero. Obviously, the Zero's gadget config might be different because of the endpoint addresses, but the PS3 accepts the Zero's sniffed gamepad as a gamepad and works with it. Is the gamepad offering two USB modes, one for PCs using standard USB HID and another for PS3 using a proprietary USB protocol? If it is, can it be possible that the gamepad's "PC mode" isn't offering any force feedback at all? Thanks. Hanno [1] https://www.bigben-interactive.co.uk/bigben-products/gaming-accessories/wired-mini-controller-ps3 [2] https://marc.info/?l=linux-input&m=152285384607009&w=2 [3] https://marc.info/?t=152283563900001&r=1&w=2 [4] https://github.com/progmem/Switch-Fightstick/blob/master/HORI_Descriptors [5] https://bugs.launchpad.net/qtsixa/+bug/933258 -- To unsubscribe from this list: send the line "unsubscribe linux-input" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html