steamcontroller-linux-kernel icon indicating copy to clipboard operation
steamcontroller-linux-kernel copied to clipboard

A button doubles as Start button press

Open johnjelinek opened this issue 9 years ago • 12 comments

I haven't been able to see the effects in evtest yet:

Event: time 1455413734.748693, -------------- EV_SYN ------------
Event: time 1455413735.880596, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 1
Event: time 1455413735.880596, -------------- EV_SYN ------------
Event: time 1455413736.721266, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 0
Event: time 1455413736.721266, -------------- EV_SYN ------------
Event: time 1455413736.852973, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 1
Event: time 1455413736.852973, -------------- EV_SYN ------------
Event: time 1455413737.017240, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 0
Event: time 1455413737.017240, -------------- EV_SYN ------------

But in EmulationStation and RetroArch, every A button press on the controller was triggering the A action and Start button press action. I'm going to reboot and see if that fixes it, but how should I debug this? It happened all of a sudden after 48-72 hours of connected use.

johnjelinek avatar Feb 14 '16 01:02 johnjelinek

weird, after a reboot. It didn't show up in evtest again. I'm trying to re-install.

johnjelinek avatar Feb 14 '16 01:02 johnjelinek

hmm, re-install didn't fix it either. I don't know how to get it to show back up:

$ lsusb
Bus 001 Device 007: ID 1997:2433
Bus 001 Device 006: ID 0a5c:21e8 Broadcom Corp. BCM20702A0 Bluetooth 4.0
Bus 001 Device 005: ID 28de:1142
Bus 001 Device 004: ID 148f:5370 Ralink Technology, Corp. RT5370 Wireless Adapter
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter
Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
$ ls -lah /dev/input/
total 0
drwxr-xr-x  4 root root     200 Feb 13 19:50 .
drwxr-xr-x 14 root root    3.3K Feb 13 19:50 ..
drwxr-xr-x  2 root root     140 Feb 13 19:50 by-id
drwxr-xr-x  2 root root     140 Feb 13 19:50 by-path
crw-rw----  1 root input 13, 64 Feb 13 19:50 event0
crw-rw----  1 root input 13, 65 Feb 13 19:50 event1
crw-rw----  1 root input 13, 66 Feb 13 19:50 event2
crw-rw----  1 root input 13, 63 Feb 13 19:50 mice
crw-rw----  1 root input 13, 32 Feb 13 19:50 mouse0
crw-rw----  1 root input 13, 33 Feb 13 19:50 mouse1
$ sudo evtest
No device specified, trying to scan all of /dev/input/event*
Available devices:
/dev/input/event0:    Mini Keyboard
/dev/input/event1:    Mini Keyboard
/dev/input/event2:  Valve Software Steam Controller
$ sudo dmesg | grep Valve
[    2.294924] usb 1-1.3: Manufacturer: Valve Software
[    2.305163] input: Valve Software Steam Controller as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:28DE:1142.0001/input/input0
[    2.364566] hid-generic 0003:28DE:1142.0001: input,hidraw0: USB HID v1.11 Keyboard [Valve Software Steam Controller] on usb-3f980000.usb-1.3/input0
[    2.372834] hid-generic 0003:28DE:1142.0002: hiddev0,hidraw1: USB HID v1.11 Device [Valve Software Steam Controller] on usb-3f980000.usb-1.3/input1
[    2.382189] hid-generic 0003:28DE:1142.0003: hiddev0,hidraw2: USB HID v1.11 Device [Valve Software Steam Controller] on usb-3f980000.usb-1.3/input2
[    2.391573] hid-generic 0003:28DE:1142.0004: hiddev0,hidraw3: USB HID v1.11 Device [Valve Software Steam Controller] on usb-3f980000.usb-1.3/input3
[    2.401081] hid-generic 0003:28DE:1142.0005: hiddev0,hidraw4: USB HID v1.11 Device [Valve Software Steam Controller] on usb-3f980000.usb-1.3/input4
[    4.037541] valve-sc 0003:28DE:1142.0004: hidraw3: USB HID v1.11 Device [Valve Software Steam Controller] on usb-3f980000.usb-1.3/input3
[    4.062866] valve-sc 0003:28DE:1142.0002: hidraw1: USB HID v1.11 Device [Valve Software Steam Controller] on usb-3f980000.usb-1.3/input1
[    4.071648] valve-sc 0003:28DE:1142.0005: hidraw4: USB HID v1.11 Device [Valve Software Steam Controller] on usb-3f980000.usb-1.3/input4
[    4.104040] valve-sc 0003:28DE:1142.0003: hidraw2: USB HID v1.11 Device [Valve Software Steam Controller] on usb-3f980000.usb-1.3/input2
[    4.309408] input: Valve Software Steam Controller as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:28DE:1142.0001/input/input3
[    4.365336] valve-sc 0003:28DE:1142.0001: input,hidraw0: USB HID v1.11 Keyboard [Valve Software Steam Controller] on usb-3f980000.usb-1.3/input0

johnjelinek avatar Feb 14 '16 01:02 johnjelinek

It looks like the controller is not connected. Is the light on or did it fail to connect?

cvuchener avatar Feb 14 '16 02:02 cvuchener

The light is on, and it did connect because you still see it in lsusb and evtest (event2)

johnjelinek avatar Feb 14 '16 02:02 johnjelinek

I made the light turn off and back on, but still no worky.

johnjelinek avatar Feb 14 '16 02:02 johnjelinek

I think you're right though, it must not be connecting. When I turn it off, I see the same output from the commands above.

johnjelinek avatar Feb 14 '16 02:02 johnjelinek

I don't know how to get it to re-connect. I've unplugged and re-plugged the wireless usb connections, no progress.

johnjelinek avatar Feb 14 '16 02:02 johnjelinek

If you start usbmon when trying to connect, is there any output? Does it work if you use a wired connection?

cvuchener avatar Feb 14 '16 10:02 cvuchener

hmm ... usbmon seems to not be recommended for raspberry pi: https://www.raspberrypi.org/forums/viewtopic.php?t=26180&p=238972

johnjelinek avatar Feb 14 '16 14:02 johnjelinek

the device also does not show up when I plug in.

johnjelinek avatar Feb 14 '16 14:02 johnjelinek

hmm ... usbmon seems to not be recommended for raspberry pi: https://www.raspberrypi.org/forums/viewtopic.php?t=26180&p=238972

I see nothing against using usbmon on raspberry pi in that link. It is against using usbmon for reading keyboard inputs and I agree with that but here we want to debug usb and it is usbmon intended use. Although I would recommend to use the usbmon command that read the binary /dev/usbmonN files instead of the direct text interface.

the device also does not show up when I plug in.

Nothing special in the logs?

In the dmesg command earlier you used grep Valve. grep is case sensitive you may have missed some messages. Use grep valve-sc or grep -i valve.

cvuchener avatar Feb 14 '16 16:02 cvuchener

I don't have a usbmon command, so I'm rebuilding the kernel to see if that's something I can get. However, when I switch to the userland driver, the controller works as expected, so I don't think the problem is with a disconnection.

johnjelinek avatar Feb 14 '16 20:02 johnjelinek