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.

Il modem rilevato da Fedora

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.