NSLU2-Linux
view · edit · print · history

Peripherals.USB2Serial History

Hide minor edits - Show changes to markup

June 16, 2008, at 12:15 PM by TimSmall -- Add info for \"unknown\" usbcdc devices.
Added lines 171-174:

For Genuine Nokia CA-42 USB to Serial adaptors, and some others

The Nokia CA-42 (but not clones thereof), use a chip which supports the usbcdc protocol (standard serial adaptor USB "class"), which the Linux usbserial driver supports, but you may have to manually bind the driver to - check the USB product and vendor codes using the lsusb command, and then issue a command like "insmod usbserial vendor=0x0421 product=0x0802" before inserting the adaptor.

January 22, 2008, at 06:08 AM by MarkStinson -- Corrected a NOTE
Changed line 203 from:

NOTE: if you need other settings for getty, find it by: getty -h

to:

NOTE: if you need other settings for getty under SlugOS 4.8, type getty to see all the options

January 22, 2008, at 01:29 AM by MarkStinson -- updated & noted \"update-modules\" vs old command \"module-update\"
Changed line 39 from:

For OpenSlug, add one line for each module that should be loaded at startup to /etc/modutils/modules and then run modules-update:

to:

For OpenSlug, add one line for each module that should be loaded at startup to /etc/modutils/modules and then run update-modules:

Changed line 127 from:

For OpenSlug, add one line for each module that should be loaded at startup to /etc/modutils/modules and then run modules-update:

to:

For OpenSlug, add one line for each module that should be loaded at startup to /etc/modutils/modules and then run update-modules:

Changed line 133 from:

modules-update

to:

update-modules

Changed line 160 from:

For OpenSlug, add one line for each module that should be loaded at startup to /etc/modutils/modules and then run modules-update:

to:

For OpenSlug, add one line for each module that should be loaded at startup to /etc/modutils/modules and then run update-modules:

Changed line 166 from:

modules-update

to:

update-modules

Changed lines 169-170 from:

EDIT: In OpenSlug 3.10 modules-update seems to now be update-modules. maybe this was originally a type?

to:

NOTE: If update-modules doesn't work for you, try modules-update

Changed line 203 from:

NOTE: if you need other settings for getty, find it by: getty -h

to:

NOTE: if you need other settings for getty, find it by: getty -h

January 21, 2008, at 09:22 PM by MarkStinson -- Updated shebang of ttyUSB0 getty script to /bin/sh for all distos use
Changed line 194 from:
  1. !/bin/bash
to:
  1. !/bin/sh
Added lines 202-203:

NOTE: if you need other settings for getty, find it by: getty -h

September 07, 2007, at 12:48 PM by Bo --
Changed line 45 from:

modules-update

to:

update-modules

August 22, 2007, at 04:04 PM by fcarolo -- removed false wikilinks
Changed lines 175-176 from:

When you buy a USB-serial converter, note that some are much superior to others. Some implement the flow control signals while others don't; some output proper RS232? voltage levels (+/- 5V) while others only swing between 0V and 5V. In my limited experience, physically larger converters are more likely to contain the extra circuitry needed for voltage level shifting, and products based on the FTDI chips are likely to be of higher quality.

to:

When you buy a USB-serial converter, note that some are much superior to others. Some implement the flow control signals while others don't; some output proper RS232 voltage levels (+/- 5V) while others only swing between 0V and 5V. In my limited experience, physically larger converters are more likely to contain the extra circuitry needed for voltage level shifting, and products based on the FTDI chips are likely to be of higher quality.

Changed lines 179-180 from:

Atter installing the USB2SERIAL?, what can I do with it?

to:

Atter installing the USB2SERIAL, what can I do with it?

August 22, 2007, at 09:38 AM by ssb22 -- formatting
Added line 193:

[@

Added line 197:

@]

Changed lines 199-201 from:

T0:23:respawn:/root/usb-login.sh

to:
T0:23:respawn:/root/usb-login.sh
August 22, 2007, at 09:36 AM by ssb22 -- added a note on getty problems
Added lines 188-197:

getty considerations

