LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Steam Controller is Not Detected in steam but works as mouse and keyboard. (https://www.linuxquestions.org/questions/slackware-14/steam-controller-is-not-detected-in-steam-but-works-as-mouse-and-keyboard-4175671462/)

v32itas 03-16-2020 06:36 PM

Steam Controller is Not Detected in steam but works as mouse and keyboard.
 
So I'm facing the same issue as explained here https://www.linuxquestions.org/quest...de-4175657131/

Except that solution does not seem to work.
Here's my dmesg output.

Code:

[ 5425.244809] usb 1-9: USB disconnect, device number 37
[ 5426.530965] usb 1-9: new full-speed USB device number 38 using xhci_hcd
[ 5426.696323] usb 1-9: New USB device found, idVendor=28de, idProduct=1102
[ 5426.696327] usb 1-9: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 5426.696329] usb 1-9: Product: Wired Controller
[ 5426.696331] usb 1-9: Manufacturer: Valve Software
[ 5426.696529] usb 1-9: ep 0x81 - rounding interval to 64 microframes, ep desc says 80 microframes
[ 5426.696534] usb 1-9: ep 0x82 - rounding interval to 32 microframes, ep desc says 48 microframes
[ 5426.696539] usb 1-9: ep 0x83 - rounding interval to 32 microframes, ep desc says 48 microframes
[ 5426.697743] input: Valve Software Wired Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.0/0003:28DE:1102.002E/input/input84546
[ 5426.748549] hid-generic 0003:28DE:1102.002E: input,hidraw4: USB HID v1.11 Keyboard [Valve Software Wired Controller] on usb-0000:00:14.0-9/input0
[ 5426.749253] input: Valve Software Wired Controller as /devices/pci0000:00/0000:00:14.0/usb1/1-9/1-9:1.1/0003:28DE:1102.002F/input/input84547
[ 5426.749450] hid-generic 0003:28DE:1102.002F: input,hidraw6: USB HID v1.11 Mouse [Valve Software Wired Controller] on usb-0000:00:14.0-9/input1
[ 5426.750357] hid-generic 0003:28DE:1102.0030: hiddev0,hidraw7: USB HID v1.11 Device [Valve Software Wired Controller] on usb-0000:00:14.0-9/input2

The udev rules seems to be adjusted in slackbuild accordingly to that previous issue. I've added myself to both input and plugdev groups. I also upgraded controllers firmware manually and then it was possible to do that via steam.

But controller just works as mouse and keyboard, X Y A B buttons does work in the Big picture mode correctly. But controller is not detected, not configurable and basically works entirely wrong in games, (well as a mouse and a bit of a keyboard).

P.S. Having no issues with cheap variant of PS3 controller.

RadicalDreamer 03-16-2020 07:57 PM

I use a PS2 controller! The only advice I have is to plug it in another USB port. Sometimes Steam doesn't recognize my controller and I have to plug it into another USB port. I don't have a Steam Controller so I can't help.

TarFile 03-16-2020 09:33 PM

Is this on 14.2 or current.

It does not work on 14.2 for me but I just built that system as current was nuking too many things and I got tired of fixing them after each update.

It does not seem to work on current either. To be clear the steam does not see the controller on 14.2 on current it sees it but it acts like yours. Thinks its a mouse. Steam sees it and tries to use it but it does not show up in the game. Like in Trine it only sees the keyboard and mouse. It even says it loaded the config that I selected for it. But no joy.

Not sure about other games.

TarFile 03-16-2020 09:41 PM

OK it works fine in Serious Sam BFE. Not sure why it did not work on Trine as is says it has full controller support.

Not sure whats going on here but SS BFE does have an official Steam Controller config.

SO maybe you have to build the config to match the game I had to do that for a lot of games but I usually use an XBox one controller or a Xbox 360 controller never got the hang of the Steam controller.

dugan 03-16-2020 10:10 PM

Putting the following in /etc/udev/rules.d/99-steamcontroller.rules didn't work for you on -current? It definitely worked for me, although that was admittedly a while ago.

Code:

KERNEL=="uinput", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"
You've confirmed (by rebooting or whatever) that the udev rule is actually taking effect, right?

