Come promesso, ecco la procedura per connettersi a Internet con Fedora via HSDPA con l’adattatore USB Momodesign MD-@, di cui ho già parlato qui.
Appena collegata la “chiavetta” USB andiamo a controllare che sia rilevata e con quale device sia raggiungibile. Per questo basta il comando:
$ dmesg
...
...
usb 4-2: new full speed USB device using uhci_hcd and address 2
usb 4-2: configuration #1 chosen from 1 choice
usb 4-2: New USB device found, idVendor=05c6, idProduct=3100
usb 4-2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
usb 4-2: Product: H3G USB HSDPA Modem
usb 4-2: Manufacturer: H3G , Incorporated
cdc_acm 4-2:1.0: ttyACM0: USB ACM device
usbcore: registered new interface driver cdc_acm
drivers/usb/class/cdc-acm.c: v0.25:USB Abstract Control Model driver for USB modems and ISDN adapters
L’output del comando mostra alcune informazioni, la più importante è il nome del device, in questo caso ttyACM0. Vuol dire che il modem è disponibile ed utilizzabile dalle applicazioni usando il file speciale /dev/ttyACM0 (attenzione a maiuscole e minuscole, sono significative, l’ultimo carattere è uno zero).
Per configurare la connessione a Internet, andiamo nel menù Sistema, Amministrazione e scegliamo la voce Rete. Ci viene chiesta la password di root oppure il pannello di autorizzazione di PolicyKit, dopodiché arriviamo all’interfaccia di gestione delle connessioni di rete. Scegliamo “Nuovo”, selezioniamo “Collegamento del modem” e nel pannello successivo troviamo i parametri del modem già impostati, come in figura qui sotto.

Se nella casella “Dispositivo Modem” non c’è il device trovato prima, oppure otteniamo un messaggio di “modem non trovato”, lo digiteremo noi, rispettando maiuscole e minuscole.
Nel pannello successivo imposteremo il numero da chiamare, che in questo tipo di connessione è quasi sempre lo stesso: *99#. Come nome provider metteremo un nome significativo per noi, mentre come nome di login e password, dato che non dovrebbero essere significativi, possiamo inserire ad esempio guest. In ogni caso ci riferiremo ai parametri forniti dal provider.

Subito dopo arriviamo alla configurazione del protocollo IP, che va lasciato con i valori predefiniti, mostrati in figura.

Un riepilogo con tutte le informazioni inserite è nel pannello finale.

Siamo pronti per connetterci a Internet.
Optional di serie
Per rendere le cose più comode, possiamo usare una delle piccole applet del pannello di Gnome messe a disposizione da Fedora, chiamata Modem Lights.

Questa applet si piazza nel pannello e si presenta con un pulsante, un riquadro nero e due indicatori rotondi (figura sotto).

Deve ovviamente essere configurata, i parametri predefiniti non funzionano. Basta cliccarvi sopra col tasto destro del mouse e scegliere “Preferenze”. Abbiamo tre pannelli. Il primo riguarda le impostazioni generali, vediamo le singole voci.

Abbiamo, partendo dall’alto: l’intervallo di aggiornamento della visualizzazione dei dati di traffico (un secondo), l’indicazione del tempo di connessione e della banda utilizzata in quel momento, se il pulsante deve indicare lampeggiando l’avvio di una connessione. Sono configurazioni opzionali e non necessarie per il normale funzionamento.
Di seguito abbiamo i comandi di avvio e fermo della connessione, che vanno cambiati rispetto al valore predefinito: il comando di avvio sarà /sbin/ifup ppp0 mentre quello di terminazione sarà /sbin/ifdown ppp0. Questo ovviamente supponendo di avere una singola connessione modem configurata, altrimenti occorre vedere il nome assegnato dal pannello di configurazione di rete, raggiungibile dal menù Sistema, Amministrazione, Rete. Normalmente è pppN dove N è un numero progressivo.
L’opzione “Confirm connection” serve a far comparire una domanda di conferma ogni volta che premiamo il pulsante di connessione. Personalmente lo ritengo inutile, visto che ho già dato una conferma premendo appunto il pulsante.
Il pannello successivo permette di definire i colori di presentazione dell’applet.

