Configurazione di una connessione UMTS automatica in Debian: Difference between revisions

From RVM Wiki
Jump to navigation Jump to search
mNo edit summary
 
(One intermediate revision by the same user not shown)
Line 216: Line 216:


* Rendere eseguibile:
* Rendere eseguibile:
  chmod +x /usr/local/sbin/umts
  sudo chmod +x /usr/local/sbin/umts


* Sostituire lo script nella regola:
* Sostituire lo script nella regola:
Line 235: Line 235:
*[http://sakis.tel4u.gr/blog/2010/02/06/sakis3g-as-a-udev-rule/#rule Sakis3G as a udev rule « TODO forever]
*[http://sakis.tel4u.gr/blog/2010/02/06/sakis3g-as-a-udev-rule/#rule Sakis3G as a udev rule « TODO forever]
*[http://ubuntuforums.org/showthread.php?t=1246293 [ubuntu] How to get working HUAWEI Mobile Broadband, Model E1750 on UBUNTU 9.04 - Ubuntu Forums]
*[http://ubuntuforums.org/showthread.php?t=1246293 [ubuntu] How to get working HUAWEI Mobile Broadband, Model E1750 on UBUNTU 9.04 - Ubuntu Forums]
*[http://www.linuxmind-italia.org/index.php?topic=12833.0 (Guida) Installare la chiavetta Huawei E173 su Mint 11 LXDE]
*[http://guide.debianizzati.org/index.php/Internet_Key_Huawei_E173s_7.2Mb Internet Key Huawei E173s 7.2Mb - Guide@Debianizzati.Org]
*[http://forum.ubuntu-it.org/viewtopic.php?t=427655 (Internet) AIUTO! Chiavetta wind HUAWEI E173 non c'è modo di farla funzionare • Forum Ubuntu-it]

Latest revision as of 14:08, 14 December 2012

Configurazione chiavetta

  • Se la chiavetta è semplice, appena collegata viene vista su
/dev/ttyUSB0
  • Se la chiavetta di default è vista solo come mass sotrage, occorre installare usb-modeswitch, che la attiva come modem:
sudo apt-get install usb-modeswitch
  • Togliere la chiavetta, attendere 30 secondi, rimetterla.
  • Provarla con Minicom
minicom
# Show model and EMEI number:
ATI
Manufacturer: huawei
Model: E220
Revision: 11.117.09.04.00
IMEI: 354111128111119
+GCAP: +CGSM,+DS,+ES
OK

# show registers
AT&V
  • Se la chiavetta ha il pin, inserirlo:
# provide pin-code:
AT+CPIN="0000"
OK
  • Verificare se c'è segnale:
# Get the network signal strength: the first value.
# Typical values from 5 to 22.
# Minimum acceptable for reliable connections is 12.
AT+CSQ
+CSQ: 16,99
OK
  • Disabilitare il pin:
# (replace xxxx with your own PIN)
# Turn off the PIN question
AT+CLCK="SC",0,"XXXX"
  • Se lo si vuole riattivare:
# To turn the PIN question on again, type
AT+CLCK="SC",1,"XXXX"
  • Se si vuol sapere se la richiesta pin è on o off:
# Check if the PIN question is on or off.
# "+CLCK: 0" PIN is off, "+CLCK: 1" the PIN is on.
AT+CLCK="SC",2
+CLCK: 1
OK


  • Per settare l'APN:
AT+CGDCONT=1,"IP","ibox.tim.it"
  • Per un elenco esaustivo dei comandi:
List of AT commands « shapeshifter.se

Configurazione connessione

  • Installare pppd
sudo apt-get install ppp
  • Creare lo script di connessione (impostare l'APN corretto):
sudoedit /etc/chatscripts/umts
# abortstring
ABORT BUSY
ABORT 'NO CARRIER'
ABORT VOICE
ABORT 'NO DIALTONE'
ABORT 'NO DIAL TONE'
ABORT 'NO ANSWER'
ABORT DELAYED

# modeminit
'' ATZ

# ispnumber
OK ATQ0V1E1S0=0&C1&D2
OK AT+CGDCONT=1,"IP","ibox.tim.it"
OK ATDT*99#
CONNECT ''
  • Creare il file di configurazione ppp:
sudoedit /etc/ppp/peers/umts
/dev/ttyUSB0
7200000
noipdefault
defaultroute
persist
noauth
#nodetach
connect "/usr/sbin/chat -v -f /etc/chatscripts/umts"
debug
replacedefaultroute
maxfail 0
  • Provare la connessione, come se fosse una normale connessione ppp:
sudo pon umts
  • Verificare in syslog, verificare default route, etc ...
  • Disconnettere:
sudo poff umts

Creazione regola udev per connessione automatica

  • Verificare l'ID della chiavetta:
lsusb 
...
Bus 001 Device 004: ID 12d1:1001 Huawei Technologies Co., Ltd. E620 USB Modem
...
  • Gli id in questo caso sono:
idVendor=12d1
idProduct=1001
  • Creare la regola che lancia la connessione:
sudoedit /etc/udev/rules.d/10-umts.rules
ACTION=="add",    SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1001", ATTRS{bInterfaceNumber}=="00", RUN+="/usr/bin/pon  umts"
ACTION=="remove", SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", ATTRS{idProduct}=="1001", ATTRS{bInterfaceNumber}=="00", RUN+="/usr/bin/poff umts"
  • Applicare la regola:
sudo udevadm trigger
  • Se non dovesse funzionare, inderire una regola diversa. Identificare i dati udev della porta /dev/ttyUSB0:
/sbin/udevadm info -a -p $(/sbin/udevadm info -q path -n /dev/ttyUSB0)
...
  looking at device '/devices/pci0000:00/0000:00:1d.7/usb1/1-8/1-8:1.0/ttyUSB0/tty/ttyUSB0':
    KERNEL=="ttyUSB0"
    SUBSYSTEM=="tty"
    DRIVER==""
...
  • Inserire quindi la regola:
sudoedit /etc/udev/rules.d/10-umts.rules
ACTION=="add",    KERNEL=="ttyUSB0", SUBSYSTEM=="tty", RUN+="/usr/bin/pon   umts"
ACTION=="remove", KERNEL=="ttyUSB0", SUBSYSTEM=="tty", RUN+="/usr/bin/poff  umts"
  • Riapplicare le regole:
sudo udevadm trigger
  • Reinserire la chiavetta: la prima connessione fallisce, poi si collega.

Gestione con script per disabilitazione interfaccia Ethernet

  • Creare il file di attivazione:
sudoedit /usr/local/sbin/umts
#!/bin/bash
ACTION="$1"

case "$ACTION" in
        "on" )
                        /usr/bin/logger -t umts "UMTS connection setup started ..."
                        /usr/bin/logger -t umts "Taking down eth1 ..."
                        /sbin/ifdown eth1
                        /usr/bin/logger -t umts "Sleeping 15 seconds ..."
                        /bin/sleep 15
                        /usr/bin/logger -t umts "Dialing UMTS provider ..."
                        /usr/bin/pon umts
                        /usr/bin/logger -t umts "UMTS connection setup finished."

        ;;

        "off")
                        /usr/bin/logger -t umts "UMTS disconnection started ..."
                        /usr/bin/logger -t umts "Disconetting UMTS provider ..."
                        /usr/bin/poff umts
                        /usr/bin/logger -t umts "Sleeping 5 seconds ..."
                        /bin/sleep 5
                        /usr/bin/logger -t umts "Taking up eth1 ..."
                        /sbin/ifup eth1
                        /usr/bin/logger -t umts "UMTS disconnection finished."
        ;;

        * )
                echo "Usage: umts [on|off]"
        ;;
esac
  • Rendere eseguibile:
sudo chmod +x /usr/local/sbin/umts
  • Sostituire lo script nella regola:
sudoedit /etc/udev/rules.d/10-umts.rules
ACTION=="add",    KERNEL=="ttyUSB0", SUBSYSTEM=="tty", RUN+="/usr/local/sbin/umts on"
ACTION=="remove", KERNEL=="ttyUSB0", SUBSYSTEM=="tty", RUN+="/usr/local/sbin/umts off"
  • Riapplicare le regole:
sudo udevadm trigger


Riferimenti