From 5dda8a874bd41f0aae04e7d8e7deca25a0757234 Mon Sep 17 00:00:00 2001 From: Vadim Mikhailov Date: Fri, 6 Jun 2025 22:36:54 -0700 Subject: [PATCH] Add hub|usb udev recipe to README as well Related to #618. --- README.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 94a7e07..6dbe664 100644 --- a/README.md +++ b/README.md @@ -254,23 +254,23 @@ To fix USB permissions, first run `sudo uhubctl` and note all `vid:pid` for hubs Then, add udev rules like below to file `/etc/udev/rules.d/52-usb.rules` (replace `2001` with your hub vendor id, or completely remove `ATTR{idVendor}` filter to allow any USB hub access): - SUBSYSTEM=="usb", DRIVER=="usb", MODE="0666", ATTR{idVendor}=="2001" + SUBSYSTEM=="usb", DRIVER=="hub|usb", MODE="0666", ATTR{idVendor}=="2001" # Linux 6.0 or later (its ok to have this block present for older Linux kernels): - SUBSYSTEM=="usb", DRIVER=="usb", \ + SUBSYSTEM=="usb", DRIVER=="hub|usb", \ RUN="/bin/sh -c \"chmod -f 666 $sys$devpath/*port*/disable || true\"" Note that for USB3 hubs, some hubs use different vendor ID for USB2 vs USB3 components of the same chip, and both need permissions to make uhubctl work properly. E.g. for Raspberry Pi 4B, you need to add these 2 lines (or remove idVendor filter): - SUBSYSTEM=="usb", DRIVER=="usb", MODE="0666", ATTR{idVendor}=="2109" - SUBSYSTEM=="usb", DRIVER=="usb", MODE="0666", ATTR{idVendor}=="1d6b" + SUBSYSTEM=="usb", DRIVER=="hub|usb", MODE="0666", ATTR{idVendor}=="2109" + SUBSYSTEM=="usb", DRIVER=="hub|usb", MODE="0666", ATTR{idVendor}=="1d6b" If you don't like wide open mode `0666`, you can restrict access by group like this: - SUBSYSTEM=="usb", DRIVER=="usb", MODE="0664", GROUP="dialout" + SUBSYSTEM=="usb", DRIVER=="hub|usb", MODE="0664", GROUP="dialout" # Linux 6.0 or later (its ok to have this block present for older Linux kernels): - SUBSYSTEM=="usb", DRIVER=="usb", \ + SUBSYSTEM=="usb", DRIVER=="hub|usb", \ RUN+="/bin/sh -c \"chown -f root:dialout $sys$devpath/*port*/disable || true\"" \ RUN+="/bin/sh -c \"chmod -f 660 $sys$devpath/*port*/disable || true\""