Jak uruchomić adapter USB-Serial (RS232) na Ubuntu

Mimo rozwoju techniki port szeregowy w standardzie RS-232 jest wciąż popularny. Wynika to zapewne z jego prostej konstrukcji i nieskomplikowanej obsługi. Szczególnie często jest używany przez wszelkiego rodzaju entuzjastów-elektroników. Niestety coraz trudniej go znaleźć w najnowszych komputerach nie mówiąc już o laptopach. Na szczęście istnieją specjalne adaptery, które umożliwiają "zamianę" gniazda USB na port szeregowy. Ten tutorial opisuje jak uruchomić taką przejściówkę pod Ubuntu (8.04).

Adapter podłączamy pod wolne gniazdo USB. W konsoli wydajemy polecenie dmesg lub z menu: System -> Log systemowy wybieramy plik messages (/var/log/messages). Naszym oczom powinien ukazać się miedzy innymi podobny do tego wpis:
Nov 4 17:50:40 slawek-laptop kernel: [ 148.870377] usb 5-1: new full speed USB device using uhci_hcd and address 3
Nov 4 17:50:41 slawek-laptop kernel: [ 149.406023] usb 5-1: new full speed USB device using uhci_hcd and address 4
Nov 4 17:50:41 slawek-laptop kernel: [ 149.965057] usb 5-1: new full speed USB device using uhci_hcd and address 5
Nov 4 17:50:42 slawek-laptop kernel: [ 150.484108] usb 5-1: new full speed USB device using uhci_hcd and address 6

Na razie wszystko wygląda dobrze. Teraz wydajemy polecenie: lsusb. I wśród znanych nam urządzeń wyszukujemy wpis bez nazwy:
Bus 007 Device 001: ID 0000:0000
Bus 006 Device 002: ID 04f2:b018 Chicony Electronics Co., Ltd
Bus 006 Device 001: ID 0000:0000
Bus 005 Device 002: ID 046d:c51b Logitech, Inc.
Bus 005 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 002: ID 147e:2016
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

W tym przypadku jest to urządzenie z ID: 147e:2016. Numer ten będzie nam potrzebny do ustawienia parametrów dla sterownika a więc wykonujemy następnie:
sudo modprobe usbserial vendor=0x147e product=0x2016
Znowu sięgamy do logów (dmesg) i jeżeli zobaczymy taki wpis:

Nov 4 19:50:24 slawek-laptop kernel: [ 96.378904] usbcore: registered new interface driver usbserial
Nov 4 19:50:24 slawek-laptop kernel: [ 96.378939] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c: USB Serial support registered for generic
Nov 4 19:50:24 slawek-laptop kernel: [ 96.378979] usbserial_generic 2-2:1.0: generic converter detected
Nov 4 19:50:24 slawek-laptop kernel: [ 96.379142] usb 2-2: generic converter now attached to ttyUSB0
Nov 4 19:50:24 slawek-laptop kernel: [ 96.379162] usbcore: registered new interface driver usbserial_generic
Nov 4 19:50:24 slawek-laptop kernel: [ 96.379166] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c: USB Serial Driver core

możemy się cieszyć z nowego portu szeregowego podłączonego do /dev/ttyUSB0.
Aby cała operacja przebiegała automatycznie przy starcie systemu możemy dodać linię:
usbserial vendor=0x147e product=0x2016
do pliku /etc/modules.