Migrating from udev to procd with identical usb devices

I have some LEDE systems running with udev that i want to upgrade to the latest OpenWrt.
Now i have experienced that udev was removed in 18.x and replaced with procd.

My problem is that I have not found yet how to create rules for hotplugging several FTDI devices.

With udevd i would have rules that are triggered by the serial number of the usb device, for example:
SUBSYSTEMS=="usb", ATTRS{serial}=="AL033AMS", GROUP="users", SYMLINK+="nanoCUL_3"

But i couldn't find that procd rules can use a serial. The maximum individuality of a device is PRODUCT, but this is the same for all my devices. Of course i wouldn't have the problem if i were able to guarantee fixed physical plug ports, but this is the problem, that the devices are moving positions regularly and undeterminable.

How can i get to create the correct symlinks in /dev to the FTDI device by serial again?


1 Like

Yes, thank you, the wiki was the base for my adventure.

The knowledge i got so far is that procd only has about 1/2 the funcionality of udev, but is a bit more flexible in the sense that you have to write the analysis and action scripts yourself.

So i guess i have to write a script to get the event from procd and then analyze everything in relation to the lsusb output to determine the actual serial number of the newly connected usb interface. If correct, i have to follow the respective device path until i find the created /dev/ttyUSB* and link to it to get a deterministic path independent of the used usb port.

Quite a bit work if you are used to just put up a udev rule...and also not for the average user i guess...

1 Like