You are not logged in.

#1 2021-05-02 08:53:51

MilanKnizek
Member
Registered: 2005-12-13
Posts: 88

"TAG+="systemd" exists in udev rule yet no device unit file is created

Hi,

I used to have a "device" dependency in a service unit file, which stopped to work several weeks ago (not sure when exactly).

Arch Wiki and systemd man page describes that it should still work and that e.g. block devices should create a dev-sda2.device:
Using units
systemd.device — Device unit configuration

Yet, I do not have any dev-*.device unit running:

# systemctl list-units | grep ' dev-' | cut -d" " -f3
dev-hugepages.mount
dev-mqueue.mount
dev-mapper-vg01\x2dlv_swap.swap

And all seem to be prefixed sys-*.device and show a full path now:

# systemctl list-units | grep ' sys-' | cut -d" " -f3                                                                                
sys-devices-pci0000:00-0000:00:1c.0-0000:01:00.0-net-eno1.device                                                                                 
sys-devices-pci0000:00-0000:00:1c.0-0000:01:00.1-net-eno2.device                                                                                 
sys-devices-pci0000:00-0000:00:1d.0-usb2-2\x2d1-2\x2d1.1-2\x2d1.1:1.0-tty-ttyACM0.device                                                         
sys-devices-pci0000:00-0000:00:1d.0-usb2-2\x2d1-2\x2d1.2-2\x2d1.2:1.0-ttyUSB0-tty-ttyUSB0.device                                                 
sys-devices-pci0000:00-0000:00:1f.2-ata2-host1-target1:0:0-1:0:0:0-block-sda-sda1.device                                                         
sys-devices-pci0000:00-0000:00:1f.2-ata2-host1-target1:0:0-1:0:0:0-block-sda-sda2.device  
...

Further, I have a udev rule for a Z-Wave device:

UBSYSTEM=="tty", SUBSYSTEMS=="usb", ATTRS{idProduct}=="0200", ATTRS{idVendor}=="0658", SYMLINK+="zwave-stick", TAG+="systemd"

Man page says that systemd-udev.service should be running. In Arch, there is systemd-udevd.service, which hopefully is the one needed:

# systemctl list-units | grep -e 'udev' |  cut -d" " -f3
systemd-udev-trigger.service
systemd-udevd.service
systemd-udevd-control.socket
systemd-udevd-kernel.socket

After boot, the device zwave-stick exists, yet as per above listing there is no "dev-zwave-stick.device" nor "sys-zwave-stick.device" created and there is only a device unit for sys-*-ttyACM0.

# ls -la /dev/zwa*
lrwxrwxrwx 1 root root 7 Apr 25 22:33 /dev/zwave-stick -> ttyACM0

Any idea how to let systemd create the dev-zwave-stick.device unit?


--
Milan Knizek
http://knizek.net

Offline

Board footer

Powered by FluxBB