Udev SYMLINK not applying

I’ve got a USB device which exposes 2 CDC-ACM endpoints and one USB-DFU endpoint. I want to ensure all endpoints can be accessed by the logged-in user, and additionally that the CDC-ACM endpoints’ TTY devices show up as /dev/ttyCUST# for some number #. I don’t care if they still show up as /dev/ttyACM#, just as long as they also end up as /dev/ttyCUST#.

I’ve got the following UDEV rules in my configuration:

  services.udev.extraRules = ''
    SUBSYSTEM=="tty", ATTR{idVendor}=="36dc", ATTR{idProduct}=="0005", MODE:="0660", TAG+="uaccess", SYMLINK+="ttyCUST%n"
    SUBSYSTEM=="usb", ATTR{idVendor}=="36dc", ATTR{idProduct}=="0005", MODE:="0660", TAG+="uaccess", ATTR{power/wakeup}="enabled"
  '';

Udevadm info attribute walk up to the hub:

  looking at device '/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0/tty/ttyACM0':
    KERNEL=="ttyACM0"
    SUBSYSTEM=="tty"
    DRIVER==""
    ATTR{power/async}=="disabled"
    ATTR{power/control}=="auto"
    ATTR{power/runtime_active_kids}=="0"
    ATTR{power/runtime_active_time}=="0"
    ATTR{power/runtime_enabled}=="disabled"
    ATTR{power/runtime_status}=="unsupported"
    ATTR{power/runtime_suspended_time}=="0"
    ATTR{power/runtime_usage}=="0"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0':
    KERNELS=="3-6.4.3.3.2:1.0"
    SUBSYSTEMS=="usb"
    DRIVERS=="cdc_acm"
    ATTRS{authorized}=="1"
    ATTRS{bAlternateSetting}==" 0"
    ATTRS{bInterfaceClass}=="02"
    ATTRS{bInterfaceNumber}=="00"
    ATTRS{bInterfaceProtocol}=="00"
    ATTRS{bInterfaceSubClass}=="02"
    ATTRS{bNumEndpoints}=="01"
    ATTRS{bmCapabilities}=="2"
    ATTRS{iad_bFirstInterface}=="00"
    ATTRS{iad_bFunctionClass}=="02"
    ATTRS{iad_bFunctionProtocol}=="00"
    ATTRS{iad_bFunctionSubClass}=="02"
    ATTRS{iad_bInterfaceCount}=="02"
    ATTRS{power/async}=="enabled"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_enabled}=="enabled"
    ATTRS{power/runtime_status}=="suspended"
    ATTRS{power/runtime_usage}=="0"
    ATTRS{supports_autosuspend}=="1"

  looking at parent device '/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2':
    KERNELS=="3-6.4.3.3.2"
    SUBSYSTEMS=="usb"
    DRIVERS=="usb"
    ATTRS{authorized}=="1"
    ATTRS{avoid_reset_quirk}=="0"
    ATTRS{bConfigurationValue}=="1"
    ATTRS{bDeviceClass}=="ef"
    ATTRS{bDeviceProtocol}=="01"
    ATTRS{bDeviceSubClass}=="02"
    ATTRS{bMaxPacketSize0}=="64"
    ATTRS{bMaxPower}=="100mA"
    ATTRS{bNumConfigurations}=="1"
    ATTRS{bNumInterfaces}==" 5"
    ATTRS{bcdDevice}=="0304"
    ATTRS{bmAttributes}=="e0"
    ATTRS{busnum}=="3"
    ATTRS{configuration}==""
    ATTRS{devnum}=="28"
    ATTRS{devpath}=="6.4.3.3.2"
    ATTRS{idProduct}=="0005"
    ATTRS{idVendor}=="36dc"
    ATTRS{ltm_capable}=="no"
    ATTRS{manufacturer}=="Motive Tech Inc."
    ATTRS{maxchild}=="0"
    ATTRS{power/active_duration}=="51872"
    ATTRS{power/async}=="enabled"
    ATTRS{power/autosuspend}=="2"
    ATTRS{power/autosuspend_delay_ms}=="2000"
    ATTRS{power/connected_duration}=="51872"
    ATTRS{power/control}=="on"
    ATTRS{power/level}=="on"
    ATTRS{power/persist}=="1"
    ATTRS{power/runtime_active_kids}=="0"
    ATTRS{power/runtime_active_time}=="51697"
    ATTRS{power/runtime_enabled}=="forbidden"
    ATTRS{power/runtime_status}=="active"
    ATTRS{power/runtime_suspended_time}=="0"
    ATTRS{power/runtime_usage}=="1"
    ATTRS{power/wakeup}=="enabled"
    ATTRS{power/wakeup_abort_count}=="0"
    ATTRS{power/wakeup_active}=="0"
    ATTRS{power/wakeup_active_count}=="0"
    ATTRS{power/wakeup_count}=="0"
    ATTRS{power/wakeup_expire_count}=="0"
    ATTRS{power/wakeup_last_time_ms}=="0"
    ATTRS{power/wakeup_max_time_ms}=="0"
    ATTRS{power/wakeup_total_time_ms}=="0"
    ATTRS{product}=="cust_dev,0.8.0-dev"
    ATTRS{quirks}=="0x0"
    ATTRS{removable}=="unknown"
    ATTRS{remove}=="(not readable)"
    ATTRS{rx_lanes}=="1"
    ATTRS{serial}=="00000000000A0034"
    ATTRS{speed}=="12"
    ATTRS{tx_lanes}=="1"
    ATTRS{urbnum}=="14"
    ATTRS{version}==" 2.00"