I used a USB serial port and ran getty on it, but the serial port was not always plugged in (I sometimes plugged in an Ethernet port instead; there wasn't room on the hub for both). Unfortunately, running getty when the port is not plugged in has two problems, (1) after a while it's polled only every 5 minutes, which means you have to wait when you plug it back in, and (2) sometimes the getty creates a huge amount of wtmp log entries, causing disk writes every 5-10 seconds or so and huge log files (which is especially a problem if you're running on a Flash disk). The solution is to add a level of indirection: in /root/usb-login.sh:

  1. !/bin/bash

while ! test -e /dev/ttyUSB0; do sleep 10; done exec /sbin/getty -L ttyUSB0 -h 115200 ansi then chmod +x /root/usb-login.sh and put in inittab: T0:23:respawn:/root/usb-login.sh

May 02, 2007, at 01:48 PM by Tralala --
Changed lines 181-182 from:

1. TERMINAL SERVER

to:

1. TERMINAL

Added line 185:

ipkg install picocom (eg picocom -b 9600 /dev/ttyUSB0)

Deleted line 186:

ipkg install picocom

May 02, 2007, at 11:46 AM by P Jones --
Changed lines 179-180 from:

Atter installing the USB serial, what can I do with it?

to:

Atter installing the USB2SERIAL?, what can I do with it?

Changed line 183 from:

Download minicom, or for a stripped down version picocom

to:

Download minicom, or for a stripped down version picocom.

May 02, 2007, at 11:45 AM by P Jones --
Changed line 184 from:
to:

[@

Changed line 187 from:
to:

@]

May 02, 2007, at 11:45 AM by P Jones --
Added lines 176-187:

Now What?

Atter installing the USB serial, what can I do with it?

1. TERMINAL SERVER

Download minicom, or for a stripped down version picocom

ipkg install minicom ipkg install picocom

March 02, 2007, at 10:44 AM by Phil Endecott -- Note that some converters are better than others.
Changed lines 173-175 from:

If you have a Linux PC you can sometimes use it to help answer the question of which module you need; your PC probably has all of the modules available and will auto-detect which to use. So if you plug in your serial cable (or whatever, this applies to most peripherals) and look at dmesg or syslog etc you may well see the name of the kernel module that you need to load on your Slug.

to:

If you have a Linux PC you can sometimes use it to help answer the question of which module you need; your PC probably has all of the modules available and will auto-detect which to use. So if you plug in your serial cable (or whatever, this applies to most peripherals) and look at dmesg or syslog etc you may well see the name of the kernel module that you need to load on your Slug.

When you buy a USB-serial converter, note that some are much superior to others. Some implement the flow control signals while others don't; some output proper RS232? voltage levels (+/- 5V) while others only swing between 0V and 5V. In my limited experience, physically larger converters are more likely to contain the extra circuitry needed for voltage level shifting, and products based on the FTDI chips are likely to be of higher quality.

February 28, 2007, at 10:45 AM by Bernard Davison --
Changed lines 169-170 from:
to:

EDIT: In OpenSlug 3.10 modules-update seems to now be update-modules. maybe this was originally a type?

February 22, 2007, at 01:13 PM by braydw --
Changed line 69 from:
   find / -name pl2302.o - print
to:
   find / -name pl2302.o - print
February 22, 2007, at 01:12 PM by braydw --
Changed line 69 from:
   find / -name pl2302.o - print
to:
   find / -name pl2302.o - print
February 22, 2007, at 01:11 PM by braydw --
Changed line 69 from:
   find / -name pl2302.o - print
to:
   find / -name pl2302.o - print
February 22, 2007, at 01:05 PM by braydw --
Changed lines 49-51 from:

Special Note about the kernel-module-pl2303 in Unslung.

to:

Special Note about the kernel-module-pl2303 in Unslung.

Changed line 53 from:

If you find that the dmesg command displays error messages about the pl2303

to:

If you find that the dmesg command displays error messages about the pl2303

February 22, 2007, at 01:01 PM by braydw --
Added lines 49-89:

Special Note about the kernel-module-pl2303 in Unslung.

There appears to be different versions of the pl2303 chip in USB to Serial Adapters. If you find that the dmesg command displays error messages about the pl2303

  (e.g. "pl2303.c: pl2303_read_int_callback - usb_submit_urb failed with result -22")

you should get a new version of the driver pl2303.o.

For information see Message #7954 at http://www.nslu2-linux.org.

  (http://tech.groups.yahoo.com/group/nslu2-linux/message/7954)

The URL referenced in the above message is:

  http://www.fh-furtwangen.de/~dersch/pl2303.o

How to install the driver: (:table border=0 width=80% bgcolor=#eeeeff:) (:cell:)

1) get the driver from the above URL (Thank you Mr. Dersch). 
2) find the current driver's location. You can do this using the command:
   find / -name pl2302.o - print
       (on my unslung it is at: /lib/modules/2.4.22-xfs/kernel/drivers/usb/serial/pl2303.o),
3) replace the current adapter at the above location,
4) unplug the USB to Serial Adapter,
5) rmmod pl2303,
6) insmod pl2303,
7) plug adapter back in.

