Open Hubro opened 4 years ago
I've checked what device the headset is by reconnecting the USB while watching dmesg:
[ +0.076178] usb 1-14.1.5: new full-speed USB device number 23 using xhci_hcd
[ +0.092107] usb 1-14.1.5: New USB device found, idVendor=0bb4, idProduct=2c87, bcdDevice= 2.00
[ +0.000003] usb 1-14.1.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ +0.000002] usb 1-14.1.5: Product: HTC Vive
[ +0.000001] usb 1-14.1.5: Manufacturer: HTC
[ +0.000002] usb 1-14.1.5: SerialNumber: 2070354D504D
[ +0.007260] hid-generic 0003:0BB4:2C87.0010: hiddev2,hidraw6: USB HID v1.11 Device [HTC HTC Vive] on usb-0000:00:14.0-14.1.5/input0
Then I check what udev has done for that device:
➜ sudo udevadm info --name /dev/hidraw6 --query all
P: /devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14.1/1-14.1.5/1-14.1.5:1.0/0003:0BB4:2C87.0010/hidraw/hidraw6
N: hidraw6
L: 0
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-14/1-14.1/1-14.1.5/1-14.1.5:1.0/0003:0BB4:2C87.0010/hidraw/hidraw6
E: DEVNAME=/dev/hidraw6
E: MAJOR=240
E: MINOR=6
E: SUBSYSTEM=hidraw
E: USEC_INITIALIZED=43726343604
E: ID_PATH=pci-0000:00:14.0-usb-0:14.1.5:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_14_1_5_1_0
E: ID_FOR_SEAT=hidraw-pci-0000_00_14_0-usb-0_14_1_5_1_0
E: TAGS=:uaccess:seat:
It says E: TAGS=:uaccess:seat:
on the last line, so I'm guessing that's in order.
But when I launch Steam, the output still says:
steam[127572]: Attempting HID Open HMD:
steam[127572]: CHidDevice: Can't open USB device VID 00000bb4, PID 00002c87 1
steam[127572]: LHR-B6E29A44: Attached device ID not set. No controller input available.
steam[127572]: Attempting HID Open IMU: LHR-B6E29A44
steam[127572]: CHidDevice: Can't open USB device VID 000028de, PID 00002000 LHR-B6E29A44 1
steam[127572]: Attempting HID Open Optical: LHR-B6E29A44
steam[127572]: CHidDevice: Can't open USB device VID 000028de, PID 00002000 LHR-B6E29A44 2
steam[127572]: LHR-B6E29A44: Unable to request config start from device
steam[127572]: Attempting HID Open IMU: 34DD04F7FB
steam[127572]: CHidDevice: Can't open USB device VID 000028de, PID 00002101 34DD04F7FB 1
steam[127572]: Attempting HID Open IMU: 8B58B66863
steam[127572]: CHidDevice: Can't open USB device VID 000028de, PID 00002101 8B58B66863 1
Am I right that +uaccess
should result in an extended attribute on the device? Because if I dump all extended attributes for /dev/hidraw6
I get no output:
➜ sudo getfattr -d /dev/hidraw6
Does this mean there's an issue with my system? Or have I misunderstood something?
I really have no idea if any of these errors are normal and can be ignored, or if they are relevant to the problem...
If I list /dev
it certainly doesn't look like I have permissions to access hidraw6...
➜ ls -lh /dev | grep hidraw
crw------- 1 root root 240, 0 jan. 26 02:09 hidraw0
crw------- 1 root root 240, 1 jan. 26 02:09 hidraw1
crw-rw---- 1 root root 240, 10 jan. 26 13:18 hidraw10
crw-rw---- 1 root root 240, 11 jan. 26 13:18 hidraw11
crw------- 1 root root 240, 2 jan. 26 02:09 hidraw2
crw------- 1 root root 240, 3 jan. 26 02:09 hidraw3
crw------- 1 root root 240, 4 jan. 26 02:09 hidraw4
crw------- 1 root root 240, 5 jan. 26 13:18 hidraw5
crw-rw---- 1 root root 240, 6 jan. 26 13:18 hidraw6
crw------- 1 root root 240, 7 jan. 26 02:09 hidraw7
crw-rw---- 1 root root 240, 8 jan. 26 13:18 hidraw8
crw-rw---- 1 root root 240, 9 jan. 26 13:18 hidraw9
Trying to cat
the HTC Vive device fails with permission denied:
➜ cat /dev/hidraw6
cat: /dev/hidraw6: Permission denied
Doing it as sudo succeeds, as it hangs indefinitely rather than giving a permission error.
So it certainly seems like the udev rules didn't do their job somehow...
Alright, I can confirm this is a device permissions issue, and the udev rules don't appear to be working.
If I run these commands right before launching Steam, I can successfully start SteamVR:
sudo chmod g+rw /dev/hidraw5 /dev/hidraw6 /dev/hidraw8 /dev/hidraw9 /dev/hidraw10 /dev/hidraw11; sudo chgrp tomas /dev/hidraw5 /dev/hidraw6 /dev/hidraw8 /dev/hidraw9 /dev/hidraw10 /dev/hidraw11
This is not a solution though, as the permissions appear to be reverted at regular intervals.
I'm not sure who/what to blame here. If you feel this is an Arch issue, and not a SteamVR issue, feel free to close this bug report.
Unless arch is doing something else, uaccess is advisory. You're getting denied because of the mode, which is also strangely duplicated.
I also am having this same issue. Same output, running Arch Linux. The only difference in the provided output is that my device is identified as hidraw12. I'm able to see my BIOS through the headset and some corrupted graphics when initially launching VR, but then nothing.
Hey so I ran into the same issue and @antonok-edm helped me find this post. I am running with the following configuration:
Ubuntu 19.10 Graphics card: 2700 Super MSI SteamVR Version: 1.10.28
Installed steam through apt.
Steps to fix (temporarily): Step 1: unplug USB from VR to PC Step 2:
ls /dev/hidraw*
Step 3: plug in the USB again Step 4:
ls /dev/hidraw*
Step 5: What ever new devices are showing after plugging them in, give them read and right access and add yourself tot hat group as @Hubro does...
sudo chmod g+rw /dev/hidraw5 /dev/hidraw6 /dev/hidraw8 /dev/hidraw9 /dev/hidraw10 /dev/hidraw11; sudo chgrp <username> /dev/hidraw5 /dev/hidraw6 /dev/hidraw8 /dev/hidraw9 /dev/hidraw10 /dev/hidraw11
Just wanted to note that I am also having this issue with the valve index. Linux Mint 19.3 GPU: Nvidia 1080ti SteamVR Version: 1.10.31
Same problem with my Index Ubuntu 18.04 64bit Vega 64 I had to use the fix by @chitalian which helped a bit.
Now I am stuck at:
Same problem with my Index Ubuntu 18.04 64bit Vega 64 I had to use the fix by @chitalian which helped a bit.
Now I am stuck at:
@MrMinimal Try doing this exactly:
- Quit steamVR (kill all the processes because sometimes it runs in the background). Easy way to do this is reboot
- Turn on VR headset, turn on controllers
- Run
chmod g+rw /dev/hidraw*
- Launch steam then steamvr
- While steamvr is launching run step 3 again
I'm also experiencing this issue as well, only I can't get my HTC vive to connect at all. There's no dmesg output related to the connection regardless of which USB port I use and ls /dev/hidraw* doesn't show any changes. It worked fine in windows previously (before my dog chewed through the cable, forcing me to buy a replacement), so I'm not sure what the deal is.
Ubuntu 20.04 GTX 1070 w/ Nvidia 440.100 drivers
Update: For the sake of troubleshooting I met up with a buddy who has a working HTC vive. After a bit of testing we were able to determine that it was my link box was dead, as my headset worked just fine using his link box but not vice versa. I'm waiting on a replacement now.
I made another udev rules file with the same IDs, enabling uaccess for the /dev/bus/usb
device nodes, at least some of these are necessary for firmware update to work.
How infuriating. Two and a half years later, new VR headset (Vive Pro 2) and new Arch install, exactly the same problem still. The udev rules don't do shit. Setting the permissions manually using chmod
works.
Replying to https://github.com/ValveSoftware/SteamVR-for-Linux/issues/295#issuecomment-599793368
I'm having the same problem on Arch. So for my Quest 2, between step 1 and step 4 no new devices appear, so I'm not sure how to proceed then. Its weird bec I it shows in my connected devices with name and everything, can access its files even SideQuest recognizes it, but ALVR and SteamVR does not
Describe the bug
Steam detects that a VR headset is plugged in, since it prompted me to install the SteamVR software, and it's displaying a "VR" button at the top right of the Steam library window.
When I launch SteamVR, all I get is this window:
To Reproduce Steps to reproduce the behavior:
Expected behavior I would expect SteamVR to work as it does in Windows. If I reboot into Windows, SteamVR works as expected.
System Information (please complete the following information):
Screenshots See above
Additional context
The Steam output includes some errors about failing to read USB devices. This should not be a permissions issue, as the Steam VR udev rules are in place. Here is the Steam log from launch until SteamVR is launched: https://gist.github.com/Hubro/4f879fbb55b8a8e088852783aa8bdbca
Steam system information: https://gist.github.com/Hubro/3f55abe9b82ce83b6c5ed281d49eabaf
Here are the udev rules installed by the Arch multilib steam package:
Note: Commenters who are also experiencing this issue are encouraged to include the "System Information" section in their replies.