mirror of
https://github.com/systemd/systemd.git
synced 2024-11-27 12:13:33 +08:00
873be895ed
xHCI host controller may register two (or more?) USB root hubs for USB 2.0 and USB 3.0, and devices under the hubs may have same ID_PATH. So, to avoid the conflict, let's introduce ID_PATH_WITH_USB_REVISION that includes the USB revision. Closes #19406.
29 lines
1.4 KiB
Plaintext
29 lines
1.4 KiB
Plaintext
# do not edit this file, it will be overwritten on update
|
|
|
|
ACTION=="remove", GOTO="serial_end"
|
|
SUBSYSTEM!="tty", GOTO="serial_end"
|
|
|
|
SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id", IMPORT{builtin}="hwdb --subsystem=usb"
|
|
SUBSYSTEMS=="pci", ENV{ID_BUS}=="", ENV{ID_BUS}="pci", \
|
|
ENV{ID_VENDOR_ID}="$attr{vendor}", ENV{ID_MODEL_ID}="$attr{device}", \
|
|
IMPORT{builtin}="hwdb --subsystem=pci"
|
|
|
|
# /dev/serial/by-path/, /dev/serial/by-id/ for USB devices
|
|
KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="serial_end"
|
|
|
|
SUBSYSTEMS=="usb-serial", ENV{.ID_PORT}="$attr{port_number}"
|
|
|
|
IMPORT{builtin}="path_id"
|
|
ENV{ID_PATH}=="?*", ENV{.ID_PORT}=="", SYMLINK+="serial/by-path/$env{ID_PATH}"
|
|
ENV{ID_PATH_WITH_USB_REVISION}=="?*", ENV{.ID_PORT}=="", SYMLINK+="serial/by-path/$env{ID_PATH_WITH_USB_REVISION}"
|
|
ENV{ID_PATH}=="?*", ENV{.ID_PORT}=="?*", SYMLINK+="serial/by-path/$env{ID_PATH}-port$env{.ID_PORT}"
|
|
ENV{ID_PATH_WITH_USB_REVISION}=="?*", ENV{.ID_PORT}=="?*", SYMLINK+="serial/by-path/$env{ID_PATH_WITH_USB_REVISION}-port$env{.ID_PORT}"
|
|
|
|
ENV{ID_BUS}=="", GOTO="serial_end"
|
|
ENV{ID_SERIAL}=="", GOTO="serial_end"
|
|
ENV{ID_USB_INTERFACE_NUM}=="", GOTO="serial_end"
|
|
ENV{.ID_PORT}=="", SYMLINK+="serial/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$env{ID_USB_INTERFACE_NUM}"
|
|
ENV{.ID_PORT}=="?*", SYMLINK+="serial/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$env{ID_USB_INTERFACE_NUM}-port$env{.ID_PORT}"
|
|
|
|
LABEL="serial_end"
|