I want to use a udev rule to assign a name (or symlink) accroding to the physical usb ports regardless of the machine that is there. The "why" is below in the tl;dr.

Here's what's in my 10-local.rules for my raspberry pi. (EDIT: Current rules)

KERNELS=="1-1.2:1.0", SUBSYSTEM=="tty", SYMLINK+="Row1_Machine1"

I tried doing a SYMLINK but that didn't work either.

Edit: Ran Udevadm Test and it yelled at me and said that it can't rename it. Fine. So I switched back to SYMLINK and it gave the following permission denied error when I ran the test:

Invalid inotify descriptor    
ttyACM0: Failed to create symlink '/dev/Row1_Machine1.tmp-c166:0' to 'ttyACM0': Permission denied

tl;dr: I'm running four instances of octoprint servers to control my 3D printers which are connected by USB. From my workstation I want to be able to see which row, and what machine (spot 1, 2 3, or 4) I'm accessing. I cannot do attributes of the specific machines because they get swapped out all the time when they break down. I want the cord that runs to row 1, space 1 to ALWAYS report as that name regardless of what machine is swapped into that location.

1 Answer 1


As it turns out those settings worked, I just needed to restart. Now that the symlink is made I just need to see why octoprint won't show it on the list of available. Off to the next crisis! Thank you lurking viewers!

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .