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.)