Nintendo Switch Pro Controllers consistently disconnecting when using 2 controllers
-
Pi Model or other hardware: Pi 3
Power Supply used: Official 2.5A
RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest): 4.4
Built From: Pre made SD Image on RetroPie website
USB Devices connected: Keyboard and mouse
Controller used: 2 Nintendo Switch Pro ControllersI just did a fresh install of 4.4 from the official image. I connected my first Switch Pro Controller and it works perfectly. I then connect the second one, and it appears to work properly for about 10 seconds, then all input stops working, and both controllers disconnect and shut off (lights at the bottom stop blinking). If I press a button on either controller, after a few seconds it will reconnect and work perfectly. As soon as I press a button on the second controller, it will connect, work for 10 seconds, then the same thing will happen. There seems to be some kind of conflict.
I double checked /var/log/messages and I can see the controllers reconnecting over and over:
Apr 15 00:20:46 retropie kernel: [ 580.503097] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:057E:2009.0006/input/input5 Apr 15 00:20:46 retropie kernel: [ 580.503789] hid-generic 0005:057E:2009.0006: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:24:16 retropie kernel: [ 790.880638] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:057E:2009.0007/input/input6 Apr 15 00:24:16 retropie kernel: [ 790.881409] hid-generic 0005:057E:2009.0007: input,hidraw4: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:25:28 retropie kernel: [ 863.343832] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:057E:2009.0008/input/input7 Apr 15 00:25:28 retropie kernel: [ 863.351962] hid-generic 0005:057E:2009.0008: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:25:58 retropie kernel: [ 892.820535] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:057E:2009.0009/input/input8 Apr 15 00:25:58 retropie kernel: [ 892.823571] hid-generic 0005:057E:2009.0009: input,hidraw4: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:26:05 retropie kernel: [ 899.848342] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:057E:2009.000A/input/input9 Apr 15 00:26:05 retropie kernel: [ 899.854509] hid-generic 0005:057E:2009.000A: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:26:28 retropie kernel: [ 922.637664] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:057E:2009.000B/input/input10 Apr 15 00:26:28 retropie kernel: [ 922.638878] hid-generic 0005:057E:2009.000B: input,hidraw4: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:26:38 retropie kernel: [ 933.189789] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:057E:2009.000C/input/input11 Apr 15 00:26:38 retropie kernel: [ 933.198446] hid-generic 0005:057E:2009.000C: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce
And in /var/log/syslog I see that the culprit appears to be jscal-restore:
Apr 15 00:20:46 retropie kernel: [ 580.502438] hid-generic 0005:057E:2009.0006: unknown main item tag 0x0 Apr 15 00:20:46 retropie kernel: [ 580.503097] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:057E:2009.0006/input/input5 Apr 15 00:20:46 retropie kernel: [ 580.503789] hid-generic 0005:057E:2009.0006: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:20:46 retropie systemd-udevd[2296]: Process '/usr/bin/jscal-restore /dev/input/js0' failed with exit code 1. Apr 15 00:20:46 retropie systemd-udevd[2296]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:20:46 retropie systemd-udevd[2297]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:24:16 retropie kernel: [ 790.872445] hid-generic 0005:057E:2009.0007: unknown main item tag 0x0 Apr 15 00:24:16 retropie kernel: [ 790.880638] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:057E:2009.0007/input/input6 Apr 15 00:24:16 retropie kernel: [ 790.881409] hid-generic 0005:057E:2009.0007: input,hidraw4: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:24:16 retropie systemd-udevd[2402]: Process '/usr/bin/jscal-restore /dev/input/js1' failed with exit code 1. Apr 15 00:24:16 retropie systemd-udevd[2402]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:24:16 retropie systemd-udevd[2401]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:25:28 retropie kernel: [ 863.343271] hid-generic 0005:057E:2009.0008: unknown main item tag 0x0 Apr 15 00:25:28 retropie kernel: [ 863.343832] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:057E:2009.0008/input/input7 Apr 15 00:25:28 retropie kernel: [ 863.351962] hid-generic 0005:057E:2009.0008: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:25:28 retropie systemd-udevd[3044]: Process '/usr/bin/jscal-restore /dev/input/js0' failed with exit code 1. Apr 15 00:25:29 retropie systemd-udevd[3044]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:25:29 retropie systemd-udevd[3043]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:25:58 retropie kernel: [ 892.819861] hid-generic 0005:057E:2009.0009: unknown main item tag 0x0 Apr 15 00:25:58 retropie kernel: [ 892.820535] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:057E:2009.0009/input/input8 Apr 15 00:25:58 retropie kernel: [ 892.823571] hid-generic 0005:057E:2009.0009: input,hidraw4: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:25:58 retropie systemd-udevd[3059]: Process '/usr/bin/jscal-restore /dev/input/js1' failed with exit code 1. Apr 15 00:25:58 retropie systemd-udevd[3059]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:25:58 retropie systemd-udevd[3058]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:26:05 retropie kernel: [ 899.847561] hid-generic 0005:057E:2009.000A: unknown main item tag 0x0 Apr 15 00:26:05 retropie kernel: [ 899.848342] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:057E:2009.000A/input/input9 Apr 15 00:26:05 retropie kernel: [ 899.854509] hid-generic 0005:057E:2009.000A: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:26:05 retropie systemd-udevd[3073]: Process '/usr/bin/jscal-restore /dev/input/js0' failed with exit code 1. Apr 15 00:26:05 retropie systemd-udevd[3073]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:26:05 retropie systemd-udevd[3072]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:26:27 retropie systemd[1]: Starting Cleanup of Temporary Directories... Apr 15 00:26:27 retropie systemd[1]: Started Cleanup of Temporary Directories. Apr 15 00:26:28 retropie kernel: [ 922.636865] hid-generic 0005:057E:2009.000B: unknown main item tag 0x0 Apr 15 00:26:28 retropie kernel: [ 922.637664] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:12/0005:057E:2009.000B/input/input10 Apr 15 00:26:28 retropie kernel: [ 922.638878] hid-generic 0005:057E:2009.000B: input,hidraw4: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:26:28 retropie systemd-udevd[3089]: Process '/usr/bin/jscal-restore /dev/input/js1' failed with exit code 1. Apr 15 00:26:28 retropie systemd-udevd[3089]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:26:28 retropie systemd-udevd[3090]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:26:38 retropie kernel: [ 933.189245] hid-generic 0005:057E:2009.000C: unknown main item tag 0x0 Apr 15 00:26:38 retropie kernel: [ 933.189789] input: Pro Controller as /devices/platform/soc/3f201000.serial/tty/ttyAMA0/hci0/hci0:11/0005:057E:2009.000C/input/input11 Apr 15 00:26:38 retropie kernel: [ 933.198446] hid-generic 0005:057E:2009.000C: input,hidraw3: BLUETOOTH HID v0.01 Gamepad [Pro Controller] on b8:27:eb:0a:07:ce Apr 15 00:26:38 retropie systemd-udevd[3104]: Process '/usr/bin/jscal-restore /dev/input/js0' failed with exit code 1. Apr 15 00:26:38 retropie systemd-udevd[3104]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1. Apr 15 00:26:39 retropie systemd-udevd[3103]: Process '/usr/sbin/th-cmd --socket /var/run/thd.socket --passfd --udev' failed with exit code 1.
I did a bunch of searching but didn't turn anything up. Since either controller works fine on it's own, it definitely appears to be a software issue on the RetroPie side, presumably with jscal-restore unless that's a red herring.
I'm happy to provide any other logs of debug anything that can help fix this. Right now I can only play single player as I don't have any other controllers which is a bit of a bummer.
-
No one else using Switch Pro controllers?
I ended up picking up some used original PS3 controllers that turned out to be Shanwan clones, which after some hacking around and installing a custom modified bluetooth stack are working fine (using this info if anyone else is interested: https://raspberryblog.de/?p=1870), so for now that's what I'm using. However I'd still love to get these working since I like the controllers a bit better.
Even if you're not using these controllers specifically, if you have any info on how to potentially debug the issue, it would be much appreciated. Thanks!
-
@benbaron I would love to find a solution to this, I have been pulling my hair out over this for days.
-
@benbaron I have the same issue, looked, have you found a fix for the Nintendo Switch Pro Controllers as yet?
-
Did you try to turn off your wifi? it worked to me with all the 2 player mode Bt controllers
-
FWIW I read on another forum about someone havin the exact same issue with Wii U Pro controllers. They ended up buying a dongle and it resolved the problem.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.