nvidia-shield-controller-driver
nvidia-shield-controller-driver copied to clipboard
Possible issue on Linux 4.12+
I had this working pretty well until recently. After the last couple updates on Fedora 26, the controllers have stopped working. The connection procedure works fine, devices enumerate correctly, but no input actually gets through. Not mouse, not gamepad, nothing. I was able to boot a previous 4.11 kernel and it worked fine. Any ideas what might have changed?
Unfortunately not. Haven't used the driver since quite some time and also currently don't have the tine to work on it, but I'll look into the problem when I find the time
https://github.com/torvalds/linux/commit/9143059fafd4eebed2d43ffb5455178d4010e60a
Bisected the problem and that's it. Reverting that makes it work from me on 4.13 on Fedora 26. Reverting isn't a proper fix though. I'll look more later to see what I can come up with. I'm thinking it's probably affecting the ozwpan interface and not the controller itself, since wired works fine. Does anything stand out to you?
Nice find!
It might also be the controller itself, the interface it is exposing over wifi vs a wired USB connection is quite different. Nothing particular stands out to me, however, I'm also not too familiar with all the details on how the driver hooks into the USB stack
Finally sat down and made a patch to more properly fix controller support in the kernel
https://gist.github.com/webgeek1234/8ef1bd105d2add3aa9c29028c2befbb0 (ignore the fedora stuff plastered in the boilerplates, it's just what got put there cause I was working on it on Fedora in the rpmbuild folder structure)
First two should be all that's needed to get back to par with what worked before 4.12. Third needs some more work though, but it imports the actual driver from the android kernel. Bonus: force feedback actually works, wired and wireless. Though, I think part of the mappings for it is wrong.
So... You still interested in putting your name on the ozwpan section of the kernel? I'd love to see all this officially supported so I don't have to patch my local kernel.
Awesome work :+1: I definitely still intend to get in mainlined as soon as I find the time to continue working on it
I really would love to also see this mainlined 👍 Thanks for working on this 😀
More updated I guess? http://nv-tegra.nvidia.com/gitweb/?p=linux-nvidia.git;a=tree;f=drivers/hid;hb=refs/heads/l4t/l4t-r32.2.2
What device is USB_DEVICE_ID_NVIDIA_LOKI btw?
it's the shield portable v2