On 04/17/2018 04:03 AM, Daniel Hefti wrote:
Hey guys,
I've been banging my head against the wall for a couple of days trying
to get a Raspberry Pi 0W to talk to Windows (8.1/10) as an XInput game
controller using ConfigFS and FunctionFS, having little success. I've
tried to build both a generic XInput device and one that attempts to
emulate an X360 controller. The X360 controller seems to get "further",
in that Windows says it recognizes the device and the drivers are
working. Whatever that means. The generic version just shows up as an
unrecognized device (with the name I've given it). Neither are getting
or able to send any data from/to their respective endpoints. The X360
version, I tested locally via loopback/dummy UDC, and the xboxdrv driver
can detect and read controller state messages/reports I send it, so at
least that much works. Not sure what I could possibly be missing.
I can say I've successfully created HID USB game controller devices.
Those are accessible from Windows, but, unfortunately, many Windows
games don't support HID particularly well, and I'm trying to avoid
someone having to use something like XOutput as a workaround to get this
device to work.
I do have Wireshark with USBPCap installed, so I can at least capture
some of the data, which I did, but it wasn't really leading me
anywhere, possibly due to my lack of knowledge in this particular
subject. Unfortunately, I didn't save my pcap results. I'll likely end
up doing it again once I've given my head some time to heal.
Any insights? References? Something you think could help guide me in
the right direction? There's plenty of documentation and example
implementations out there for HID devices, but not so much for XInput
devices and functionfs in general, so any help would be greatly
appreciated!
Did you check that you provided all drivers that a physical device does?
Maybe windows requires correct OS descriptors for that device?
That's just some guesses...
--
Krzysztof Opasiak
Samsung R&D Institute Poland
Samsung Electronics
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html