Durante l'estate 2008 mi è capitato di non avere connessione in alcun modo. Alla fine ho deciso di affidarmi ad una connessione HSDPA di vodafone.
Vediamo, allora, come utilizzare un Asus Wl-500g come gateway HSDPA con un pennino Huawei E176.
1. Prima di tutto ho aggiornato l'openwrt del mio Asus all'ultima versione dell'SVN.
2.Ho controllato che i moduli necessari fossero presenti nella distribuzione (altrimenti vanno installati): di sequito la lista
usbserial usb-ohci ppp_async ppp_generic usbcore
successivamente sono stato costretto a caricare il modulo usbserial con alcuni parametri che identificano il vendor e il modello del mio pennino hsdpa (legibbili su dmesg e nel mio caso vendor=0x12d1 product=0x1003)
per caricare il modulo con i parametri, modificare il file /etc/modules.d/60-usb-serial in questo modo:
usbserial vendor=0x12d1 product=0x1003 maxSize=4096
il maxSize=4096 serve per aumentare il buffer della seriale onde non "strozzare" la connessione hsdpa
successivamente ho creato due file:
1. /etc/ppp/peers/hsdpa.chat 2. /etc/ppp/peers/vodafone
di seguito i due file
root@OpenWrt:/etc/ppp/peers# cat hsdpa.chat '' '' '' 'ATZ' TIMEOUT 5 'OK' 'AT+CGDCONT=1,"IP","web.omnitel.it"' 'OK' 'ATD*99#' 'CONNECT' ''
in cui la stringa
web.omnitel.it
indica l'indirizzo del APN del gestore utilizzato e
root@OpenWrt:/etc/ppp/peers# cat vodafone noauth debug /dev/usb/tts/0 460800 defaultroute noipdefault noccp nobsdcomp usepeerdns connect-delay 10000 #nodetach persist connect "/usr/sbin/chat -v -V -t3 -f /etc/ppp/peers/hsdpa.chat"
in cui la stringa:
/dev/usb/tts/0
indentifica l'interfaccia usb seriale (in questo caso devfs) di solito è /dev/ttyUSB0
per fare partire la connessione ora basta un semplice:
pppd call vodafone
Volevo successivamente fare partire la connessione in modo automatico all'avvio dell'wl-500g, ma mi sono imbattuto in un problema. Al primo avvio del router (il primo boot quando si inserisce la spina) l'Asus wl-500g non comunica con la penna Huawei. Neanche microcom (equivalente di minicom) riesce a dialogare ed impartire comandi AT alla penna. Ma se riavviato, il router, quindi senza perdere alimentazione, la penna risponde.
Per ovviare a questo problema ho scritto uno script che all'avvio, dopo aver avviato la connesione aspetta un minuto, se è possibile raggiungere una macchina su internet (nel mio caso ho scelto www.google.com) allora lo script muore, altrimenti riavvia il router. Di seguito riporto questo semplice script che viene fatto partire da uno degli script su /etc/rc.d/
root@OpenWrt:/etc/rc.d# cat /bin/umts #!/bin/sh pppd call vodafone sleep 60 ping -c 1 www.google.com; if [ $? -ne 0 ]; then reboot else exit 0; fi
Questo sistema potrebbe consentire alla community di avere connettività in altre occasioni in cui non è possibile montare link con la nostra rete. Spero di essere stato abbastanza chiaro, al prossimo smanettamento, buona estate a tutti Nino