paroj / xpad

Linux Kernel Driver for the Xbox/ Xbox 360/ Xbox One Controllers
844 stars 184 forks source link

xone: Liquid Metal/ PowerA Controller No Input #48

Open dcrdev opened 8 years ago

dcrdev commented 8 years ago

I'm trying to get a third party controller working.

So I've cloned the repo and built the dkms module and the controller is showing up as an interface under /dev/input/js0 - however I'm getting no input from the controller whatsoever.

Running the jstest utility brings up some info - but appears to be entirely unresponsive to any buttons pressed on the pad.

Looking at the source code, in particular xpad.c the controller should be support by vendorid and productid { 0x24c6, 0x543a, "PowerA Xbox One wired controller", 0, XTYPE_XBOXONE },

Can anyone help?

cgutman commented 7 years ago

Mine is this one from Amazon: https://www.amazon.com/gp/product/B01KTKHVC0

It has model number 1428124-01.

No luck following the official Win7 steps? http://support.xbox.com/en-US/xbox-on-windows/accessories/connect-xbox-one-controller-to-pc

kyleabeauchamp commented 7 years ago

woo! I finally got the XBoxOne controller driver installed. I think I have a working capture here: https://gist.github.com/kyleabeauchamp/3533c31357a00144fb60b4d635f2df50#file-tmp-bin

cgutman commented 7 years ago

Cool, I have a few test branches for you to try based on that pcap.

Can you try powera_test1, powera_test2, and powera_test3 and let me know which of them (if any) fix your gamepad?

kyleabeauchamp commented 7 years ago

1 failed, 2 and 3 worked! Thanks @cgutman

PS: what tool did you use to view the pcap in linux? Just a hex editor or something special?

cgutman commented 7 years ago

Cool, do you mind if I add your "Reported-and-tested-by" sign-off to my patch upstream? If you want me to include that, let me know your full name and the email address you'd prefer.

I used Wireshark to open the pcap. It's one of my favorite tools :)

kyleabeauchamp commented 7 years ago

SGTM.

Kyle Beauchamp

My email is my github user but at gmail.com

cgutman commented 7 years ago

Ok, I'll CC you on the patch submission in the next few days. No need to respond to the email if it all looks fine.

cgutman commented 7 years ago

@kyleabeauchamp Did the gamepad vibrate after you plugged it in on the powera_test2 branch? I'm testing locally and my PowerA gamepad is vibrating on init with powera_test2 branch. I'd like to avoid that if at all possible.

Can you try my powera_test4 branch and see the gamepad works?

kyleabeauchamp commented 7 years ago

So I get vibrations for test2 and test3.

test4 does not work properly unless the controller has remained plugged in from a session where test2 and test3 were used.

cgutman commented 7 years ago

Does it vibrate when you plug it in on Windows?

kyleabeauchamp commented 7 years ago

Yes

cgutman commented 7 years ago

OK, I think I've figured a way to work around this issue. It seems to work on my PowerA gamepad. Not sure why I didn't think of it earlier, but I'll just send the full rumble packet then immediately send another rumble packet to stop the rumble.

Can you see if powera_test5 works and doesn't noticeably vibrate?

kyleabeauchamp commented 7 years ago

test5 works and doesn't seem to vibrate.

Kyle-Magee commented 7 years ago

Hey @kyleabeauchamp,

I have the same controller and problem you had. When you loaded in the powera_test2 how did you test out your controller/load in the xpad program?

Kyle-Magee commented 7 years ago

Nevermind, I found I had to do a clean removal of my old xpad before trying the powera_testN branch. Thank you both @cgutman and @kyleabeauchamp, you two are lifesavers!

stumpalump commented 7 years ago

Thank you sooooo much for this fix!

Arranmc182 commented 6 years ago

For the Hyperkin Duke I just did "sudo nano /sys/bus/usb/drivers/xpad/new_id" and add device ID "2e24 0652" then rebooted the system, you can find your device ID via "lsusb" command