Ho avuto tra le mani in questi giorni la scheda Express Card Onda ET502HS ed il portatile Sony Vaio VGN-NR21Z.

Visto che molti si accingono ad andare in vacanza e magari vorranno rimanere sempre connessi col nostro amato forum, la scheda in oggetto permette di collegarsi senza fili fino a 7.2 Mbps.
Nonostante sul sito della Onda Communication non venga riportata la compatibilità con Linux, è possibile utilizzare tale scheda col nostro pinguino.
Come ha segnalato più volte l'utente GizMo, tali dispositivi vengono visti dal kernel come CD-ROM virtuali nel momento in cui vengono collegati alla nostra Linux box.
Ecco il log di dmesg ottenuto dopo aver inserito la scheda nello slot del portatile:
[ 346.135823] usb 6-2: new full speed USB device using uhci_hcd and address 2 [ 346.288837] usb 6-2: configuration #1 chosen from 1 choice [ 346.295486] scsi6 : SCSI emulation for USB Mass Storage devices [ 346.296352] usb-storage: device found at 2 [ 346.296357] usb-storage: waiting for device to settle before scanning [ 351.288140] usb-storage: device scan complete [ 356.888671] usb 6-2: reset full speed USB device using uhci_hcd and address 2 [ 357.044195] scsi 6:0:0:0: CD-ROM ONDA USB Storage 2.31 PQ: 0 ANSI: 2 [ 357.060078] sr1: scsi3-mmc drive: 0x/0x caddy [ 357.060170] sr 6:0:0:0: Attached scsi CD-ROM sr1 [ 357.060242] sr 6:0:0:0: Attached scsi generic sg2 type 5 [ 357.351851] usb 6-2: reset full speed USB device using uhci_hcd and address 2
Questo è invece il log del comando lsusb:
Bus 007 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 006 Device 002: ID 19d2:2000 Bus 006 Device 001: ID 0000:0000 Bus 005 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000
Per fare in modo che il device venga visto come modem dal kernel è necessario modificare gli identificativi USB. A tal proposito ho utilizzato il programma usb_modeswitch disponibile a questo indirizzo: usb_modeswitch.
La versione attualmente disponibile è la 0.9.4 che offre pieno supporto alla scheda in oggetto.
Scaricato l'archivio usb_modeswitch-0.9.4.tar.bz2, provvediamo ad estrarne il contenuto.
Copiano l'eseguibile usb_modeswitch in /sbin, mentre il file di configurazione usb_modeswitch.conf in /etc.
Per poter effettuare queste operazioni bisogna essere root.
Per i più pigri c'è la possibilità di scaricare il programma usb_modeswitch direttamente dal repository di Packman:
http://packman.links2linux.de/package/usb_modeswitch/
A questo punto modifichiamo gli identificativi USB della scheda in modo che venga vista dal kernel come modem e non come usb-storage.
Per fare questo usiamo l'eseguibile usb_modeswitch a cui passeremo gli identificativi corretti:
linux:/home/aurelio # /sbin/usb_modeswitch -v 0x19d2 -p 0x2000 -V 0x19d2 -P 0x0002 -d 1
* usb_modeswitch: tool for controlling "flip flop" mode USB devices
* Version 0.9.4 (C) Josua Dietze 2008
* Works with libusb 0.1.12 and probably other versions
Looking for target devices
No target device found
Looking for default devices
Found default devices (1)
Prepare switching, accessing latest device
Looking for active default driver to detach it
OK, driver found ("usb-storage")
OK, Driver "usb-storage" successfully detached
-> See /proc/bus/usb/devices (or call lsusb) for changes. ByeCome possiamo osservare il comando usb_modeswitch permette di modificare gli identificativi USB della scheda e precisamente il vendorID ed il productID. I primi valori si riferiscono al vendorID e productID del dispositivo visto come CD-ROM, mentre gli ultimi due si riferiscono al device visto come modem (ho annotato gli identificativi presenti in Windows Vista e li ho confrontati con quelli presenti nel file di configurazione usb_modeswitch.conf). L'ultima opzione (-d 1) permette di rilevare il modulo usb-storage.
Ho notato che lo switch non avviene immediatamente, ma può essere necessario ripetere l'operazione un paio di volte, avendo cura di scollegare/collegare la scheda.
Questo è l'output del comando lsusb una volta modificati gli identificativi USB:
Bus 007 Device 001: ID 0000:0000 Bus 001 Device 001: ID 0000:0000 Bus 006 Device 004: ID 19d2:0002 Bus 006 Device 001: ID 0000:0000 Bus 005 Device 001: ID 0000:0000 Bus 004 Device 001: ID 0000:0000 Bus 003 Device 001: ID 0000:0000 Bus 002 Device 001: ID 0000:0000
Per procedere alla configurazione della connessione ad internet è necessario passare i parametri corretti al modulo usbserial:
modprobe usbserial vendor=0x19d2 product=0x0002
Questo è il log di dmesg ottenuto dopo il caricamento del modulo usbserial:
[ 882.161213] usb 6-2: new full speed USB device using uhci_hcd and address 4 [ 882.305072] usb 6-2: config 1 has an invalid interface number: 3 but max is 2 [ 882.305080] usb 6-2: config 1 has no interface number 0 [ 882.318233] usb 6-2: configuration #1 chosen from 1 choice [ 960.322767] usbcore: registered new interface driver usbserial [ 960.322782] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c: USB Serial support registered for generic [ 960.322799] usbserial_generic 6-2:1.1: generic converter detected [ 960.322898] usb 6-2: generic converter now attached to ttyUSB0 [ 960.322906] usbserial_generic 6-2:1.2: generic converter detected [ 960.322948] usb 6-2: generic converter now attached to ttyUSB1 [ 960.322956] usbserial_generic 6-2:1.3: generic converter detected [ 960.323001] usb 6-2: generic converter now attached to ttyUSB2 [ 960.323008] usbcore: registered new interface driver usbserial_generic [ 960.323010] /build/buildd/linux-2.6.24/drivers/usb/serial/usb-serial.c: USB Serial Driver core
Come si vede, sono state create le nuove porte seriali /dev/ttyUSB0, /dev/ttyUSB1 e /dev/ttyUSB2.
Interroghiamo il modem tramite wvdial:
linux:/home/aurelio # wvdialconf /etc/wvdial.conf Editing `/etc/wvdial.conf'. Scanning your serial ports for a modem. Modem Port Scan<*1>: S0 S1 S2 S3 WvModem<*1>: Cannot get information for serial port. ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 2400 baud, next try: 9600 baud ttyUSB0<*1>: ATQ0 V1 E1 -- failed with 9600 baud, next try: 9600 baud ttyUSB0<*1>: ATQ0 V1 E1 -- and failed too at 115200, giving up. WvModem<*1>: Cannot get information for serial port. ttyUSB1<*1>: ATQ0 V1 E1 -- OK ttyUSB1<*1>: ATQ0 V1 E1 Z -- OK ttyUSB1<*1>: ATQ0 V1 E1 S0=0 -- OK ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyUSB1<*1>: Modem Identifier: ATI -- Manufacturer: ONDA COMMUNICATION ttyUSB1<*1>: Speed 9600: AT -- OK ttyUSB1<*1>: Max speed is 9600; that should be safe. ttyUSB1<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK WvModem<*1>: Cannot get information for serial port. ttyUSB2<*1>: ATQ0 V1 E1 -- OK ttyUSB2<*1>: ATQ0 V1 E1 Z -- OK ttyUSB2<*1>: ATQ0 V1 E1 S0=0 -- OK ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 -- OK ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 -- OK ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK ttyUSB2<*1>: Modem Identifier: ATI -- Manufacturer: ONDA COMMUNICATION ttyUSB2<*1>: Speed 9600: AT -- OK ttyUSB2<*1>: Max speed is 9600; that should be safe. ttyUSB2<*1>: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 -- OK Found a modem on /dev/ttyUSB1. Modem configuration written to /etc/wvdial.conf. ttyUSB1: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0" ttyUSB2: Speed 9600; init "ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0"
Per la nostra immensa gioia il sistema ha individuato un modem sulla porta seriale /dev/ttyUSB1.
Per testare la connessione ho usato come provider TIM e questo è il file di configurazione wvdial.conf:
[Dialer Defaults] Init1 = AT+CFUN=1 Init2 = AT+CGDCONT=1,"ip","ibox.tim.it","",0,0 Modem = /dev/ttyUSB1 Phone = *99***1# Idle Seconds = 300 Modem Type = Analog Modem Stupid Mode = 1 Compuserve = 0 Baud = 460800 Auto DNS = 1 Dial Command = ATDT Ask Password = 0 ISDN = 0 Password = tim Username = tim
Questo è il log della connessione tramite wvdial:
linux:/home/aurelio # wvdial --> WvDial: Internet dialer version 1.60 --> Cannot get information for serial port. --> Initializing modem. --> Sending: AT+CFUN=1 AT+CFUN=1 OK --> Sending: AT+CGDCONT=1,"ip","ibox.tim.it","",0,0 AT+CGDCONT=1,"ip","ibox.tim.it","",0,0 OK --> Modem initialized. --> Idle Seconds = 300, disabling automatic reconnect. --> Sending: ATDT*99***1# --> Waiting for carrier. ATDT*99***1# CONNECT --> Carrier detected. Starting PPP immediately. --> Starting pppd at Sun Jul 27 15:05:40 2008 --> Pid of pppd: 10131 --> Using interface ppp0 --> local IP address 217.202.219.147 --> remote IP address 10.64.64.64 --> primary DNS address 213.230.128.222 --> secondary DNS address 213.230.129.94
Buona navigazione a tutti!
La presente guida è valida anche per i modem ONDA MT512HS e MT503HS.
Se sei stanco di virus e schermate blu passa a Linux

