If roch_ftdi package is not installed yet:
$ sudo apt-get update $ sudo apt-get install ros-indigo-roch-ftdi
For more detailed information about installation, refer to the http://wiki.ros.org/roch/Tutorials/Installation
If it is the only FTDI device plugged in, simply
$ sudo /opt/ros/indigo/lib/roch_ftdi/ftdi_roch
will do the job, if not - optionally add an argument with the current serial id of the FTDI chip you want to flash to the last command.
If things go bums up, then you will find an eeprom.backup saved in your current directory that you can reflash back to the chip (using ftdi_write_eeprom).
$ sudo /opt/ros/indigo/lib/roch_ftdi/ftdi_write_eeprom -f eeprom.req
$ sudo addgroup $USER dialout $ sudo cp 57-roch.rules /etc/udev/rules.d $ sudo service udev reload $ sudo service udev restart
Logout and log back in to make sure the dialout group permissions take affect.
WILL NOT WORK WITH libftdi 0.17!!!
libftdi needs to be upgraded to work for TYPE_R (can see FT232R on the iInterface variable in lsusb) FTDI chips. To workaround on lucid(Ubuntu 10.04), simply uninstall libftdi and download the sources for version 0.2/0.3 and above (might also work on 0.18 from emails I've read).
Might work out of the box on oneric(Ubuntu 11.10), but I haven't tried.
Make sure you use sudo, if not, it will only retrieve part of the information.
$ lsusb Bus 002 Device 002: ID 0bda:5411 Realtek Semiconductor Corp. Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub Bus 001 Device 002: ID 8087:07dc Intel Corp. Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ... Bus 002 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light // Get the two numbers to the left of the FTDI device (bus and device number) (e.g. 002, 005) $ sudo lsusb -v -s 002:005
Much more detailed information of a currently connected device.
$ ls /dev/ttyUSB* /dev/ttyUSB0 $ sudo udevadm info -a -n /dev/ttyUSB0