v32itas 03-17-2020 01:29 AM

Quote:

Originally Posted by TarFile (Post 6101348)
Is this on 14.2 or current.

It does not work on 14.2 for me but I just built that system as current was nuking too many things and I got tired of fixing them after each update.

It does not seem to work on current either. To be clear the steam does not see the controller on 14.2 on current it sees it but it acts like yours. Thinks its a mouse. Steam sees it and tries to use it but it does not show up in the game. Like in Trine it only sees the keyboard and mouse. It even says it loaded the config that I selected for it. But no joy.

Not sure about other games.

Oh I forgot to mention it's 14.2 I'm using.

Quote:

Originally Posted by dugan (Post 6101353)
Putting the following in /etc/udev/rules.d/99-steamcontroller.rules didn't work for you on -current? It definitely worked for me, although that was admittedly a while ago.

there are these rules in /lib/udev/rules.d/60-steam-input.rules installed with steam slackbuild

Code:

KERNEL=="uinput", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"
You've confirmed (by rebooting or whatever) that the udev rule is actually taking effect, right?

Steam slackbuild installs these rules to /lib/udev/rules.d/60-steam-input.rules

Code:

# Valve USB devices
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0660", TAG+="uaccess"

# Steam Controller udev write access
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput" GROUP="plugdev"

# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0660", TAG+="uaccess"

# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0660", TAG+="uaccess"

# DualShock 4 over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0660", TAG+="uaccess"

# DualShock 4 wireless adapter over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0660", TAG+="uaccess"

# DualShock 4 Slim over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0660", TAG+="uaccess"

# DualShock 4 over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0660", TAG+="uaccess"

# DualShock 4 Slim over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0660", TAG+="uaccess"

# Nintendo Switch Pro Controller over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0660", TAG+="uaccess"

# Nintendo Switch Pro Controller over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*057E:2009*", MODE="0660", TAG+="uaccess"

# Nacon PS4 Revolution Pro Controller
KERNEL=="hidraw*", ATTRS{idVendor}=="146b", ATTRS{idProduct}=="0d01", MODE="0660", TAG+="uaccess"

# Razer Raiju PS4 Controller
KERNEL=="hidraw*", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="1000", MODE="0660", TAG+="uaccess"

# Razer Panthera Arcade Stick
KERNEL=="hidraw*", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="0401", MODE="0660", TAG+="uaccess"

# Mad Catz - Street Fighter V Arcade FightPad PRO
KERNEL=="hidraw*", ATTRS{idVendor}=="0738", ATTRS{idProduct}=="8250", MODE="0660", TAG+="uaccess"

# Mad Catz - Street Fighter V Arcade FightStick TE S+
KERNEL=="hidraw*", ATTRS{idVendor}=="0738", ATTRS{idProduct}=="8384", MODE="0660", TAG+="uaccess"

# EMiO Elite Controller for PS4
KERNEL=="hidraw*", ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="1cf6", MODE="0660", TAG+="uaccess"

# HORI RAP4
KERNEL=="hidraw*", ATTRS{idVendor}=="0f0d", ATTRS{idProduct}=="008a", MODE="0660", TAG+="uaccess"

# HORIPAD 4 FPS
KERNEL=="hidraw*", ATTRS{idVendor}=="0f0d", ATTRS{idProduct}=="0055", MODE="0660", TAG+="uaccess"

# HORIPAD 4 FPS Plus
KERNEL=="hidraw*", ATTRS{idVendor}=="0f0d", ATTRS{idProduct}=="0066", MODE="0660", TAG+="uaccess"

# Armor Armor 3 Pad PS4
KERNEL=="hidraw*", ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="0e10", MODE="0660", TAG+="uaccess"

# STRIKEPAD PS4 Grip Add-on
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c5", MODE="0660", TAG+="uaccess"

# NVIDIA Shield Portable (2013 - NVIDIA_Controller_v01.01 - In-Home Streaming only)
KERNEL=="hidraw*", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7203", MODE="0660", TAG+="uaccess", ENV{ID_INPUT_JOYSTICK}="1", ENV{ID_INPUT_MOUSE}=""

