How to create symbolic link for sysfs device entry with unique name using udev rule in Linux for USB device?

116 views Asked by At

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

0

There are 0 answers