Commenti
USB_ModeSwitch rpm
ti do 9 solo perchè non mi hai chiesto di fare l'rpm.. arriverà presto :lol: :lol:
OpenSUSE Member,Packman Packager, Education Project Admin, LXDE Project Admin
Powered by http://en.opensuse.org/HP_Pavilion_dv6855el
Re: USB_ModeSwitch rpm
Cè chi se la canta e se la suona :lol:
Per anubis ben venga rpm però cosi è molto utile lo stesso per imparare a compilare per il resto rpm è il massimo.
Complimenti auris era da tanto che non vedevo una tua guida....
Ciao
Re: USB_ModeSwitch rpm
http://packman.links2linux.de/package/usb_modeswitch/
auris solo una cosa... nel mio rpm l'eseguibile è in /usr/sbin e non in /sbin
OpenSUSE Member,Packman Packager, Education Project Admin, LXDE Project Admin
Powered by http://en.opensuse.org/HP_Pavilion_dv6855el
configurazione operatore tre
Complimenti ottima guida!!
Qualcuno mi sa dare l'output del file di conf etc/wvdial.conf
usando l'operatore tre??
Grazie mille!!!
Re: configurazione operatore tre
Init2 = AT+CGDCONT=1,"ip","datacard.tre.it"
Phone = *99#
oppure
Phone = *99***2#
Se sei stanco di virus e schermate blu passa a Linux

Re: configurazione operatore tre
A me funziona con questo
Re: configurazione operatore tre
Volevo aggiungere che questa procedura funziona alla grande anche con la chiavetta usb MT503HS, sempre della Onda. Inoltre per chi usasse Kde e ha poca voglia di smanettare può usare kppp che è abbastanza facile da configurare e offre delle statistiche dettagliate sulla connessione.
Per configurare kppp faccio riferimento alla seconda parte di questo post(ovvero saltando l'uso di modprobe):
Onda MT503HS Howto
Re: configurazione operatore tre
Grazie della segnalazione!
Se sei stanco di virus e schermate blu passa a Linux
