=== Configurazione modem UMTS Huawei E220 con Ubuntu 7.10 === Questa configurazione funziona circa. Capita di dover forzare un po` la mano lanciando a mano il programma {{{huaweiAktBbo}}} dopo aver inserito il modem, se all'inizializzazione da parte di udev non funziona come si deve. Teoria: Il modem contiene due funzioni: una e` un mass storage (visto come un cdrom) che contiene il driver per widows. L'altra e` il modem gsm vero e proprio. Il problema e` che per commutare da una funzione all'altra occorre "dirlo" al modem. Il modem parte come mass storage, ovviamente, e non come modem. *ODIO* la roba troppo user-friendly. Specie quando e` fatta solo per windows. Pratica: Occorre convincere il modem a comportarsi da modem e non da flash memory. Per farlo, occorre: * Scaricare e compilare il programmino che commuta il funzionamento del modem: * Installare quello che serve per compilare il programma: {{{ apt-get install libusb-dev wget build-essential }}} * Scaricare il programma: (c'e` una copia locale in attachment a questa pagina, se servisse) {{{ wget http://www.kanoistika.sk/bobovsky/archiv/umts/huaweiAktBbo.c }}} * Compilare il programma e copiarlo in /usr/local/sbin {{{ cc huaweiAktBbo.c -lusb -o huaweiAktBbo cp huaweiAktBbo /usr/local/sbin/ }}} * Aggiungere una regola in udev che lanci il programma appena installato quando si collega il modem: Creare il file {{{/etc/udev/rules.d/50-huawei-e220.rules}}} e scriverci dentro: {{{ SUBSYSTEM=="block", \ ACTION=="add", \ SYSFS{idVendor}=="12d1", \ SYSFS{idProduct}=="1003", \ IMPORT{program}="huawei-mobile.sh", \ OPTIONS="ignore_device" }}} * Creare un file {{{/lib/udev/huawei-mobile.sh}}} {{{ #!/bin/bash /sbin/modprobe usbserial vendor=0x12d1 product=0x1003 /bin/sleep 1s /usr/local/sbin/huaweiAktBbo | /usr/bin/logger }}} Ora succede questo: quando si collega il modem, udev lo vede come device di memoria di massa, ma la regola inserita sopra impedisce che venga caricato come tale, lanciando invece lo script huawei-mobile.sh. Questo script carica usbserial per il device in questione, attende un momento, e poi lancia il programma huaweiAktBbo il quale abilita il modem nello scatolo disattivando la periferica di memoria di massa. Questo giro basterebbe venisse fatto una volta sola, ma cosi` come e` adesso viene fatto due volte perche` la prima volta il modem viene di nuovo riconosciuto e quindi fa scattare di nuovo tutto il sistema. Questo non crea problemi se non un lieve rallentamento. L'output di huaweiAktBbo si vede in syslog. In teoria a questo punto quando si collega il modem, dopo un certo tempo (30 secondi?) dovremmo avere dentro a /dev/ due device ttyUSB0 e ttyUSB1. Se c'e` solo ttyUSB0 oppure non c'e` nessun device, vale la pena di provare a lanciare a mano il programma huaweiAktBbo e vedere se dopo funziona. ==== Configurazione del PPP ==== Per connettermi a Wind o a Tre uso questi files di configurazione: File {{{/etc/ppp/peers/wind}}}: {{{ # configurazione per modem USB HSDPA ADSM Huawei E220 # e per la rete di Wind (business) # chat script per connettere connect "/usr/sbin/chat -v -f /etc/chatscripts/wind" # user user wind password wind # debug nodetach debug # Serial device to which the modem is connected. /dev/ttyUSB0 # Speed of the serial line. 460800 #idle 7200 lock crtscts modem noauth replacedefaultroute defaultroute noipdefault ipcp-accept-local nobsdcomp novj persist usepeerdns }}} File {{{/etc/chatscripts/wind}}}: {{{ REPORT CONNECT ABORT BUSY ABORT VOICE ABORT "NO CARRIER" ABORT "NO DIALTONE" ABORT "NO DIAL TONE" "" ATZ OK 'AT+cgdcont=1,"IP","internet.wind"' OK ATD*99# CONNECT "" }}} Ovviamente occorre modificare l' APN in modo corretto. Per Wind e` "internet.wind" o "internet.wind.biz" a seconda del contratto. Per tre l'apn dovrebbe essere "tre.it" ma siccome Tre cambia idea spesso, non so se sia buono. ==== Configurazione del firewall ==== Firewallare la connessione ppp non e` una cattiva idea, quindi dentro a {{{/etc/ppp/ip-up.d}}} ho creato il file {{{0firewall}}} che contiene: {{{ #!/bin/bash iptables -F iptables -F -t nat iptables -A INPUT -i ppp+ -p icmp -j ACCEPT iptables -A INPUT -i ppp+ -m state --state NEW,INVALID -j DROP iptables -A FORWARD -i ppp+ -m state --state NEW,INVALID -j DROP }}} Se dovete usare protocolli rognosi (ftp, per dire) forse e` il caso anche di inserire dei modprobe per caricare gli helper relativi. === LINKS === Una interessante (ma secondo me non del tutto esatta) interpretazione dei problemi di riconoscimento del modem da parte del kernel, piu` un programmolo per vedere le statistiche di traffico del modem si trovano qui: http://oozie.fm.interia.pl/pro/huawei-e220/. Altra documentazione sulla configurazione di Linux e su udev qui: http://wwwu.uni-klu.ac.at/agebhard/HuaweiE220/ Configurazione di un Asus WL-500G con un E220 sulla usb, per fare un router wireless che si connette a internet in HSDPA. In tedesco, pero`: http://www.umtslink.at/3g-forum/showpost.php?p=528907&postcount=8