Quelli mostrati sono i miei colori preferiti, ma naturalmente non sono obbligatori. Partendo dall’alto abbiamo il colore del grafico dei dati ricevuti (verde su nero), quello dei dati trasmessi (rosso su nero), i colori dell’indicatore dentro il pulsante (rosso connesso, giallo in avvio connessione, nero quando inattivo), infine i colori con cui viene mostrato il valore della banda occupata al momento e del tempo di connessione (sono simili a dei display a LED, va indicato il colore da acceso, quello da spento, outline, e lo sfondo).
L’ultimo pannello contiene i dati di gestione del device.

Deve essere configurato come mostrato, in particolare è importante il device (nel mio caso ppp0), il nome del lock file (/var/lock/LCK..ttyACM0, l’ultima parte deve essere uguale al nome del device seriale, come visto sopra) e la verifica del lock file, per evitare false indicazioni dell’applet.
Possiamo accettare la configurazione, siamo pronti per utilizzare la nostra connessione quando serve, senza problemi e con un singolo click del mouse. Qui sotto possiamo vedere l’applet in funzione.

Note dolenti
Non è, naturalmente, tutto così semplice. Nel caso del modem in oggetto la configurazione di fabbrica dovrebbe essere pronta per l’uso, e soprattutto evitare brutte sorprese. Ma non si sa mai, così penso sia il caso di riportare qualche avvertenza e consiglio.
Nel contratto è prevista la possibilità di roaming su reti di altri gestori in caso di mancanza di connettività del fornitore. Questa possibilità è fonte di rovina economica, visto che il roaming sarebbe solo in modalità GPRS, il cui costo è in decine di centesimi al megabyte, contando sia quelli inviati che quelli ricevuti, un vero salasso anche solo per leggere un messaggio di posta elettronica.
Abbiamo varie possibilità: la prima è di impostare il modem utilizzando l’interfaccia di configurazione in Windows, che permette appunto di selezionare l’operatore predefinito, ma, naturalmente, occorre Windows. In alternativa si può inserire una particolare stringa di inizializzazione che dovrebbe costringere il modem ad accettare solo la rete dell’operatore scelto. Per far questo, apriamo il pannello di configurazione della rete, dal menù Sistema, Amministrazione, Rete. Scegliamo la connessione modem, e premiamo il pulsante “Modifica”. Nel pannello “Avanzato” abbiamo una casella di testo denominata “Stringa di inizializzazione del modem”. In questa casella digiteremo: at+cops=1,0,H3G. Traducendo, il comando appena inserito cambia il modo di registrazione del modem alla rete 3G, passando in modo manuale e indicando la rete del fornitore.
Abbiamo un effetto collaterale indesiderato (non chiedetemi come sia possibile, ma succede). Alla connessione ci verranno assegnati come indirizzi per la risoluzione dei nomi DNS 10.11.12.13 e 10.11.12.14, totalmente inutili. Per poter navigare abbiamo bisogno di due DNS validi, per cui inseriremo o quelli di OpenDNS, o quelli che il nostro provider di comunica. Nel caso di Tre Italia, i DNS sono di solito 62.13.171.4 e 62.13.171.5. Per inserirli e renderli operativi, dobbiamo aprire il pannello di gestione rete (Sistema, Amministrazione, Rete), selezionare la connessione, premere il pulsante Modifica. Nel pannello “Generale”, toglieremo la spunta a “Ottieni le informazioni DNS automaticamente dal provider”. Chiudiamo questo pannello ed andiamo alla voce “DNS” della configurazione generale di rete ed inseriamo i DNS desiderati.
Naturalmente i valori impostati qui valgono per tutte le connessioni del computer, per cui ci troveremo questi DNS anche per le connessioni Wireless o Ethernet. Non dovrebbero comunque esserci problemi dato che in questi ultimi casi dovrebbe essere invece attiva l’opzione di usare i DNS forniti al momento della connessione, ed i DNS impostati dovrebbero essere ignorati, per usare quelli specificati al momento della negoziazione della connessione di rete.
Per i veri tecnici
Possiamo anche tentare una esplorazione a mano dell’area in cui siamo, senza impostare connessioni o variare configurazioni. Dobbiamo prima installare una particolare utility, cu, contenuta nel pacchetto uucp. Questa utility consente di inviare direttamente comandi al modem via seriale e vederne i risultati. Non si deve usare minicom, il programma che di solito si impiega per connettersi alle BBS (clone del Telix dei bei tempi andati), perché minicom invia dei comandi di testa sua e pretende alcuni segnali specifici del modem prima di funzionare correttamente. Il rischio è che, oltre a non funzionare, i comandi inviati vadano ad “inquinare” il comportamento del modem prima del nostro intervento. Quindi, niente minicom. Apriamo una finestra terminale e digitiamo il comando:
# cu -l /dev/ttyACM0
Connected.
Se otteniamo questo messaggio:
cu: open (/dev/ttyACM0): Permission denied
cu: /dev/ttyACM0: Line in use
vuol dire che stiamo usando un utente che non ha diritto di scrittura sulle porte seriali. Due soluzioni: aggiungere l’utente anche al gruppo uucp, oppure operare da root.
Abbiamo a disposizione i seguenti comandi:
at+cops?
+COPS: 0,0,"H3G",2
OK
Questo controlla con quale operatore telefonico è attualmente registrato il modem. Il primo numero indica la modalità di registrazione (zero per automatica, uno per manuale). Il secondo numero indica il formato in cui è mostrato/accettato l’identificativo dell’operatore, lo zero sta per stringa completa. La stringa è appunto il nome dell’operatore. Se vediamo il nome del nostro possiamo stare tranquilli. Se ne vediamo un altro, non è proprio il caso di partire con una connessione, andremmo in roaming con tutto quello che comporta. Il comando per “bloccare” su un operatore è quello che abbiamo visto prima: at+cops=1,0,H3G. Se invece digitiamo il comando in questo modo:
at+cops=?
+COPS: (2,"H3G","3ITA","22299",2),(1,"Telecom Italia M","TIM","22201",2),
(1,"Wind Telecomunic","WIND","22288",2),
(1,"Omnitel Pronto I","OMNITEL","22210",2),,
(0,1,3,4,5),(0,1,2)
OK
dopo una breve pausa otteniamo la lista delle reti “visibili” dal nostro modem.
Se vogliamo sapere l’intensità del segnale (quante “tacche” abbiamo di segnale in antenna), il comando è:
at+csq
+CSQ: 23,99
OK
Il primo numero può andare da 1 (minimo segnale) a 31 (massimo). Il secondo numero è la misura del BER (tasso di errore della trasmissione), e 99 vuol dire non misurabile.
Altro comando utile è quello per la gestione dell’APN che tanto mi ha fatto penare con L’ASUS eeePC:
at+cgdcont?
+CGDCONT: 1,"IP","datacard.tre.it","0.0.0.0",0,0
OK
qui vediamo la configurazione per un abbonamento Tre solo dati. Per selezionare l’APN il comando è:
at+cgdcont=1,"IP",datacard.tre.it
OK
La stringa IP va scritta con le virgolette.
Ce ne sono molti altri di comandi, possiamo riferirci ai manuali indicati poco sotto, nella sezione Riferimenti.
Altro fastidio può venire dal PIN, ossia il codice segreto di quattro cifre che serve a sbloccare la SIM. Al momento dell’acquisto la SIM è configurata per chiedere il codice di sblocco, ed occorre fornirlo ad ogni accensione, pena il rifiuto di attivare qualsiasi funzione propria della rete 3G o GSM che sia. Possiamo sia disabilitare la richiesta del PIN, usando l’interfaccia fornita con Windows, sia fornire il PIN usando la connessione con l’utility cu nel momento in cui andiamo a collegare il modem al computer:
at+cpin? – chiede lo stato del PIN. Se la risposta è SIM PIN il modem attende il PIN per sbloccare tutte le funzioni.
at+cpin=PIN – dove PIN è il nostro codice a quattro cifre. Sblocca la SIM e rende disponibili tutte le funzioni del modem.
Termino qui. Come sempre, le cose in apparenza semplici difficilmente lo rimangono quando si va appena un po’ sotto la superficie. Per la cronaca, sono due mesi che uso la connessione con il modem Momodesign, con tre differenti sistemi operativi (Fedora 8 e 9, Xandros/eeePC e Windows), da almeno tre regioni differenti d’Italia, in movimento e da fermo, senza alcun problema. La connessione funziona, è comoda e non ha un costo eccessivo. Occorre un po’ di lavoro all’inizio per far funzionare il tutto, ma dopo ci si dimentica di essere con un modem.
Riferimenti
- Un manuale modem con il set di comandi molto simile al Momodesign (cioè il cui modulo interno è costruito dalla Qualcomm)
- Le specifiche TS 27.007 del consorzio 3GPP (DOC PDF)
- Il sito del consorzio 3GPP.