# NVIDIA Shield Controller (2015 - NVIDIA_Controller_v01.03 over USB hidraw)
KERNEL=="hidraw*", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7210", MODE="0660", TAG+="uaccess", ENV{ID_INPUT_JOYSTICK}="1", ENV{ID_INPUT_MOUSE}=""

# NVIDIA Shield Controller (2017 - NVIDIA_Controller_v01.04 over bluetooth hidraw)
KERNEL=="hidraw*", KERNELS=="*0955:7214*", MODE="0660", TAG+="uaccess"


v32itas 03-17-2020 01:39 AM

Quote:

Originally Posted by dugan (Post 6101353)
Putting the following in /etc/udev/rules.d/99-steamcontroller.rules didn't work for you on -current? It definitely worked for me, although that was admittedly a while ago.

Code:

KERNEL=="uinput", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"
You've confirmed (by rebooting or whatever) that the udev rule is actually taking effect, right?

Actually. adding this single line into a new file /etc/udev/rules.d/99-steamcontroller.rules worked, now the controller is detected.

But I also have these first lines edited in /lib/udev/rules.d/60-steam-input.rules

Code:

# Valve USB devices
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666", TAG+="uaccess"

# Steam Controller udev write access
KERNEL=="uinput", SUBSYSTEM=="misc", TAG+="uaccess", OPTIONS+="static_node=uinput" GROUP="plugdev"

# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666", TAG+="uaccess"

# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666", TAG+="uaccess"


EDIT


So instead of adding a separate line to /etc/udev/rules.d/99-steamcontroller.rules

I just mashed everything to /lib/udev/rules.d/60-steam-input.rules


Code:

# Valve USB devices
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666", TAG+="uaccess"

# Steam Controller udev write access
KERNEL=="uinput", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"

# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666", TAG+="uaccess"

# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666", TAG+="uaccess"

and my whole /lib/udev/rules.d/60-steam-input.rules looks like this

Code:

# Valve USB devices
SUBSYSTEM=="usb", ATTRS{idVendor}=="28de", MODE="0666", TAG+="uaccess"

# Steam Controller udev write access
KERNEL=="uinput", MODE="0660", GROUP="input", OPTIONS+="static_node=uinput"

# Valve HID devices over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="28de", MODE="0666", TAG+="uaccess"

# Valve HID devices over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*28DE:*", MODE="0666", TAG+="uaccess"

# DualShock 4 over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c4", MODE="0660", TAG+="uaccess"

# DualShock 4 wireless adapter over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ba0", MODE="0660", TAG+="uaccess"

# DualShock 4 Slim over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="09cc", MODE="0660", TAG+="uaccess"

# DualShock 4 over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:05C4*", MODE="0660", TAG+="uaccess"

# DualShock 4 Slim over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*054C:09CC*", MODE="0660", TAG+="uaccess"

# Nintendo Switch Pro Controller over USB hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="057e", ATTRS{idProduct}=="2009", MODE="0660", TAG+="uaccess"

# Nintendo Switch Pro Controller over bluetooth hidraw
KERNEL=="hidraw*", KERNELS=="*057E:2009*", MODE="0660", TAG+="uaccess"

# Nacon PS4 Revolution Pro Controller
KERNEL=="hidraw*", ATTRS{idVendor}=="146b", ATTRS{idProduct}=="0d01", MODE="0660", TAG+="uaccess"

# Razer Raiju PS4 Controller
KERNEL=="hidraw*", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="1000", MODE="0660", TAG+="uaccess"

# Razer Panthera Arcade Stick
KERNEL=="hidraw*", ATTRS{idVendor}=="1532", ATTRS{idProduct}=="0401", MODE="0660", TAG+="uaccess"

# Mad Catz - Street Fighter V Arcade FightPad PRO
KERNEL=="hidraw*", ATTRS{idVendor}=="0738", ATTRS{idProduct}=="8250", MODE="0660", TAG+="uaccess"

# Mad Catz - Street Fighter V Arcade FightStick TE S+
KERNEL=="hidraw*", ATTRS{idVendor}=="0738", ATTRS{idProduct}=="8384", MODE="0660", TAG+="uaccess"

