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
.
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
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.
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.
Come fare a sbloccare la chiavetta?