How to enable USB-Serial Port adapter (RS-232) in Ubuntu Linux

advertisement logo

 

Though some might argue that Serial port are things in the past, it is still the most popular port for those who are into electronic DIY. Building electronic device with serial port interface is cheaper than buiding one that uses USB. That is the reason why people still sell USB-Serial adapter to those electronic DIY enthusiast.

Here’s how to enable USB-Serial port adapter in Ubuntu Linux (with credit to Freeman from RepRap forum)


Linux DIY USB Serial Port Adaptor

First plug in the USB-Serial Port adaptor to one of your USB port. Wait for a couple of second, then run “dmesg”. You should see these message at the end of dmesg output.


usb 1-1: new full speed USB device using uhci_and address 2
usb 1-1: configuration #1 chosen from 1 choice

After that, unplug the device and type “lsusb”. You will see a list of output similar to this.

Bus 003 Device 001: ID 0000:0000
Bus 002 Device 007: ID 03f0:4f11 Hewlett-Packard
Bus 002 Device 006: ID 05e3:1205 Genesys Logic, Inc. Afilias Optical Mouse H3003
Bus 002 Device 004: ID 15d9:0a33

Plug in the USB-Serial Port converter back, and run “lsusb” again, and you shall see an additional line, like this.


Bus 003 Device 001: ID 0000:0000
Bus 002 Device 007: ID 03f0:4f11 Hewlett-Packard
Bus 001 Device 002: ID 4348:5523 --- --- --- (notice the additional line!)
Bus 002 Device 006: ID 05e3:1205 Genesys Logic, Inc. Afilias Optical Mouse H3003
Bus 002 Device 004: ID 15d9:0a33

Now we know the vendor id and the product id of the USB-Serial Port converter, this will enable us to load the linux kernel module “usbserial” to activate the device, like this :


sudo modprobe usbserial vendor=0x4348 product=0x5523

Run “dmesg” again and you shall see lines similar like this :

usbserial_generic 1-1:1.0: generic converter detected
usb 1-1: generic converter now attached to ttyUSB0
usbcore: registered new interface driver usbserial_generic

As you can see, the new serial port device is mapped to /dev/ttyUSB0. You can instruct Ubuntu to load this module automatically by include the line : “usbserial vendor=0×4348 product=0×5523″ inside “/etc/modules” file.

Bonus: What application benefits from usb-serial port adaptor?
For starters, there are modems which uses RS-232 serial port. Some home-made devices includes Infrared remote control which uses LIRC which also depends on the serial port.

I use the adaptor to hook up my morse keyer in order to send morse code through the internet using Xchat CWIRC plugin. The site has an excellent circuit diagram to build such interface.

You can see my home-made morse code oscillator here : My Homemade Morse Code Practice Oscillator

Where can I get USB to Serial port converter?
You can get it from your local computer stores or order it online !

Bookmark this article
  • digg
  • YahooMyWeb
  • NewsVine
  • Netvouz
  • Reddit
  • Spurl
  • Furl
  • del.icio.us
  • StumbleUpon
  • Technorati
  • TwitThis
Tags: , , , , , , , , , , , ,

Keep updated with this website! : Subscribe to your email

Recommended Reading

14 smashing comments for this post.

  1. david lee Said:

    “How to enable USB-Serial Port adapter (RS-232) in Ubuntu Linux” is very well written and enabled me (complete newcomer) to get COM2 recognised by the SeaClear.exe navigation program running under wine. Unfortunately the prog. is not receiving and NMEA input from my GPS, and any advice on what I should do next would be appreciated. Other problem – using nano I added the “usbserial vendor…” line to the “/etc/modules” file, but couldn’t work out how to save the addition. Could you help, please? Thanks a million.

  2. Rainy Said:

    Perfect instructions to get my USB serial converter running.

    Thanks

  3. Oldbitcollector Said:

    Instructions were “spot-on” for install my Belkin USB/Serial adapter. Thank you!

  4. Hu Said:

    Great instruction, it did help me a lot. Thanks.

  5. yehdev_cc Said:

    Thanks very much… I really needed it… please some more of this fine tricks.. much appreciated.

  6. Andrew Said:

    Amazing info.

    I was wondering if somebody could tell me how to map ttyusb# to a ttys# and make it persistant.

  7. Toby Said:

    I was windering is any body knows how the ttyUSB0 is related to a com port or how to set

  8. Sp!ke Said:

    @Toby

    I’m assuming your talking about under wine?
    If so it’s very easy, add the following to wine.conf

    [serialports]
    Com1=/dev/ttyUSB0

    Obviously you can change Com1 to 2 3 4 etc

  9. Jonathan Said:

    newer versions of wine don’t have or use a wine.conf or winerc…

    from the WineHQ site (http://www.winehq.org/docs/wineusr-guide/misc-things-to-configure), here’s how you do it:
    ln -s /dev/ttyUSB0 ~/.wine/dosdevices/com1

    or…com2, com3, etc.

  10. Nicolas Said:

    Thx for the intruction. I need it.

    Gracias por la ayuda. La necesitaba.

  11. Dave Said:

    Thanks! Your clear instructions were easy to follow, and they work!

    So what is the right way to make this happen on every boot?

  12. mypapit Said:

    the correct way is written on the blog post, as follows:

    “As you can see, the new serial port device is mapped to /dev/ttyUSB0. You can instruct Ubuntu to load this module automatically by include the line : “usbserial vendor=0×4348 product=0×5523? inside “/etc/modules” file.”

  13. George Said:

    Thank you very much!

    What could be the substitute of ‘usbserial’ in ubuntu 9.04?
    this module is no longer available from the command shell.

  14. mypapit Said:

    George, usbserial is not supposed to be run from the command shell. rather, it should be included in the /etc/modules file, read the article slowly and carefully.

Leave a Comment

Subscribe by email

Enter your Email