(:tableend:)

I have found two USB to Serial Adapters with the pl2303 chip that work well with Unslung. These are: USB to Serial (9-pin) DB-9 RS-232 Adapter Cable. (:table border=0 width=80% bgcolor=#eeeeff:) (:cell:)

1) Iogear GUC232A -- this one has an LED which lights on data transfer.
2) Sabrent SBT-USC1M. 

(:tableend:) (braydw)

November 26, 2006, at 03:11 PM by fcarolo -- updated wiki link
Changed lines 53-54 from:
to:
November 26, 2006, at 03:04 PM by fcarolo -- instructions for loading modules under openslug
Changed lines 1-2 from:

Adding a USB2Serial adaptor in Unslung

to:

Adding a USB2Serial adaptor in Unslung or OpenSlug

Changed lines 5-8 from:

For PL2303? chipset based USB to Serial adaptors

I found some references in the Palm page, so I thought I'd seperate out a proper HowTo page.

to:

USB adaptors:

For PL2303 chipset based USB to Serial adaptors

I found some references in the Palm page, so I thought I'd seperate out a proper HowTo page.

Deleted lines 16-22:
  • ipkg install kernel-module-usbserial
  • ipkg install kernel-module-pl2303
  • insmod usbserial
  • insmod pl2303

Create the file /unslung/rc.modules, and give it the following content to automatically install at boot:

Changed lines 19-22 from:
 #!/bin/sh
 insmod usbserial
 insmod pl2303
 return 1
to:
ipkg install kernel-module-usbserial
ipkg install kernel-module-pl2303
depmod -a
insmod usbserial
insmod pl2303 
Changed lines 28-31 from:

(above works for Newlink USB Serial adaptor available from Maplin UK code ZP43?)

For OpenSlug, I found I needed to specify the entire path for insmod to avoid "can't read" errors:

to:

If you are running Unslung, create the file /unslung/rc.modules, and give it the following content to automatically install at boot:

Changed lines 31-32 from:
 insmod /lib/modules/2.6.16/kernel/drivers/usb/serial/usbserial.ko
 insmod /lib/modules/2.6.16/kernel/drivers/usb/serial/pl2303.ko
to:
 #!/bin/sh
 insmod usbserial
 insmod pl2303
 return 1
Added lines 37-49:

Notice: above works for Newlink USB Serial adaptor available from Maplin UK code ZP43.