Udevadm monitor of plugging the device in:

KERNEL[11020.462325] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2 (usb)
KERNEL[11020.482771] change   /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2 (usb)
KERNEL[11020.482854] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0 (usb)
KERNEL[11020.483214] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0/tty/ttyACM0 (tty)
KERNEL[11020.483263] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0 (usb)
KERNEL[11020.483302] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.1 (usb)
KERNEL[11020.483336] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.1 (usb)
KERNEL[11020.483363] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.2 (usb)
KERNEL[11020.483393] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.3 (usb)
KERNEL[11020.483674] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.3/tty/ttyACM1 (tty)
KERNEL[11020.483739] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.3 (usb)
KERNEL[11020.483782] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.4 (usb)
KERNEL[11020.483819] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.4 (usb)
KERNEL[11020.483864] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2 (usb)
KERNEL[11020.489583] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/wakeup/wakeup55 (wakeup)
UDEV  [11020.489841] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2 (usb)
KERNEL[11020.491849] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/wakeup/wakeup63 (wakeup)
KERNEL[11020.491867] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/wakeup/wakeup63 (wakeup)
UDEV  [11020.492185] change   /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2 (usb)
UDEV  [11020.493439] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0 (usb)
UDEV  [11020.493638] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.4 (usb)
UDEV  [11020.493744] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.3 (usb)
UDEV  [11020.494030] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.2 (usb)
UDEV  [11020.494113] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.1 (usb)
UDEV  [11020.495361] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.1 (usb)
UDEV  [11020.495867] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.4 (usb)
UDEV  [11020.496049] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0/tty/ttyACM0 (tty)
UDEV  [11020.496650] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.3/tty/ttyACM1 (tty)
UDEV  [11020.497480] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.3 (usb)
UDEV  [11020.497599] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0 (usb)
KERNEL[11020.500307] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/wakeup/wakeup63 (wakeup)
KERNEL[11020.500319] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/wakeup/wakeup63 (wakeup)
UDEV  [11020.500478] bind     /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2 (usb)
UDEV  [11020.501385] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/wakeup/wakeup55 (wakeup)
UDEV  [11020.501411] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/wakeup/wakeup63 (wakeup)
UDEV  [11020.501846] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/wakeup/wakeup63 (wakeup)
UDEV  [11020.502419] add      /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/wakeup/wakeup63 (wakeup)
UDEV  [11020.502828] remove   /devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/wakeup/wakeup63 (wakeup)

