USB Serial Port Adapters

From MobileRobots Research and Academic Customer Support

(Redirected from USB serial port adapter)
Jump to: navigation, search

A USB-serial adapter allows a computer to communicate over an RS-232 serial connection through its USB port.

Since many such devices and/or their operating system drivers can be unreliable at transmitting data to/from the robot, SICK laser, or other devices correctly, we recommend always using a computer's built in serial port instead if possible. A USB-serial port should never be used to write to the controller's flash memory.

Contents

Specifying Serial Port Device Name

Note that a USB serial device will appear in the operating system under a new device name. For example in Linux, most will appear as /dev/ttyUSB0. On Windows it may be a high COM number, such as COM6. To use these devices with ARIA, use the -robotPort command line argument to set it.

For example, to run ARIA's 'demo' program on Linux with the serial port /dev/ttyUSB0, run:

./demo -robotPort /dev/ttyUSB0

or

./demo -rp /dev/ttyUSB0

To run ARIA's 'demo' program on Windows with the serial port COM6, run:

demo.exe -robotPort COM6

or

demo.exe -rp COM6

To permanently set the command line argument as a default, set the port name in your robot's parameter file, edit /etc/Aria.args, or set the ARIAARGS system environment variable to include the argument and value (e.g. -robotPort /dev/ttyUSB0).

USB device permissions on Linux

On Linux, creation of the USB devices in /dev are managed by udev, including setting access permissions. For more on configuring udev, see Linux udev USB Device Permissions Configuration.


Symptoms of Communications Errors in ARIA

If there are data transmission problems with the robot, ARIA will print warnings similar to:

ArRobotPacketReceiver::receivePacket: bad packet, bad checksum

If there are data transmission problems with the SICK laser, ARIA will print warnings similar to:

ArSickPacketReceiver::receivePacket: bad packet, bad checksum
ArSickPacketReceiver::receivePacket: wrong address (0x9 instead of 0x80)

or

ArLMS2xxPacketReceiver::receivePacket: bad packet, bad checksum
ArLMS2xxPacketReceiver::receivePacket: wrong address (0x9 instead of 0x80)

You may also receive similar errors if there is an IRQ conflict -- see Serial Port Configuration.

Device Reports

Other customers have reported success or problems using the following devices. MobileRobots does not support or endorse any particular device. If you have trouble with your device, try locating updated drivers for it, or try a different device. Any device on this list may in fact work for you on your operating system, or with a different version of the device or its drivers.

If you have tried a USB serial port adapter, please let other users know whether it worked for you or not -- either by adding to this wiki or via the aria-users mailing list.

Manufacturer Model name or part number Internal Chipset (if known) Linux Driver Reported to work in Linux? Windows driver Reported to work in Windows? Notes
USBGEAR U232-P9AP Prolific "PL2303"?  ? Probably  ? Unknown Also reported t work in Mac OSX
Edgeport or Digi Intl. Edgeport/2c  ?  ? Yes  ?  ?
Keyspan USA-49WLC  ?  ? No?  ? No?
Aten UC-232A Prolific PL2303 pl2303 Yes ATEN Yes
Bandridge CPL421  ?  ?  ?  ? No
Gearmo FT4232HL 4 Port Professional Adapter FTDI Yes Probably Yes Yes, if you reduce "latency timer" to 8ms in advanced device properties
Personal tools