For OpenSlug, add one line for each module that should be loaded at startup to /etc/modutils/modules and then run modules-update: (:table border=0 width=80% bgcolor=#eeeeff:) (:cell:)

echo usbserial >> /etc/modutils/modules
echo pl2303 >> /etc/modutils/modules
modules-update

(:tableend:)

Changed lines 55-56 from:

For Belkin F5U109? USB to Serial adaptors

to:

For Belkin F5U109 USB to Serial adaptors

Changed line 58 from:

However, this didn't work for my adaptor (a Belkin F5U109?), and some google searching found me this page: http://www.qbik.ch/usb/devices/showdev.php?id=780 which suggested I needed the mct_u232 driver rather than the pl2303 driver.

to:

However, this didn't work for my adaptor (a Belkin F5U109), and some google searching found me this page: http://www.qbik.ch/usb/devices/showdev.php?id=780 which suggested I needed the mct_u232 driver rather than the pl2303 driver.

Changed line 72 from:
 usbserial.c: USB Serial support registered for Magic Control Technology USB-RS232?
to:
 [=usbserial.c: USB Serial support registered for Magic Control Technology USB-RS232?
Changed lines 75-78 from:
 mct_u232.c: Magic Control Technology USB-RS232? converter driver v1.1

Create the file /unslung/rc.modules, and give it the following content to automatically install at boot:

to:
 mct_u232.c: Magic Control Technology USB-RS232? converter driver v1.1=]

If you are running Unslung, create the file /unslung/rc.modules, and give it the following content to automatically install at boot:

Changed lines 86-94 from:

For FTDI chipset based USB to Serial adaptors (http://www.ftdichip.com/)

  • ipkg install kernel-module-usbserial
  • ipkg install kernel-module-ftdi-sio
  • insmod usbserial
  • insmod ftdi_sio

Create the file /unslung/rc.modules, and give it the following content to automatically install at boot:

to:

For OpenSlug, add one line for each module that should be loaded at startup to /etc/modutils/modules and then run modules-update:

Changed lines 89-92 from:
 #!/bin/sh
 insmod usbserial
 insmod ftdi_sio
 return 1
to:
echo usbserial >> /etc/modutils/modules
echo mct_u232 >> /etc/modutils/modules
modules-update
Changed lines 96-131 from:

(If you have a Linux PC you can sometimes use it to help answer the question of which module you need; your PC probably has all of the modules available and will auto-detect which to use. So if you plug in your serial cable (or whatever, this applies to most peripherals) and look at dmesg or syslog etc you may well see the name of the kernel module that you need to load on your Slug.)

to:

For FTDI chipset based USB to Serial adaptors (http://www.ftdichip.com/)

(:table border=0 width=80% bgcolor=#eeeeff:) (:cell:)

ipkg install kernel-module-usbserial
ipkg install kernel-module-ftdi-sio
depmod -a
insmod usbserial
insmod ftdi_sio

(:tableend:)

If you are running Unslung, create the file /unslung/rc.modules, and give it the following content to automatically install at boot: (:table border=0 width=80% bgcolor=#eeeeff:) (:cell:)

 #!/bin/sh
 insmod usbserial
 insmod ftdi_sio
 return 1

(:tableend:)

For OpenSlug, add one line for each module that should be loaded at startup to /etc/modutils/modules and then run modules-update: (:table border=0 width=80% bgcolor=#eeeeff:) (:cell:)

echo usbserial >> /etc/modutils/modules
echo ftdi_sio >> /etc/modutils/modules
modules-update

(:tableend:)

General tips

If you have a Linux PC you can sometimes use it to help answer the question of which module you need; your PC probably has all of the modules available and will auto-detect which to use. So if you plug in your serial cable (or whatever, this applies to most peripherals) and look at dmesg or syslog etc you may well see the name of the kernel module that you need to load on your Slug.

November 24, 2006, at 07:56 AM by hb --
Changed lines 12-14 from:
  • insmod usbserial (*)
  • insmod pl2303 (*)
to:
  • insmod usbserial
  • insmod pl2303
Changed lines 26-27 from:

(*) For OpenSlug, I found I needed to specify the entire path for insmod to avoid "can't read" errors:

to:

For OpenSlug, I found I needed to specify the entire path for insmod to avoid "can't read" errors:

November 24, 2006, at 07:55 AM by hb -- insmod for usbserial and pl2303 on OpenSlug
Changed lines 12-14 from:
  • insmod usbserial
  • insmod pl2303
to:
  • insmod usbserial (*)
  • insmod pl2303 (*)
Changed lines 26-33 from:
to:

(*) For OpenSlug, I found I needed to specify the entire path for insmod to avoid "can't read" errors:

(:table border=0 width=80% bgcolor=#eeeeff:) (:cell:)

 insmod /lib/modules/2.6.16/kernel/drivers/usb/serial/usbserial.ko
 insmod /lib/modules/2.6.16/kernel/drivers/usb/serial/pl2303.ko

(:tableend:)

September 06, 2006, at 08:51 PM by Bullfrog -- Corrected a typo - a 2302 should have been 2303
Changed line 21 from:
 insmod pl2302
to:
 insmod pl2303
September 06, 2006, at 08:48 PM by Bullfrog --
Deleted lines 53-59:

For FTDI chipset based USB to Serial adaptors (http://www.ftdichip.com/)

  • ipkg install kernel-module-usbserial
  • ipkg install kernel-module-ftdi-sio
  • insmod usbserial
  • insmod ftdi_sio
Changed line 60 from:
 insmod ftdi_sio
to:
 insmod mct_u232
Added lines 64-80:

For FTDI chipset based USB to Serial adaptors (http://www.ftdichip.com/)

  • ipkg install kernel-module-usbserial
  • ipkg install kernel-module-ftdi-sio
  • insmod usbserial
  • insmod ftdi_sio

Create the file /unslung/rc.modules, and give it the following content to automatically install at boot:

(:table border=0 width=80% bgcolor=#eeeeff:) (:cell:)

 #!/bin/sh
 insmod usbserial
 insmod ftdi_sio
 return 1

(:tableend:)

September 06, 2006, at 08:45 PM by Bullfrog -- Added Instructions for FTDI serial ports
Added lines 5-6:

For PL2303? chipset based USB to Serial adaptors

Added lines 27-28:

For Keyspan based USB to Serial adaptors

Changed lines 32-34 from:

and dmesg should report it as being detected.

to:

For Belkin F5U109? USB to Serial adaptors

dmesg should have reported this as being detected.

Changed lines 54-70 from:
to:

For FTDI chipset based USB to Serial adaptors (http://www.ftdichip.com/)

  • ipkg install kernel-module-usbserial
  • ipkg install kernel-module-ftdi-sio
  • insmod usbserial
  • insmod ftdi_sio

Create the file /unslung/rc.modules, and give it the following content to automatically install at boot:

(:table border=0 width=80% bgcolor=#eeeeff:) (:cell:)

 #!/bin/sh
 insmod usbserial
 insmod ftdi_sio
 return 1

(:tableend:)

September 05, 2006, at 11:06 PM by Bullfrog --
Added lines 13-22:

Create the file /unslung/rc.modules, and give it the following content to automatically install at boot:

(:table border=0 width=80% bgcolor=#eeeeff:) (:cell:)

 #!/bin/sh
 insmod usbserial
 insmod pl2302
 return 1

(:tableend:)

September 05, 2006, at 10:57 PM by Bullfrog --
Changed lines 15-16 from:

For a keyspan USB serial port use these instructions UseKeyspanSerialPort?

to:

For a keyspan USB serial port use these instructions UseKeyspanSerialPorts

September 05, 2006, at 10:49 PM by Bullfrog --
Added lines 15-16:

For a keyspan USB serial port use these instructions UseKeyspanSerialPort?

September 05, 2006, at 10:28 AM by Bullfrog --
Added lines 13-14:

(above works for Newlink USB Serial adaptor available from Maplin UK code ZP43?)

September 05, 2006, at 10:23 AM by Bullfrog --
Changed lines 3-4 from:

There seems (to me) to be lots of wiki documentation about "tapping in" to the slug's hardware serial port, but very little about the "easier option" - using a prebuilt usb to serial adaptor. Who wants to get their hands dirty with a soldering iron?! ;-)

to:

There seems (to me) to be lots of wiki documentation about "tapping in" to the slug's hardware serial port (AddASerialPort), but very little about the "easier option" - using a prebuilt usb to serial adaptor. Who wants to get their hands dirty with a soldering iron?! ;-)

July 31, 2006, at 08:36 PM by Phil Endecott -- Note that PC can sometimes help to identify which module is needed
Added lines 33-34:

(If you have a Linux PC you can sometimes use it to help answer the question of which module you need; your PC probably has all of the modules available and will auto-detect which to use. So if you plug in your serial cable (or whatever, this applies to most peripherals) and look at dmesg or syslog etc you may well see the name of the kernel module that you need to load on your Slug.)

May 20, 2006, at 01:31 PM by Lurch -- Information on using USB2Serial adaptors
Added lines 1-32:

Adding a USB2Serial adaptor in Unslung

There seems (to me) to be lots of wiki documentation about "tapping in" to the slug's hardware serial port, but very little about the "easier option" - using a prebuilt usb to serial adaptor. Who wants to get their hands dirty with a soldering iron?! ;-)

I found some references in the Palm page, so I thought I'd seperate out a proper HowTo page.

According to the Palm instructions, it's just a case of:

  • ipkg install kernel-module-usbserial
  • ipkg install kernel-module-pl2303
  • insmod usbserial
  • insmod pl2303

and dmesg should report it as being detected. However, this didn't work for my adaptor (a Belkin F5U109?), and some google searching found me this page: http://www.qbik.ch/usb/devices/showdev.php?id=780 which suggested I needed the mct_u232 driver rather than the pl2303 driver. So I tried a quick:

  • ipkg install kernel-module-mct_u232

and it came back with "Cannot find package kernel-module-mct_u232.". I wondered if maybe it had a different name under Unslung, so I did a:

  • ipkg list kernel-module-*

and after looking through the returned list found that the command I wanted was in fact:

  • ipkg install kernel-module-mct-u232

So then after I'd installed the correct driver (and I did "rmmod pl2303; ipkg remove kernel-module-pl2303" for the sake of tidyness), I ran:

  • insmod mct_u232

(confusingly, the module itself still uses an underscore even though the ipkg doesn't!)

  • dmesg

And got the happy output:

 usbserial.c: USB Serial support registered for Magic Control Technology USB-RS232?
 usbserial.c: Magic Control Technology USB-RS232? converter detected
 usbserial.c: Magic Control Technology USB-RS232? converter now attached to ttyUSB0 (or usb/tts/0 for devfs)
 mct_u232.c: Magic Control Technology USB-RS232? converter driver v1.1
view · edit · print · history · Last edited by TimSmall.
Based on work by MarkStinson, Bo, fcarolo, ssb22, Tralala, P Jones, Phil Endecott, Bernard Davison, braydw, hb, and Bullfrog.
Originally by Lurch.
Page last modified on June 16, 2008, at 12:15 PM