Since the wakeup calls show I believe the rule is being run.

The configuration does add the rule to /etc/udev/rules.d/99-local.rules as expected, but no /dev/ttyCUST# symlink is created. What do I need to get the symlink to work?

Seems like 60-serial.rules gets applied, but 99-local.rules doesn’t.

❯ sudo udevadm test -a add $(udevadm info -q path -n /dev/ttyACM0)
This program is for debugging only, it does not run any program
specified by a RUN key. It may show incorrect results, because
some values may be different, or not available at a simulation run.

Trying to open "/etc/udev/hwdb.bin"...
=== trie on-disk ===
tool version:          254
file size:        12273114 bytes
header size             80 bytes
strings            2541602 bytes
nodes              9731432 bytes
Loading kernel module index.
Found cgroup2 on /sys/fs/cgroup/, full unified hierarchy
Found container virtualization none.
Using default interface naming scheme 'v253'.
Parsed configuration file "/nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/systemd/network/99-default.link"
Created link configuration context.
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/00-path.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/01-md-raid-creating.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/10-dm.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/11-dm-lvm.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/13-dm-disk.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/40-usb-media-players.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/49-stlinkv1.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/49-stlinkv2-1.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/49-stlinkv2.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/49-stlinkv3.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/50-udev-default.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-autosuspend.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-block.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-cdrom_id.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-dmi-id.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-drm.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-evdev.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-fido-id.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-infiniband.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-input-id.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-persistent-alsa.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-persistent-input.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-persistent-storage-tape.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-persistent-storage.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-persistent-v4l.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-sensor.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-serial.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/63-md-raid-arrays.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/64-btrfs.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/64-md-raid-assembly.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/69-bcache.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/69-dm-lvm.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/69-libmtp.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/69-md-clustered-confirm-device.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/70-camera.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/70-joystick.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/70-memory.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/70-mouse.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/70-power-switch.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/70-printers.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/70-touchpad.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/70-uaccess.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/71-seat.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/73-seat-late.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/75-net-description.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/75-probe_mtd.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-broadmobi-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-cinterion-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-dell-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-dlink-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-ericsson-mbm.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-fibocom-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-foxconn-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-gosuncn-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-haier-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-huawei-net-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-linktop-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-longcheer-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-mtk-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-nokia-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-qcom-soc.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-quectel-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-sierra.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-simtech-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-telit-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-tplink-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-ublox-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-x22x-port-types.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/77-mm-zte-port-types.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/78-sound-card.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/80-drivers.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/80-libinput-device-groups.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/80-mm-candidate.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/80-net-setup-link.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/80-udisks2.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/81-net-dhcp.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/84-nm-drivers.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/85-nm-unmanaged.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/90-iocost.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/90-libinput-fuzz-override.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/90-nm-thunderbolt.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/90-pipewire-alsa.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/90-vconsole.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/95-dm-notify.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/95-upower-hid.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/95-upower-wup.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/97-hid2hci.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/98-ipv6-privacy-extensions.rules
Skipping empty file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/99-ipv6-privacy-extensions.rules
Reading rules file: /nix/store/p520zq0z6sd42z7xigr0vx824jgkj1is-udev-rules/99-local.rules
Reading rules file: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/99-systemd.rules
sd-device: Failed to chase symlinks in "/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0/tty/ttyACM0".
ttyACM0: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/50-udev-default.rules:38 GROUP 27
ttyACM0: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-serial.rules:6 Importing properties from results of builtin command 'usb_id'
3-6.4.3.3.2:1.0: if_class:2 protocol:0
ttyACM0: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-serial.rules:6 Importing properties from results of builtin command 'hwdb --subsystem=usb'
ttyACM0: hwdb modalias key: "usb:v36DCp0005d0304dcEFdsc02dp01ic02isc02ip00in00"
ttyACM0: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-serial.rules:16 Importing properties from results of builtin command 'path_id'
ttyACM0: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-serial.rules:17 Added SYMLINK 'serial/by-path/pci-0000:00:14.0-usb-0:6.4.3.3.2:1.0'
ttyACM0: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-serial.rules:18 Added SYMLINK 'serial/by-path/pci-0000:00:14.0-usbv2-0:6.4.3.3.2:1.0'
ttyACM0: /nix/store/vapnrxrw3b21c7ji61bmnbzl2cj1vl96-systemd-254.3/lib/udev/rules.d/60-serial.rules:25 Added SYMLINK 'serial/by-id/usb-Motive_Tech_Inc._cust_dev_0.8.0-dev_36305005005A0034-if00'
ttyACM0: Preserve permissions of /dev/ttyACM0, uid=0, gid=27, mode=0660
ttyACM0: Successfully created symlink '/dev/char/166:0' to '/dev/ttyACM0'
ttyACM0: sd-device: Created db file '/run/udev/data/c166:0' for '/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0/tty/ttyACM0'
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb3/3-6/3-6.4/3-6.4.3/3-6.4.3.3/3-6.4.3.3.2/3-6.4.3.3.2:1.0/tty/ttyACM0
DEVNAME=/dev/ttyACM0
MAJOR=166
MINOR=0
ACTION=add
PATH=/nix/store/bvsd4b3lsigvp5653pp0rj42cg36f07k-udev-path/bin:/nix/store/bvsd4b3lsigvp5653pp0rj42cg36f07k-udev-path/sbin
SUBSYSTEM=tty
TAGS=:systemd:
ID_BUS=usb
ID_MODEL=cust_dev_0.8.0-dev
ID_MODEL_ENC=cust_dev\x2c0.8.0-dev
ID_MODEL_ID=0005
ID_SERIAL=Motive_Tech_Inc._cust_dev_0.8.0-dev_36305005005A0034
ID_SERIAL_SHORT=36305005005A0034
ID_VENDOR=Motive_Tech_Inc.
ID_VENDOR_ENC=Motive\x20Tech\x20Inc.
ID_VENDOR_ID=36dc
ID_REVISION=0304
ID_TYPE=generic
ID_USB_MODEL=cust_dev_0.8.0-dev
ID_USB_MODEL_ENC=cust_dev\x2c0.8.0-dev
ID_USB_MODEL_ID=0005
ID_USB_SERIAL=Motive_Tech_Inc._cust_dev_0.8.0-dev_36305005005A0034
ID_USB_SERIAL_SHORT=36305005005A0034
ID_USB_VENDOR=Motive_Tech_Inc.
ID_USB_VENDOR_ENC=Motive\x20Tech\x20Inc.
ID_USB_VENDOR_ID=36dc
ID_USB_REVISION=0304
ID_USB_TYPE=generic
ID_USB_INTERFACES=:020200:0a0000:fe0101:
ID_USB_INTERFACE_NUM=00
ID_USB_DRIVER=cdc_acm
ID_USB_CLASS_FROM_DATABASE=Miscellaneous Device
ID_USB_PROTOCOL_FROM_DATABASE=Interface Association
ID_PATH_WITH_USB_REVISION=pci-0000:00:14.0-usbv2-0:6.4.3.3.2:1.0
ID_PATH=pci-0000:00:14.0-usb-0:6.4.3.3.2:1.0
ID_PATH_TAG=pci-0000_00_14_0-usb-0_6_4_3_3_2_1_0
DEVLINKS=/dev/serial/by-id/usb-Motive_Tech_Inc._cust_dev_0.8.0-dev_36305005005A0034-if00 /dev/serial/by-path/pci-0000:00:14.0-usb-0:6.4.3.3.2:1.0 /dev/serial/by-path/pci-0000:00:14.0-usbv2-0:6.4.3.3.2:1.0
ID_MM_CANDIDATE=1
CURRENT_TAGS=:systemd:
USEC_INITIALIZED=22747111062
Unload kernel module index.
Unloaded