ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

No /dev/ttyUSB0 with iRobot serial->usb cable

asked 2011-10-07 11:57:43 -0600

coolbluemeta gravatar image

Hi,

Just trying to get started with the turtlebot bringup on an ASUS 1215N-PU27. I am using an iRobot serial to usb converter cable to connect the Create, but I am not seeing any corresponding USB device (there is no /dev/ttyUSB0).

Running "roslaunch turtlebot_bringup minimal.launch" eventually generates the following error(s),

[ERROR] [WallTime: 1318029892.652336] Failed to open port /dev/ttyUSB0.  Please make sure the Create cable is plugged into the computer.

I don't recognize one of the entries in dmesg, or the lsusb listing as the usb cable/device, but I could certainly be wrong.

turtlebot@turtlebot-nb:~$ lsusb
Bus 005 Device 002: ID 13d3:3315 IMC Networks 
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 008: ID 045e:02b0 Microsoft Corp. 
Bus 001 Device 007: ID 0409:005a NEC Corp. HighSpeed Hub
Bus 001 Device 004: ID 13d3:5702 IMC Networks 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
turtlebot@turtlebot-nb:~$

My situation sounds like cant-access-turtlebot-through-ttyusb0 but I am not even getting that far.

Any help, or guidance would be much appreciated.

Thanks

edit retag flag offensive close merge delete

Comments

Do you get an ouput to dmesg when you plug and unplug the cable?
tfoote gravatar image tfoote  ( 2011-10-07 12:36:01 -0600 )edit
Does /dev/ttyUSB0 even exist when the cable is plugged in?
Mac gravatar image Mac  ( 2011-10-08 02:57:29 -0600 )edit

4 Answers

Sort by ยป oldest newest most voted
2

answered 2011-10-08 00:59:51 -0600

noonv gravatar image

may be you should check cable?

edit flag offensive delete link more

Comments

It may very well be the cable. I just tried basic create command via realterm and that did not work either.
coolbluemeta gravatar image coolbluemeta  ( 2011-10-08 12:32:57 -0600 )edit
It was the cable. I ordered a "Pluggable USB to RS-232 DB9 Serial Adapter" and that works fine with an older Create DB9-Serial cable.
coolbluemeta gravatar image coolbluemeta  ( 2011-10-16 10:14:48 -0600 )edit
3

answered 2011-10-11 09:45:29 -0600

lucascoelho gravatar image

Turn on the iRobot and plug the cable and run lsusb. Then unplug the cable and run lsusb again. Your device should be the one that disappears on that list. The number before the ":" is the vendorID, and the second number is the productID. If that worked, you must follow this answer.

edit flag offensive delete link more
1

answered 2013-07-10 08:51:02 -0600

newe1344 gravatar image

updated 2013-07-10 08:52:34 -0600

You could check the permissions of ttyUSB0

ls -la /dev/

If the perms are not 666 or a+rw then you need to boot with usb that has permission to access. Basically you need to create a new rule in /etc/udev/rules.d:

Create a new file with your specific permissions (higher numbers override existing rules):

cd /etc/udev/rules.d/
touch 80-turtlebot.rules
sudo pico 80-turtlebot.rules

Add the following lines for every usb device:

#serial usb
SUBSYSTEM=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", MODE="0666", GROUP="turtlebot"

To find the product id and vendor id, do:

lsusb -v

I think if you just do regular lsusb its vendor:product. Shift + PgUp to view previous parts of the cli.

finally reboot

sudo reboot
edit flag offensive delete link more
1

answered 2013-08-02 17:05:01 -0600

lifelonglearner gravatar image

updated 2013-08-03 04:23:45 -0600

I am trying to give step wise complete answer....... that are following

1. run lsusb command and check that on which port your serial to USB converter device is connected ...........
$ lsusb

you will get following output that will confirm two things i. whether device is connected or not. ii. if connected then on which port.
keep in mind some time its /dev/ttyACM0 port on which it will be connected

Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub <br>
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub <br>
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub <br>
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub <br>
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub <br>
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub <br>
Bus 001 Device 003: ID 138a:003d Validity Sensors, Inc. <br>
Bus 001 Device 004: ID 04f2:b230 Chicony Electronics Co., Ltd Integrated HP HD Webcam <br>
Bus 002 Device 003: ID 0a5c:21e1 Broadcom Corp. <br>

2. if device is not connected that means the device definition is not set at system level, then use the following .....

#serial usb 
SUBSYSTEM=="usb", ATTRS{idProduct}=="6001", ATTRS{idVendor}=="0403", MODE="0666", GROUP="turtlebot"

this defines the device identity at system level to get it identified .... and then restart system and connect the connector and again run lsusb it will now show the device. (do the step 3 to 5 after that)

3. if device already showing on a /dev/tty port then you can run following command

rosparam set /brown/irobot_create_2_1/port /dev/ttyACM0

you can change /dev/ttyACM0 in above command to a port on which device connected this changes the parameter of brown driver to find the device on that port.

4. you need permission to access that port if you do not have so run the following command

sudo chmod 0777 /dev/ttyACM0

5. now run the following command to run the irobot create driver (if you have already installed the brown driver)

rosrun irobot_create_2_1 driver.py

Hope your problem will be solved. Enjoy .....

edit flag offensive delete link more

Question Tools

Stats

Asked: 2011-10-07 11:57:43 -0600

Seen: 4,498 times

Last updated: Aug 03 '13