Hello,
I'm running Arduino-008 on a Linux box (2.6 kernel), and as I have a number of USB serial devices I use local udev rules to manage the device naming. Without udev, I get a number of ttyUSB* devices, and I can't tell which is which (and worse they are renumbered whenever I plug/unplug them).
e.g. part of my /etc/udev/rules.d/10-local.rules
# BitScope DSO
#KERNEL=="ttyUSB*", SYSFS{serial}=="BSCVFO61", SYMLINK+="dso"
KERNEL=="ttyUSB*", SYSFS{serial}=="BSCVFO61", NAME="dso"
# Arduino(s) (only thing to go on is serial nos.)
KERNEL=="ttyUSB*", SYSFS{serial}=="A40014Oo", SYMLINK+="arduino0"
KERNEL=="ttyUSB*", SYSFS{serial}=="A5001afj", SYMLINK+="arduino1"
This sets the device name for my BitScope DSO, which uses an FTDI USB-serial device, to /dev/dso (thus it doesn't get accidentally picked up by arduino); it also creates symlinks from the default ttyUSB* name to arduino0 and arduino1 (no matter what order I plug them in).
~$ ls -l /dev/dso* /dev/ttyUSB* /dev/arduino*
lrwxrwxrwx 1 root root 7 2007-07-09 23:25 /dev/arduino0 -> ttyUSB0
crw-rw---- 1 root dialout 188, 1 2007-07-09 22:57 /dev/dso
crw-rw---- 1 root dialout 188, 0 2007-07-09 23:25 /dev/ttyUSB0
This is all good, except Arduino doesn't notice my symlinks - it only seems to detect devices named ttyS* or ttyUSB*. (I tried using NAME="arduino0" which renames the e.g. /dev/ttyUSB0 device to /dev/arduino0, but that didn't show up at all).
Anyhow, I don't know how arduino-0008 detects candidate serial ports, but under Linux a good way would be to look for character devices with appropriate major + minor device ids, e.g.
http://www.lanana.org/docs/device-list/
Major Minor
4 64-255 UAR serial ports
188 0-255 USB serial
(there are others for multi-port serial cards, etc).
Thanks for the great work,
Ben