Table of Contents

Internet Key MomoDesign MD-@ Plus

La chiavetta marchiata MomoDeisgn MD-@ Plus venduta da Tre è una ONDA ZTE MF636. È supportata da Linux nativamente (kernel 2.6.32), senza bisogno di installare le porcherie software fornite a corredo.

Appena inserita viene riconosciuta dal kernel solo come USB storage /dev/sr1. Il comando lsusb mostra:

Bus 001 Device 008: ID 19d2:0103 ONDA Communication S.p.A. ZTE MF112

È necessario installare il programma usb-modeswitch che provvede ad inviare uno speciale comando alla perifierica per effettuare lo switch alla modalità completa.

Tale modifica non è permanente, ma viene eseguita tutte le volte che la chiavetta viene inserita grazie ad alcune regole udev fornite dal pacchetto aggiuntivo usb-modeswitch-data.

In modalità completa la periferica viene riconosciuta come:

Bus 001 Device 004: ID 19d2:0031 ONDA Communication S.p.A. ZTE MF636

rende disponibili - oltre allo USB storage /dev/sr1 - tre periferiche seriali /dev/ttyUSB0, /dev/ttyUSB1 e /dev/ttyUSB2. La perifierica modem da usare è /dev/ttyUSB2.

Comandi AT

Se è necessario impostare il PIN lo si può fare tramite opportuni comandi AT tramite minicom (la periferica da usare è /dev/ttyUSB2).

Non è comodo inserire il PIN dentro una procedura chatscript, perché se si inserisce il PIN per una seconda volta si ottiene errore. Questo significa che una procedura chatscript che inserisce il PIN funziona correttamente la prima volta, ma genera errore le volte successive. A meno di non scrivere una procedura più complessa che testa lo stato attuale della SIM.

Visualizza lo stato del PIN ed eventualmente lo inserisce:

AT+CPIN?
+CPIN: SIM PIN

OK
AT+CPIN="1234"
OK
AT+CPIN?
+CPIN: READY

OK

Dovrebbe essere possibile disabilita la richiesta del PIN con questo comando AT:

AT+CLCK="SC",0,"1234"

In teoria esisterebbe la possibilità di disabilita la funzione di CD-ROM autorun, ma nella pratica non si ha alcun risultato. Questi sarebbero i comandi:

AT+ZCDRUN=8                             
Close autorun state result(0:FAIL 1:SUCCESS):1

AT+ZCDRUN=9
Open autorun state result(0:FAIL 1:SUCCESS):1

Configurazione pppd e chatscript

Se non si vuole usare un qualche moderno Network Manager (quello di Ubuntu 11.04 gestisce la chiavetta correttamente, compresa la richiesta del PIN), è possibile configurare la connessione a mano, creando i seguenti file:

/etc/ppp/peers/tre

debug
lock
hide-password
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/tre"
/dev/ttyUSB2
115200
crtscts
defaultroute
usepeerdns
noipdefault
noproxyarp
user "tre"
remotename "tre"
persist
lcp-echo-interval 0
lcp-echo-failure 0
maxfail 0
holdoff 30

/etc/chatscripts/tre

# abortstring
ABORT BUSY
ABORT 'NO CARRIER'
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
ABORT 'NO ANSWER'
# modeminit
'' ATZ
#OK-AT-OK  'AT+CPIN="3745"'
#OK-AT-OK  '\p\pAT'
# ispnumber
OK-AT-OK 'AT+CGDCONT=1,"ip","tre.it"'
OK-AT-OK 'ATD*99#'
CONNECT \d\c

e infine aggiungere la seguente riga in /etc/ppp/chap-secrets:

"tre"    *    "tre"    *

Digitando il comando pon tre si attiva la connessione, con poff si disabilita.

Sblocco dell'operatore

La chiavetta viene venduta “bloccata” sull'operatore Tre, questo significa che inserendo un'altra SIM e tentando la connessione si ottiene un errore:

pppd[5313]: Connect: ppp0 <--> /dev/ttyUSB2
pppd[5313]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xd33ae3a8>]
pppd[5313]: rcvd [LCP ConfReq id=0xf <asyncmap 0x0> <auth chap MD5> <magic 0x1377435> <pcomp> <accomp>]
pppd[5313]: sent [LCP ConfRej id=0xf <pcomp> <accomp>]
pppd[5313]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xd33ae3a8>]
pppd[5313]: rcvd [LCP ConfReq id=0x10 <asyncmap 0x0> <auth chap MD5> <magic 0x1377435>]
pppd[5313]: sent [LCP ConfAck id=0x10 <asyncmap 0x0> <auth chap MD5> <magic 0x1377435>]
pppd[5313]: sent [LCP EchoReq id=0x0 magic=0xd33ae3a8]
pppd[5313]: rcvd [LCP DiscReq id=0x11 magic=0x1377435]
pppd[5313]: rcvd [CHAP Challenge id=0x1 <de23bc12ee9de33428ae176f52abdc32>, name = "UMTS_CHAP_SRVR"]
pppd[5313]: sent [CHAP Response id=0x1 <5f967042cde67a59e63abba79ca4e223>, name = "wind"]
pppd[5313]: rcvd [LCP EchoRep id=0x0 magic=0x1377435 d3 3a e3 a8]
pppd[5313]: rcvd [CHAP Success id=0x1 ""]
pppd[5313]: CHAP authentication succeeded
pppd[5313]: CHAP authentication succeeded
pppd[5313]: sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns2 0.0.0.0>]
pppd[5313]: Modem hangup
pppd[5313]: Connection terminated.

Ovviamente non vale il viceversa: è possibile usare la SIM Tre su altra chiavetta non bloccata.

FIXME Come fare a sbloccare la chiavetta?