Newsgroup: it.comp.os.linux.iniziare
Titolo: RS485 su Linux

Salve a tutti.
Questo è il mio primo post, quindi mi scuso a priori per eventuali
problemi di netiquette e/o per una domanda già posta in passato (ho
provato a fare una rapida ricerca, ma non ho trovato quello che
cercavo).
Per un esperimento che sto portando avanti ho acquistato un sistema
linux embedded headless Sheevaplug (
http://www.globalscaletechnologies.com/p-26-sheevaplug-dev-kit-europe.aspx
), basato su CPU ARM e SO Linux ("uname -srvmo" restituisce "Linux
2.6.22.18 #1 Thu Mar 19 14:46:22 IST 2009 armv5tejl GNU/Linux"). A
tale sistema dovrei collegare un convertitore da usb a seriale
(specificamente rs485). Sto usando il convertitore 
http://www.dghcorp.com/usb/
basato su un chip FTDI FT232BL. Se collego suddetto convertitore alla
porta USB dello Sheevaplug, in /dev/ compaiono i seguenti devices
usbdev1.2
usbdev1.2_ep00
usbdev1.2_ep02
usbdev1.2_ep81
con i quali non ho idea di come comunicare! Non so nemmeno
quell'"_epXX" cosa significhi!
Con lsmod non ho una lista di moduli caricati (tant'è che /proc/
modules è un file vuoto!) mentre lsusb restituisce
Bus 001 Device 004: ID 0403:6001 Future Technology Devices
International, Ltd FT232 USB-Serial (UART) IC
Ho provato a collegare lo stesso convertitore ad un laptop con Linux
Ubuntu 9.04 (kernel 2.6.31-20-generic):
in /dev/ sono comparsi i devices
/dev/serial/by-id/usb-FTDI_USB_TO_RS-422_485_ADAPTER_FTDYJ9MY-if00-
port0
/dev/serial/by-path/pci-0000:00:1d.0-usb-0:2:1.0-port0
/dev/ttyUSB0
dmesg restituisce
[ 1509.896135] usb 2-2: new full speed USB device using uhci_hcd and
address 3
[ 1510.092662] usb 2-2: configuration #1 chosen from 1 choice
[ 1510.099264] ftdi_sio 2-2:1.0: FTDI USB Serial Device converter
detected
[ 1510.099325] usb 2-2: Detected FT232BM
[ 1510.099329] usb 2-2: Number of endpoints 2
[ 1510.099334] usb 2-2: Endpoint 1 MaxPacketSize 64
[ 1510.099339] usb 2-2: Endpoint 2 MaxPacketSize 64
[ 1510.099343] usb 2-2: Setting MaxPacketSize 64
[ 1510.101350] usb 2-2: FTDI USB Serial Device converter now attached
to ttyUSB0
mentre lsusb mi da
Bus 002 Device 003: ID 0403:6001 Future Technology Devices
International, Ltd FT232 USB-Serial (UART) IC
Per finire, lsmod ha caricato un nuovo modulo
usbserial              36264  1 ftdi_sio
Sebbene non abbia ancora scritto nemmeno una linea di codice Java,
ritengo che nel secondo caso dovrei essere in grado di comunicare con
il convertitore tramite /dev/ttyUSB0.
Non ho, però, idea di come regolarmi sullo Sheevaplug: dovrei
installare un nuovo driver (ftdi_sio)? Se sì, come? Non ho mai
installato un driver sotto linux, quindi non saprei nemmeno da che
parte iniziare. Inoltre dovrebbe essere linkato (se è il termine
corretto!) al kernel? O potrebbe essere caricato dal SO all'avvio?
Grazie a chiunque saprà darmi una mano!

 porta USB dello Sheevaplug, in /dev/ compaiono i seguenti devices
  I sistemi embedded molto spesso non hanno moduli esterni, ma hanno un
kernel monolitico non espandibile se non riscrivendone la memoria flash,
ossia aggiornandone il firmware.  Il dispositivo per le seriali via usb
è proprio /dev/ttyUSB*, se non ti appare non è gestito dal kernel che ha
il tuo dispositivo.  In ogni caso, cerca sotto /lib/modules/ il driver,
se c'è.
  Ciao,
-- 
Alessandro Selli 
http://alessandro.route-add.net
AVVERTENZA: i messaggi inviati a "trappola" non mi arriveranno.
WARNING: messages sent to "trappola" will never reach me.

 se c'è.
Ciao!
Grazie per la cortese risposta. Ho avuto modo di verificare, ed
effettivamente installando una nuova versione del kernel (2.6.30.2) è
andato tutto liscio: ora il SO riconosce correttamente il device (/dev/
ttyUSB0), per cui ritengo che non dovrei avere problemi di
comunicazione con esso!
Grazie ancora!