In further news, we're trying to nail a particular device down to a particular USB socket. For whatever reason, udev was coming up with different KERNEL names on different boots. After a productive day yesterday, we have a rule like
SUBSYSTEM=="usb", KERNELS=="2-1:1.0", DRIVERS=="ftdi_sio", NAME="ourown/tty"
The application opens a connection to /dev/ourown/tty , and gets the device consistently.
We had been dealing with the permissions thing by putting our user into the dialout group which is automatically assigned. It's inflexible, but it works as long as we don't need actual ttys on the system. Good to know about GROUP= .
Also the commands udevinfo, which provides the magic names and values to use in rules, and udevtest which lets you test rule files without booting.
Mel.