# EMiO Elite Controller for PS4
KERNEL=="hidraw*", ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="1cf6", MODE="0660", TAG+="uaccess"

# HORI RAP4
KERNEL=="hidraw*", ATTRS{idVendor}=="0f0d", ATTRS{idProduct}=="008a", MODE="0660", TAG+="uaccess"

# HORIPAD 4 FPS
KERNEL=="hidraw*", ATTRS{idVendor}=="0f0d", ATTRS{idProduct}=="0055", MODE="0660", TAG+="uaccess"

# HORIPAD 4 FPS Plus
KERNEL=="hidraw*", ATTRS{idVendor}=="0f0d", ATTRS{idProduct}=="0066", MODE="0660", TAG+="uaccess"

# Armor Armor 3 Pad PS4
KERNEL=="hidraw*", ATTRS{idVendor}=="0c12", ATTRS{idProduct}=="0e10", MODE="0660", TAG+="uaccess"

# STRIKEPAD PS4 Grip Add-on
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="05c5", MODE="0660", TAG+="uaccess"

# NVIDIA Shield Portable (2013 - NVIDIA_Controller_v01.01 - In-Home Streaming only)
KERNEL=="hidraw*", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7203", MODE="0660", TAG+="uaccess", ENV{ID_INPUT_JOYSTICK}="1", ENV{ID_INPUT_MOUSE}=""

# NVIDIA Shield Controller (2015 - NVIDIA_Controller_v01.03 over USB hidraw)
KERNEL=="hidraw*", ATTRS{idVendor}=="0955", ATTRS{idProduct}=="7210", MODE="0660", TAG+="uaccess", ENV{ID_INPUT_JOYSTICK}="1", ENV{ID_INPUT_MOUSE}=""

# NVIDIA Shield Controller (2017 - NVIDIA_Controller_v01.04 over bluetooth hidraw)
KERNEL=="hidraw*", KERNELS=="*0955:7214*", MODE="0660", TAG+="uaccess"


dugan 03-17-2020 07:59 AM

When you get on -current, you can take everything out except the line I just gave you.

Your other lines are to ensure that your user account can read the device nodes. Well, -current ships with that problem solved.

bassmadrigal 03-17-2020 10:52 AM

Quote:

Originally Posted by v32itas (Post 6101389)
But I also have these first lines edited in /lib/udev/rules.d/60-steam-input.rules

Just so you're aware, the files in /lib/udev/rules.d/ aren't supposed to be edited by the end user. If you need to make changes, you're supposed to copy the file to /etc/udev/rules.d/ and then make any changes you need to make. If you have 2 files with the same name, one in /lib/udev/rules.d/ and one in /etc/udev/rules.d/, the one in /etc/ will always take precedence and will be the one that is used.

The reason behind this is the files in /lib/udev/rules.d/ can be updated at any time and you would lose all your changes. We haven't seen any udev updates in 14.2 since it was released (so far, but I suppose it's always possible), but if you ever run -current, it could be updated at any time and you'd lose all your changes.

Just some food for thought :)

v32itas 03-17-2020 01:09 PM

Quote:

Originally Posted by bassmadrigal (Post 6101561)
Just so you're aware, the files in /lib/udev/rules.d/ aren't supposed to be edited by the end user. If you need to make changes, you're supposed to copy the file to /etc/udev/rules.d/ and then make any changes you need to make. If you have 2 files with the same name, one in /lib/udev/rules.d/ and one in /etc/udev/rules.d/, the one in /etc/ will always take precedence and will be the one that is used.

The reason behind this is the files in /lib/udev/rules.d/ can be updated at any time and you would lose all your changes. We haven't seen any udev updates in 14.2 since it was released (so far, but I suppose it's always possible), but if you ever run -current, it could be updated at any time and you'd lose all your changes.

Just some food for thought :)

I did not know that. Thanks for explaining. By the way do you need to reboot after editing udev rules or there is some other way for them to take effect ? I never really had any business with it in linux up to the steam controller.

dugan 03-17-2020 01:41 PM

Code:

udevadm control --reload
From:
https://wiki.archlinux.org/index.php...ding_new_rules


All times are GMT -5. The time now is 09:02 AM.