Wednesday, July 02, 2008

Serial communication on the EeePC

Whenever I get a new computer, or just anything that is programmable, my first thought is " Will it do RS232 communication ?" That's mainly because I'm working all the time with instruments and micro controller based systems whose main or only form of contact to the outside world is still plain 9600 baud 8N1 RS232 comms...
And for the EeePC the answer is yes.
I connected a fairly standard USB-Serial converter. This device is based on the Prolific 2303 chipset which is very common in most converters these days. The EeePC recognizes and starts it immediately, although this is not immediately obvious. The KDE desktop does not show any sign of activity, and there is no way you can even check it's appearance through the desktop. To be sure it installed, open a console and type 'dmesg'.
[Inline Rant]
(Don't ask me why almost everything on Linux requires typing 5 to 10 letter acronyms for tasks you never even knew existed.. [growisofs, nifd, mozplugger, fstab-sync ??? And these are just a few of the most popular commands.])
[Inline Rant End]
Well, if your USB converter gets recognized it will show up in the last couple of lines of text shown to you. And if so, it's available as /tty/ttyUSB0 (U-S-B-Zero). Now it's time to do something useful. First you will need a communication program, which is not available in the standard EeePC distribution (or 'distro') so you will first have to instal additional repositories: this entry on the eeepc wiki shows how.
Now just start the Applications->System->Synaptic, search for minicom, Cutecom or GTKCom and install it.
I started using minicom, but apart from this being a bit like going back to the eighties (It's a Procomm /Telix for DOS clone..), I could not get it to send what I typed. It did set the Modem Init string, and received all characters I was sending to it, so I assume my USB-Serial adapter works.
So I moved to Cutecom, and this works fine. Cutecom is pretty simple and straightforward, but that's merely a plus if you use it on the rather limited screen of the EeePC.


Java Home Industry said...

The fact that Minicom is not receiving or sending, it might be OFFLINE. a check will tell. Use CTRL-A to show if it is OFFLINE on the status line.

If it is OFFLINE, you can try to "hard link" the device:
ln -b /ttyUSB0 /dev/ttyS0, or
ln -b /ttyUSB0 /dev/ttyS1.

ttyS1 will basically give you a com port like terminal emulation to configure external device like switch or router.

Cees Meijer said...

So you see there's always something to learn, and Linux is not really like DOS after all.;-)