#1 da Matteo il 1 September 2008 - 17:45
Veramente interessante, soprattutto l’ultima parte. Oggi ho fatto delle prove con l’Huawey E220 e i comandi AT che hai indicato rispondono correttamente.
A questo punto, ho pensato di creare un piccolo script che mi dica a quale rete sono connesso e con quanto segnale, ma non sono riuscito a trovare un sistema per inviare i comandi AT al modem (oltre a cu, che però è interattivo e non va bene per questi scopi).
Ho provato anche “echo comando > /dev/MIOMODEM”, ma non mi restituisce l’output dei comandi.
Sapresti darmi qualche suggerimento? E’ tutto il giorno che cerco in giro, ma non ho trovato (quasi) nulla…
#2 da Mario Pascucci il 2 September 2008 - 11:33
Ci sto lavorando. Dammi qualche giorno
#3 da Matteo il 2 September 2008 - 12:59
Nessuna fretta, non ti preoccupare. Nel frattempo sto provando a usare wvdial e con qualche “giochetto sporco”, appena finisco vedrò di pubblicarlo.
Pingback: Fedora, Zenity, modem HSDPA e tempo da perdere — Il non-blog di Mario Pascucci
#4 da Mario Pascucci il 2 September 2008 - 14:15
@Matteo
Troppo tardi, fatto. Niente di che, eh?
Lo trovi qui:
http://www.ismprofessional.net/pascucci/index.php/2008/09/fedora-zenity-modem-hsdpa-e-tempo-da-perdere/
#5 da Matteo il 2 September 2008 - 16:24
Ottimo, corro a provarlo
Pingback: Fedora e modem HSDPA Itelco ITM22 (Wind) — Il non-blog di Mario Pascucci
Pingback: Fedora e modem HSDPA ONDA MT503HS (TIM) — Il non-blog di Mario Pascucci
#6 da Dario il 24 September 2008 - 18:03
Salve,
Sto seguendo passo per passo questa guida (e altra simili) per la nuova versione del momo, questa qua: http://www.tre.it/public/scheda_prodotto.php?idp=27&idOF=151
Purtroppo non riesco a farlo funzionare.
Il problema piu` grosso e` che manca, sulla chiavetta, il pulsante per passare da cd-rom a modem, e Linux vede solo il cd-rom con usb-storage!
Ho provato ad attaccare la chiavetta a windows e selezionare il modem, ma niente da fare.
idee?
Grazie, Dario
#7 da Mario Pascucci il 25 September 2008 - 09:29
@Dario
Prova a seguire questa procedura, con le necessarie variazioni:
http://www.ismprofessional.net/pascucci/index.php/2008/09/fedora-e-modem-hsdpa-itelco-itm22-wind/
#8 da Dario il 26 September 2008 - 10:46
Grazie, sto guardando.
Purtroppo il nuovo momo pare diverso anche da quest’altro modem, ma faro` alcuni tentativi in questo senso.
Ciao e grazie ancora,
Dario
#9 da Fabio il 30 September 2008 - 15:28
Salve! Ho installato Fedora 9 su un notebook acer aspire 1694WMLi.
Ho effettuato tutte le operazioni ma non funziona.
In particolare se tento di attivare il modem ottengo il messaggio “Device H3G: An error was detected in processing the options given, such as two mutually exclusive options being used.”
E comunque con il comando dmesg il modem compare, ma non le info relative a “ttyACM0″..
Come posso procedere?
Grazie,
Fabio.
#10 da Fabio il 30 September 2008 - 15:29
Aggiungo che il mio modello di momodesign è quello vecchio, cioè è presente il pulsante per settare usb o modem…
Pingback: Claudio’s Hideout » Ubuntu 8.10 (Intrepid Ibex) sull’Acer Aspire One:
#11 da Andrea il 2 February 2009 - 12:10
Ciao
splendida spiegazione, magari riesci a darmi un consiglio: ho una MD della 3 che uso a casa con intensità di segnale variabile tra 68 e 86 % ma se lancio un ping -t a qualsiasi sito nel 50 % del tempo non riesce a pingare (richiesta scaduta), ho ipotizzato che il modem passi spesso da HSDPA a UMTS (o qualcosa del genere) e questo gli creai dei problemi, considera che utilizando un vecchio motorola V980 e la scheda 3 funziona sempre (ma ovviamente va molto più lento e devo alimentarlo!) la domanda è: esiste un modo per costringerlo ad una sola “tecnologia” es solo UMTS o solo HSDPA? (lo uso sotto windows, ma in realtà penso che una cosa del genere si dovrebbe fare con comandi AT). Grazie fin d’ora!
#12 da Pino il 4 March 2009 - 16:18
Ciao ho visto che la procedura che hai scritto è basata su fedora 8. Vorrei installare fedora 10. Ti risulta qualche differenza? Grazie per l’aiuto.
Pino
#13 da Mario Pascucci il 4 March 2009 - 19:55
@Pino
Nessuna differenza. Uso Fedora 10 da quando è uscita e il modem lavora senza problemi.
#14 da Pino il 5 March 2009 - 08:37
mmm sono indeciso… mi hanno detto che CentOS è più affidabile… Stessi comandi anche per CentOS? so che anche lui è un derivato RedHat… Devo decidere cosa installare… Ovviamente la possibilità di configurare il sistema con la mia chiavetta è inprescindibile dato che non ho l’adsl a casa…
#15 da lucapost il 10 July 2009 - 13:46
questa guida è fenomenale!
una domanda, con AT+COPS=? verifico quali sono i segnali disponibili, ma:
come verifico la potenza di ciascun segnale?
come verifico la potenza del segnale infunzione della frequenza, ad esempio per tim la potenza dell’EDGE, del UMTS ecc… ?
grazie, mille
#16 da Mario Pascucci il 10 July 2009 - 14:00
Si può verificare la potenza solo della rete/operatore in cui si è agganciati in quel momento.
Vedi in proposito qui
#17 da lucapost il 10 July 2009 - 14:44
ok grazie, stò verificando con cu
cmq il tuo script mi dà il seguente errore:
#> sh /home/lucapost/tmp/ck3g
/home/lucapost/tmp/ck3g: 57: function: not found
/home/lucapost/tmp/ck3g: 59: 8: Bad file descriptor
#18 da Mario Pascucci il 10 July 2009 - 14:59
Hai una shell che non riconosce la parola chiave function…?
#19 da lucapost il 10 July 2009 - 15:57
ops, il mio /bin/sh punta a /bin/dash!
ahi ahi gli standard posix!
#20 da lucapost il 10 July 2009 - 16:19
ancora qualche domanda….
per chiudere la sessione lanciata con cu, devo per forza chiudere la shell? non c’è nessun comando per chiudere la sessione?
inoltre la guida in pdf consigliata sopra non è più raggiungibile, gentilmente sapresti indicarmi una guida abbastanza esaustiva circa i comandi AT ?
grazie di nuovo
LP
#21 da Mario Pascucci il 10 July 2009 - 17:21
http://www.3gpp.org/ftp/Specs/html-info/27007.htm
#22 da giorgio il 3 January 2010 - 12:30
la chiavetta momo design mi dice formattare il disco f
#23 da giorgio il 3 January 2010 - 12:34
sono passato a windows 7 inserisco la chivetta momo h3g e mi dice per poterla installare formattare il disco f
#24 da Mario Pascucci il 4 January 2010 - 12:49
@Giorgio
Ti suggerisco di verificare sul sito del produttore o sul sito del gestore telefonico da cui hai acquistato la chiavetta l’esistenza di driver specifici per Windows 7.
Pingback: Comunicazioni su porta seriale, modem 3G e linux « luke after reigns