Page MenuHomeVyOS Platform

udev rule incorrectly skipping ttyACM usb serial devices
Closed, ResolvedPublicBUG

Description

The VyOS udev rules /etc/udev/rules.d/90-vyos-serial.rules for creating persistent names for USB serial interfaces does not match ttyACM serial devices. This leads to USB-based serial interfaces using CDC ACM (e.g., ttyACM0) not being registered under /dev/serial/by-bus/ and therefore not usable as serial console eg: set system console device usb0b4p1.0.

The fix is to modify the pattern match to match both ttyUSB and ttyACM devices:

KERNEL!="ttyUSB[0-9]*|ttyACM[0-9]*", GOTO="serial_end"

This ensures that both ttyUSB* and ttyACM* serial devices are properly recognised, preventing them from being excluded by udev.

This was accidentally broken in https://github.com/vyos/vyos-1x/commit/fa07bc3b87be142572124a2ce5c077cb42272418

PR: https://github.com/vyos/vyos-1x/pull/4264

Details

Version
VyOS 1.5-rolling-202412160007
Is it a breaking change?
Perfectly compatible
Issue type
Bug (incorrect behavior)

Event Timeline

It appears the udev rule was originally based on https://github.com/systemd/systemd/blob/main/rules.d/60-serial.rules#L12 which has the correct rule per this PR, as mentioned above the rule was broken in https://github.com/vyos/vyos-1x/commit/fa07bc3b87be142572124a2ce5c077cb42272418

Firefishy claimed this task.

The fix has now been merged.