Menu

linux_device_names_howto Log in to Edit

Udev Rules for Consistent Device Naming

This entire page applies only to Linux systems.

Determine the manufacturer and product description strings reported by your devices

lsusb -v

Create a new file 10-fldigi.rules in the directory /etc/udev/rules.d and enter rules which use device identification strings to create a consistent device name:

#Silicon Labs West Mountain Radio (WMR) RIGblaster Plug & Play

SUBSYSTEM=="tty", SYSFS{manufacturer}=="Silicon Labs", SYSFS{product}=="WMR RIGblaster plug & play",   TEST!="/dev/rigblaster", SYMLINK+="rigblaster"

SUBSYSTEM=="tty", SYSFS{manufacturer}=="Silicon Labs", SYSFS{product}=="WMR RIGblaster plug & play",   TEST=="/dev/rigblaster", SYMLINK+="rigblaster%n"

# Prolific Technology Inc. USB-Serial Controller

SUBSYSTEM=="tty", SYSFS{manufacturer}=="Prolific Technology Inc.", SYSFS{product}=="USB-Serial Controller", TEST!="/dev/usbserial", SYMLINK+="usbserial"

SUBSYSTEM=="tty", SYSFS{manufacturer}=="Prolific Technology Inc.", SYSFS{product}=="USB-Serial Controller", TEST=="/dev/usbserial", SYMLINK+="usbserial%n"

The double udev rules support multiple devices being plugged in and only the first device instance having the unadorned device name.

If you have been using 10-fldigi.rules, udev versions 148 and later emit boot-time warnings which look like:

SYSFS{}= will be removed in a future udev version, please use ATTR{}= to match the event device
ATTRS{}= to match a parent device, in 10-fldigi.rules

For udev versions 148 or later (openSUSE 11.4 has version 166), remove 10-fldigi.rules from /etc/udev/rules.d, then use these rules in 91-fldigi.rules:

SUBSYSTEM!="tty",GOTO="fldigi_end"

# 10c4:814a Cygnal Integrated Products, Inc. - West Mountain Radio (WMR) RIGblaster Plug & Play
ATTRS{idVendor}=="10c4", ATTRS{product}=="WMR RIGblaster plug & play", TEST!="/dev/rigblaster", SYMLINK+="rigblaster"
ATTRS{idVendor}=="10c4", ATTRS{product}=="WMR RIGblaster plug & play", TEST=="/dev/rigblaster", SYMLINK+="rigblaster%n"

# 067b:2303 Prolific Technology Inc. USB-Serial Controller
ATTRS{idVendor}=="067b", ATTRS{product}=="USB-Serial Controller", TEST!="/dev/usbserial", SYMLINK+="usbserial"
ATTRS{idVendor}=="067b", ATTRS{product}=="USB-Serial Controller", TEST=="/dev/usbserial", SYMLINK+="usbserial%n"

LABEL="fldigi_end"

N.B. To determine attribute strings for your devices use:

udevadm info -q path -n ttyUSB[x] --attribute-walk

(where [x]==0,1,2,etc.)


Related

Wiki: how_to

Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.