chiark / gitweb /
rules: serial - fix path_id call
[elogind.git] / rules / rules.d / 60-persistent-serial.rules
index 6d09506dec2a0b5dea94b93c8c3ee8bcd890dc52..351b3856fdb999a001dd2da274ad1341272ba06e 100644 (file)
@@ -2,18 +2,19 @@
 
 ACTION!="add|change", GOTO="persistent_serial_end"
 SUBSYSTEM!="tty", GOTO="persistent_serial_end"
-KERNEL!="ttyUSB[0-9]*", GOTO="persistent_serial_end"
+KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="persistent_serial_end"
 
 SUBSYSTEMS=="usb-serial", ENV{ID_PORT}="$attr{port_number}"
-ENV{ID_PORT}=="", GOTO="persistent_serial_end"
 
-IMPORT="path_id"
-ENV{ID_PATH}=="?*", SYMLINK+="serial/by-path/$env{ID_PATH}-port$env{ID_PORT}"
+IMPORT="path_id %p"
+ENV{ID_PATH}=="?*", ENV{ID_PORT}=="", SYMLINK+="serial/by-path/$env{ID_PATH}"
+ENV{ID_PATH}=="?*", ENV{ID_PORT}=="?*", SYMLINK+="serial/by-path/$env{ID_PATH}-port$env{ID_PORT}"
 
 IMPORT="usb_id --export %p"
 ENV{ID_SERIAL}=="", GOTO="persistent_serial_end"
 SUBSYSTEMS=="usb", ENV{ID_IFACE}="$attr{bInterfaceNumber}"
 ENV{ID_IFACE}=="", GOTO="persistent_serial_end"
-SYMLINK+="serial/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$env{ID_IFACE}-port$env{ID_PORT}"
+ENV{ID_PORT}=="", SYMLINK+="serial/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$env{ID_IFACE}"
+ENV{ID_PORT}=="?*", SYMLINK+="serial/by-id/$env{ID_BUS}-$env{ID_SERIAL}-if$env{ID_IFACE}-port$env{ID_PORT}"
 
 LABEL="persistent_serial_end"