Patrick, Not sure if that will help you, but here are udev rules I successfully use to connect to 4 USB2Dynamixel devices: # Lower arm motors (wrist, fingers) KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{serial}=="A80077Sk", ATTRS{product}=="FT232R USB UART", SYMLINK+="wubble2LowerArm" # Upper arm motors (shoulder, elbow) KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{serial}=="A80077Sl", ATTRS{product}=="FT232R USB UART", SYMLINK+="wubble2UpperArm" # Head pan and tilt motors KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{serial}=="A600aoO5", ATTRS{product}=="FT232R USB UART", SYMLINK+="wubble2Head" KERNEL=="ttyUSB*", SUBSYSTEMS=="usb", ATTRS{serial}=="A9007DWW", ATTRS{product}=="FT232R USB UART", SYMLINK+="wubble2Head2" Anton On Mon, May 2, 2011 at 5:33 PM, Patrick Goebel wrote: > This is an old thread that also pertains to creating udev rules for various > plug and play devices, particularly USB.  Everything has been working nicely > for a few months under Ubuntu 10.04 but today for the first time I tried to > set up a pair of udev rules for two devices of the same type that differ > only in their serial numbers > > The two devices are a pair of USB2Dynamixel controllers and the rules I > tried are: > > # The USB2Dynamixel on Pi Robot controlling AX-12 servos > SUBSYSTEMS=="usb", KERNEL=="ttyUSB[0-9]*", ATTRS{manufacturer}=="FTDI", > ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A1001a6n", > SYMLINK+="usb2dynamixel12" > > # The other USB2Dynamixel on Pi Robot controlling RX-24 servos > SUBSYSTEMS=="usb", KERNEL=="ttyUSB[0-9]*", ATTRS{manufacturer}=="FTDI", > ATTRS{product}=="FT232R USB UART", ATTRS{serial}=="A600cB3f", > SYMLINK+="usb2dynamixel24" > > The trouble is that whenever I plug in either controller, *both* devices get > created (/dev/usb2dynamixel12 and /dev/usb2dynamixel24) and they both point > to the same /dev/ttyUSB device which is /dev/ttyUSB0 if only one controller > is plugged in and /dev/ttyUSB1 if they are both plugged in. > > When I run > > $ udevadm info -q all --attribute-walk -n /dev/ttyUSB0 > > when one or the other controller is plugged in, then diff the results I get: > > 54c54 > <     ATTRS{devnum}=="7" > --- >>     ATTRS{devnum}=="8" > 61c61 > <     ATTRS{serial}=="A1001a6n" > --- >>     ATTRS{serial}=="A600cB3f" > 72c72 > <     ATTRS{urbnum}=="85" > --- >>     ATTRS{urbnum}=="113" > 99c99 > <     ATTRS{urbnum}=="57" > --- >>     ATTRS{urbnum}=="62" > > so you can see my serial numbers are correct.  Does anyone know how to > handle this situation? > > Thanks! > patrick > > http://www.pirobot.org > > P.S. I have attached the entire output from udevadm when one of the > controllers is plugged in. > > > > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > >