How can I write an udev rules to make sure it creates same unique symbolic link for sysfs usb device entry at bootup for USB Hub connected to PC as well as Wireless Mouse connected to this USB hub?
As I want to access USB device information such as Manufacture Name when this device connected to system knowing its Product:Vendor ID
Bus 003 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver [Wireless Mouse]
Bus 003 Device 002: ID 2109:2817 VIA Labs, Inc. USB2.0 Hub [USB Hub]
Based on debugging I can see its created these two files under /sys/bus/usb/devices:
/sys/bus/usb/devices/3-3 [USB Hub]
/sys/bus/usb/devices/3-3.3 [Wireless Mouse]
-> I want to write udev rules to make sure these devices created as following file name:
- test-usb-hub
- test-mouse
->USB Hub connected to PC seeing this results:
user@user:~$ sudo lsusb
Bus 004 Device 003: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 004 Device 002: ID 2109:0817 VIA Labs, Inc. USB3.0 Hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 007: ID 2109:8817 VIA Labs, Inc. USB-C Multiport Adapter
Bus 003 Device 005: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 003 Device 002: ID 2109:2817 VIA Labs, Inc. USB2.0 Hub
Bus 003 Device 006: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 004: ID 0c45:672e Microdia Integrated_Webcam_HD
Bus 003 Device 003: ID 27c6:63ac Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
user@user:~$ sudo lsusb -tv
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/6p, 20000M/x2
ID 1d6b:0003 Linux Foundation 3.0 root hub
|__ Port 1: Dev 2, If 0, Class=Hub, Driver=hub/4p, 5000M
ID 2109:0817 VIA Labs, Inc.
|__ Port 1: Dev 3, If 0, Class=Vendor Specific Class, Driver=r8152, 5000M
ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/16p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
|__ Port 3: Dev 2, If 0, Class=Hub, Driver=hub/5p, 480M
ID 2109:2817 VIA Labs, Inc.
|__ Port 5: Dev 7, If 0, Class=, Driver=, 480M
ID 2109:8817 VIA Labs, Inc.
|__ Port 3: Dev 5, If 1, Class=Human Interface Device, Driver=usbhid, 12M
ID 046d:c52b Logitech, Inc. Unifying Receiver
|__ Port 3: Dev 5, If 2, Class=Human Interface Device, Driver=usbhid, 12M
ID 046d:c52b Logitech, Inc. Unifying Receiver
|__ Port 3: Dev 5, If 0, Class=Human Interface Device, Driver=usbhid, 12M
ID 046d:c52b Logitech, Inc. Unifying Receiver
|__ Port 10: Dev 3, If 0, Class=Vendor Specific Class, Driver=, 12M
ID 27c6:63ac Shenzhen Goodix Technology Co.,Ltd.
|__ Port 11: Dev 4, If 0, Class=Video, Driver=uvcvideo, 480M
ID 0c45:672e Microdia
|__ Port 11: Dev 4, If 1, Class=Video, Driver=uvcvideo, 480M
ID 0c45:672e Microdia
|__ Port 11: Dev 4, If 2, Class=Video, Driver=uvcvideo, 480M
ID 0c45:672e Microdia
|__ Port 11: Dev 4, If 3, Class=Video, Driver=uvcvideo, 480M
ID 0c45:672e Microdia
|__ Port 14: Dev 6, If 0, Class=Wireless, Driver=btusb, 12M
ID 8087:0026 Intel Corp. AX201 Bluetooth
|__ Port 14: Dev 6, If 1, Class=Wireless, Driver=btusb, 12M
ID 8087:0026 Intel Corp. AX201 Bluetooth
/: Bus 02.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/4p, 10000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/1p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
1.206888] usb 3-3: new high-speed USB device number 2 using xhci_hcd
[ 1.360833] usb 3-3: New USB device found, idVendor=2109, idProduct=2817, bcdDevice= 5.33
[ 1.360836] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.360836] usb 3-3: Product: USB2.0 Hub
[ 1.360837] usb 3-3: Manufacturer: VIA Labs, Inc.
[ 1.361893] hub 3-3:1.0: USB hub found
[ 1.362055] hub 3-3:1.0: 5 ports detected
[ 1.486991] usb 4-1: new SuperSpeed USB device number 2 using xhci_hcd
[ 1.508910] usb 4-1: New USB device found, idVendor=2109, idProduct=0817, bcdDevice= 5.33
[ 1.508919] usb 4-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 1.508924] usb 4-1: Product: USB3.0 Hub
[ 1.508928] usb 4-1: Manufacturer: VIA Labs, Inc.
[ 1.509712] hub 4-1:1.0: USB hub found
[ 1.509836] hub 4-1:1.0: 4 ports detected
[ 1.634901] usb 3-10: new full-speed USB device number 3 using xhci_hcd
[ 1.702483] ish-hid {33AECD58-B679-4E54-9BD9-A04D34F0C226}: [hid-ish]: enum_devices_done OK, num_hid_devices=2
[ 1.705934] input: PS/2 Generic Mouse as /devices/platform/i8042/serio1/input/input4
[ 1.712225] hid-generic 001F:8087:0AC2.0002: hidraw1: SENSOR HUB HID v2.00 Device [hid-ishtp 8087:0AC2] on
[ 1.717299] hid-generic 001F:8087:0AC2.0003: hidraw2: SENSOR HUB HID v2.00 Device [hid-ishtp 8087:0AC2] on
[ 1.784022] usb 3-10: New USB device found, idVendor=27c6, idProduct=63ac, bcdDevice= 1.00
[ 1.784025] usb 3-10: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 1.784026] usb 3-10: Product: Goodix USB2.0 MISC
[ 1.784026] usb 3-10: Manufacturer: Goodix Technology Co., Ltd.
[ 1.784027] usb 3-10: SerialNumber: UID7752D5FE_XXXX_MOC_B0
[ 1.910878] usb 3-11: new high-speed USB device number 4 using xhci_hcd
[ 2.073347] usb 3-11: New USB device found, idVendor=0c45, idProduct=672e, bcdDevice= 9.11
[ 2.073348] usb 3-11: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[ 2.073349] usb 3-11: Product: Integrated_Webcam_HD
[ 2.073350] usb 3-11: Manufacturer: CN07JX4K8LG001AGB5XZA00
[ 2.190964] usb 3-3.3: new full-speed USB device number 5 using xhci_hcd
[ 2.342508] usb 3-3.3: New USB device found, idVendor=046d, idProduct=c52b, bcdDevice=12.11
[ 2.342510] usb 3-3.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 2.342511] usb 3-3.3: Product: USB Receiver
[ 2.342512] usb 3-3.3: Manufacturer: Logitech
[ 2.419131] usb 4-1.1: new SuperSpeed USB device number 3 using xhci_hcd
[ 2.440686] usb 4-1.1: New USB device found, idVendor=0bda, idProduct=8153, bcdDevice=30.00
[ 2.440688] usb 4-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=6
[ 2.440689] usb 4-1.1: Product: USB 10/100/1000 LAN
[ 2.440690] usb 4-1.1: Manufacturer: CMI
[ 2.440691] usb 4-1.1: SerialNumber: 000001
[ 2.445502] usbcore: registered new device driver r8152-cfgselector
[ 2.566867] usb 3-14: new full-speed USB device number 6 using xhci_hcd
[ 2.716630] usb 3-14: New USB device found, idVendor=8087, idProduct=0026, bcdDevice= 0.02
[ 2.716637] usb 3-14: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 2.794969] usb 3-3.5: new high-speed USB device number 7 using xhci_hcd
[ 2.895956] usb 3-3.5: New USB device found, idVendor=2109, idProduct=8817, bcdDevice= 0.01
[ 2.895958] usb 3-3.5: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 2.895959] usb 3-3.5: Product: USB-C Multiport Adapter
[ 2.895960] usb 3-3.5: Manufacturer: VIA Labs, Inc.
[ 2.895960] usb 3-3.5: SerialNumber: 0000000000000001
user@user:~/sys/bus/usb/devices$ ls
1-0:1.0 3-0:1.0 3-10:1.0 3-11:1.0 3-11:1.2 3-14 3-14:1.1 3-3:1.0 3-3.3:1.0 3-3.3:1.2 3-3.5:1.0 4-1 4-1:1.0 usb1 usb3
2-0:1.0 3-10 3-11 3-11:1.1 3-11:1.3 3-14:1.0 3-3 3-3.3 3-3.3:1.1 3-3.5 4-0:1.0 4-1.1 4-1.1:1.0 usb2 usb4
user@user:~$ udevadm info --attribute-walk --path=/sys/bus/usb/devices/3-3
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/pci0000:00/0000:00:14.0/usb3/3-3':
KERNEL=="3-3"
SUBSYSTEM=="usb"
DRIVER=="usb"
ATTR{busnum}=="3"
ATTR{configuration}==""
ATTR{devnum}=="2"
ATTR{devpath}=="3"
ATTR{idProduct}=="2817"
ATTR{idVendor}=="2109"
ATTR{ltm_capable}=="no"
ATTR{manufacturer}=="VIA Labs, Inc.
user@user:~$ sudo udevadm info --attribute-walk --path=/sys/bus/usb/devices/3-3.3"
Udevadm info starts with the device specified by the devpath and then
walks up the chain of parent devices. It prints for every device
found, all possible attributes in the udev rules key format.
A rule to match, can be composed by the attributes of the device
and the attributes from one single parent device.
looking at device '/devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3':
KERNEL=="3-3.3"
SUBSYSTEM=="usb"
DRIVER=="usb"
ATTR{busnum}=="3"
ATTR{configuration}=="RQR12.11_B0032"
ATTR{devnum}=="5"
ATTR{devpath}=="3.3"
ATTR{idProduct}=="c52b"
ATTR{idVendor}=="046d"
ATTR{ltm_capable}=="no"
ATTR{manufacturer}=="Logitech"
ATTR{maxchild}=="0"
looking at parent device '/devices/pci0000:00/0000:00:14.0/usb3/3-3':
KERNELS=="3-3"
SUBSYSTEMS=="usb"
DRIVERS=="usb"
ATTRS{busnum}=="3"
ATTRS{configuration}==""
ATTRS{devnum}=="2"
ATTRS{devpath}=="3"
ATTRS{idProduct}=="2817"
ATTRS{idVendor}=="2109"
ATTRS{ltm_capable}=="no"
ATTRS{manufacturer}=="VIA Labs, Inc.
chirag@chirag:/sys/bus/usb/devices/3-3$ ls
3-3:1.0 authorized bConfigurationValue bDeviceSubClass bMaxPower busnum dev driver idProduct manufacturer port quirks rx_lanes tx_lanes version
3-3.3 avoid_reset_quirk bDeviceClass bmAttributes bNumConfigurations configuration devnum ep_00 idVendor maxchild power removable speed uevent
3-3.5 bcdDevice bDeviceProtocol bMaxPacketSize0 bNumInterfaces descriptors devpath firmware_node ltm_capable physical_location product remove subsystem urbnum
chirag@chirag:/sys/bus/usb/devices/3-3$
chirag@chirag:/sys/bus/usb/devices/3-3$ cat manufacturer
VIA Labs, Inc.
user@user:/sys/bus/usb/devices$ cd 3-3.3
user@user:/sys/bus/usb/devices/3-3.3$
user@user:/sys/bus/usb/devices/3-3.3$ ls
3-3.3:1.0 authorized bConfigurationValue bDeviceSubClass bMaxPower busnum dev driver idVendor maxchild product remove subsystem urbnum
3-3.3:1.1 avoid_reset_quirk bDeviceClass bmAttributes bNumConfigurations configuration devnum ep_00 ltm_capable port quirks rx_lanes tx_lanes version
3-3.3:1.2 bcdDevice bDeviceProtocol bMaxPacketSize0 bNumInterfaces descriptors devpath idProduct manufacturer power removable speed uevent wakeup
user@user:/sys/bus/usb/devices/3-3.3$
user@user:/sys/bus/usb/devices/3-3.3$ cat manufacturer
Logitech
user@user:/sys/bus/usb/devices/3-3.3$
-> I have created following udev rule file for testing but it creates character device symbolic link /dev/bus/usb/
-> this doesn't help me as I want to access device properties which is part of /sys/bus/usb/devices not /dev/bus/usb
-> Or Do I have to write a driver to creates same sysfs entry every bootup for interested devices based on Product and Vendor ID ?
user@user:/etc/udev/rules.d$ cat 80-local.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="2109", ATTRS{idProduct}=="2817", ACTION=="add", MODE="0660", SYMLINK+="test-usb-hub"
SUBSYSTEM=="usb", ATTRS{idVendor}=="046d", ATTRS{idProduct}=="c52b", ACTION=="add", MODE="0660", SYMLINK+="test-mouse"
user@user:/etc/udev/rules.d$
user@user:/run/udev/links$ ls -all | grep test
drwxr-xr-x 2 root root 60 Jan 13 22:09 test-mouse
drwxr-xr-x 2 root root 100 Jan 13 22:09 test-usb-hub
user@user::/run/udev/links/test-usb-hub$ ls -all
lrwxrwxrwx 1 root root 22 Jan 13 22:09 c189:257 -> 0:/dev/bus/usb/003/002
lrwxrwxrwx 1 root root 22 Jan 13 22:09 c189:260 -> 0:/dev/bus/usb/003/005
lrwxrwxrwx 1 root root 22 Jan 13 22:09 c189:262 -> 0:/dev/bus/usb/003/007
user@user::/run/udev/links/test-mouse$ ls -all
lrwxrwxrwx 1 root root 22 Jan 13 22:09 c189:260 -> 0:/dev/bus/usb/003/005
chirag@chirag:/run/udev/links/test-mouse$
chirag@chirag:/dev/bus/usb/003$ ls -all
crw-rw-r-- 1 root root 189, 256 Jan 13 22:09 001
crw-rw---- 1 root root 189, 257 Jan 13 22:09 002
crw-rw-r-- 1 root root 189, 258 Jan 13 22:15 003
crw-rw-r-- 1 root root 189, 259 Jan 13 22:15 004
crw-rw---- 1 root root 189, 260 Jan 13 22:09 005
crw-rw-r-- 1 root root 189, 261 Jan 13 22:09 006
crw-rw---- 1 root root 189, 262 Jan 13 22:15 007
chirag@chirag:/dev/bus/usb/003$
Added further details:
user@user:~$ sudo udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent
KERNEL[180.055467] add /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
KERNEL[180.056529] change /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
KERNEL[180.056819] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
KERNEL[180.181210] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
KERNEL[180.181290] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
KERNEL[180.208548] add /devices/pci0000:00/0000:00:14.0/usb4/4-1 (usb)
KERNEL[180.209615] change /devices/pci0000:00/0000:00:14.0/usb4/4-1 (usb)
KERNEL[180.209679] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0 (usb)
KERNEL[180.211411] bind /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0 (usb)
KERNEL[180.211449] bind /devices/pci0000:00/0000:00:14.0/usb4/4-1 (usb)
UDEV [180.753575] add /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
UDEV [180.899066] add /devices/pci0000:00/0000:00:14.0/usb4/4-1 (usb)
KERNEL[180.928310] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3 (usb)
KERNEL[180.936324] change /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3 (usb)
KERNEL[180.936837] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.0 (usb)
KERNEL[180.937979] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.0/0003:046D:C52B.0008 (hid)
KERNEL[180.938122] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.0 (usb)
KERNEL[180.938184] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.1 (usb)
KERNEL[180.940171] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.1/0003:046D:C52B.0009 (hid)
KERNEL[180.940359] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.1 (usb)
KERNEL[180.940409] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2 (usb)
KERNEL[180.942075] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A (hid)
KERNEL[180.942227] add /class/usbmisc (class)
KERNEL[180.942320] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/usbmisc/hiddev0 (usbmisc)
KERNEL[180.942395] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/hidraw/hidraw1 (hidraw)
UDEV [180.943867] add /class/usbmisc (class)
KERNEL[181.030823] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
KERNEL[181.031955] change /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
KERNEL[181.032276] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:2.0 (usb)
KERNEL[181.032615] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:2.1 (usb)
KERNEL[181.032782] remove /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:2.0 (usb)
KERNEL[181.032842] remove /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:2.1 (usb)
KERNEL[181.032964] change /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
KERNEL[181.035211] change /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
KERNEL[181.035313] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0 (usb)
KERNEL[181.060307] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A (hid)
KERNEL[181.060384] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2 (usb)
KERNEL[181.060436] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3 (usb)
KERNEL[181.063480] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B (hid)
KERNEL[181.112743] change /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
KERNEL[181.138717] change /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
KERNEL[181.142231] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/wakeup/wakeup73 (wakeup)
KERNEL[181.197423] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0/net/eth0 (net)
KERNEL[181.197466] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0/net/eth0/queues/rx-0 (queues)
KERNEL[181.197483] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0/net/eth0/queues/tx-0 (queues)
KERNEL[181.197647] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/wakeup/wakeup74 (wakeup)
KERNEL[181.197718] remove /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/wakeup/wakeup74 (wakeup)
KERNEL[181.197798] bind /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0 (usb)
KERNEL[181.197928] bind /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
UDEV [181.371290] change /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
UDEV [181.526988] change /devices/pci0000:00/0000:00:14.0/usb4/4-1 (usb)
UDEV [181.554403] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
UDEV [181.706645] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0 (usb)
UDEV [181.733968] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3:1.0 (usb)
UDEV [181.886826] bind /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1:1.0 (usb)
UDEV [181.914908] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3 (usb)
KERNEL[181.947696] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/power_supply/hidpp_battery_1/wakeup74 (wakeup)
KERNEL[181.947739] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/power_supply/hidpp_battery_1/hwmon9 (hwmon)
UDEV [182.070883] bind /devices/pci0000:00/0000:00:14.0/usb4/4-1 (usb)
UDEV [182.122662] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3 (usb)
UDEV [182.254125] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
UDEV [182.286313] change /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3 (usb)
KERNEL[182.321565] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/input/input33 (input)
KERNEL[182.321633] change /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/power_supply/hidpp_battery_1 (power_supply)
KERNEL[182.321752] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/input/input33/mouse3 (input)
KERNEL[182.321949] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/input/input33/event17 (input)
KERNEL[182.322128] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/hidraw/hidraw2 (hidraw)
KERNEL[182.322209] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B (hid)
KERNEL[182.332408] change /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/power_supply/hidpp_battery_1 (power_supply)
UDEV [182.439143] change /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
UDEV [182.470682] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.0 (usb)
UDEV [182.470964] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.1 (usb)
UDEV [182.473022] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.0/0003:046D:C52B.0008 (hid)
UDEV [182.473156] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.1/0003:046D:C52B.0009 (hid)
UDEV [182.489759] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:2.1 (usb)
UDEV [182.490128] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2 (usb)
UDEV [182.490273] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:2.0 (usb)
UDEV [182.491687] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A (hid)
UDEV [182.493120] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/usbmisc/hiddev0 (usbmisc)
UDEV [182.494731] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/hidraw/hidraw1 (hidraw)
UDEV [182.495957] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A (hid)
UDEV [182.518414] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.1 (usb)
UDEV [182.518706] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.0 (usb)
UDEV [182.518735] remove /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:2.1 (usb)
UDEV [182.669672] remove /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:2.0 (usb)
UDEV [182.698476] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2 (usb)
UDEV [182.854639] change /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
UDEV [182.882522] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3 (usb)
UDEV [182.884753] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B (hid)
UDEV [182.886974] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/power_supply/hidpp_battery_1/wakeup74 (wakeup)
UDEV [182.887427] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/power_supply/hidpp_battery_1/hwmon9 (hwmon)
UDEV [182.888404] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/input/input33 (input)
UDEV [182.888641] change /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/power_supply/hidpp_battery_1 (power_supply)
UDEV [182.890233] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/hidraw/hidraw2 (hidraw)
UDEV [182.911469] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/input/input33/mouse3 (input)
UDEV [183.003196] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/input/input33/event17 (input)
UDEV [183.005116] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B (hid)
UDEV [183.007110] change /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.3/3-3.3:1.2/0003:046D:C52B.000A/0003:046D:4051.000B/power_supply/hidpp_battery_1 (power_supply)
UDEV [183.036583] change /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
UDEV [183.388758] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0 (usb)
UDEV [183.732577] change /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
UDEV [184.072667] change /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
UDEV [184.074718] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/wakeup/wakeup74 (wakeup)
UDEV [184.075168] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/wakeup/wakeup73 (wakeup)
UDEV [184.075834] remove /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/wakeup/wakeup74 (wakeup)
KERNEL[184.076478] move /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0/net/enx5c857e3d381a (net)
UDEV [184.112051] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0/net/enx5c857e3d381a (net)
UDEV [184.114335] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0/net/eth0/queues/rx-0 (queues)
UDEV [184.114360] add /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0/net/eth0/queues/tx-0 (queues)
UDEV [184.448368] bind /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0 (usb)
UDEV [184.804901] bind /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1 (usb)
UDEV [184.808484] move /devices/pci0000:00/0000:00:14.0/usb4/4-1/4-1.1/4-1.1:1.0/net/enx5c857e3d381a (net)
KERNEL[184.922188] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.5 (usb)
KERNEL[184.922264] change /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.5 (usb)
KERNEL[184.922640] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.5/3-3.5:1.0 (usb)
KERNEL[184.922703] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.5 (usb)
UDEV [185.274607] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.5 (usb)
UDEV [185.620823] change /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.5 (usb)
UDEV [185.968571] add /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.5/3-3.5:1.0 (usb)
UDEV [186.308524] bind /devices/pci0000:00/0000:00:14.0/usb3/3-3/3-3.5 (usb)
user@user:~$ sudo lsusb
Bus 004 Device 005: ID 0bda:8153 Realtek Semiconductor Corp. RTL8153 Gigabit Ethernet Adapter
Bus 004 Device 004: ID 2109:0817 VIA Labs, Inc. USB3.0 Hub
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 010: ID 2109:8817 VIA Labs, Inc. USB-C Multiport Adapter
Bus 003 Device 009: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 003 Device 008: ID 2109:2817 VIA Labs, Inc. USB2.0 Hub
Bus 003 Device 004: ID 8087:0026 Intel Corp. AX201 Bluetooth
Bus 003 Device 003: ID 0c45:672e Microdia Integrated_Webcam_HD
Bus 003 Device 002: ID 27c6:63ac Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub