configurar Android 2.3.x como modem para ubuntu / debian

Tras actualizar mi Samsung Galaxy GT-9003 a la última versión disponible (2.3.5), he visto que he perdido algunas funcionalidades…… al conectarlo a mis portátiles con linux (varios), por USB, no lo puedo volver a usar como modem… 🙁 usarlo como AP wifi no me gusta, consume mucha batería.

Vamos a comprobar…. ponemos el teléfono en modo depuración y lo conectamos a nuestro ubuntu….. hacemos un sudo dmesg y vemos algo positivo… 🙂

[21488.727062] cdc_acm 1-1:1.1: This device cannot do calls on its own. It is not a modem.
[21488.727173] cdc_acm 1-1:1.1: ttyACM0: USB ACM device
[21488.728567] usbcore: registered new interface driver cdc_acm
[21488.728569] cdc_acm: v0.26:USB Abstract Control Model driver for USB modems and ISDN adapters
[21489.662890] scsi 4:0:0:0: Direct-Access Texas In struments Inc.OM AP4 PQ: 0 ANSI: 2
[21489.664629] scsi 4:0:0:1: Direct-Access Texas In struments Inc.OM AP4 PQ: 0 ANSI: 2
[21489.666325] sd 4:0:0:0: Attached scsi generic sg3 type 0
[21489.666825] sd 4:0:0:1: Attached scsi generic sg4 type 0
[21489.680981] sd 4:0:0:0: [sdc] Attached SCSI removable disk
[21489.683482] sd 4:0:0:1: [sdd] Attached SCSI removable disk

Vemos que se crea un nuevo modem USB 🙂 en el puerto ttyACM0: USB ACM device…. y ahora vamos a investigar cómo….

Lo primero que se me ocurre es usar el viejo wvdial…

sudo apt-get install wvdial

Tras unos instantes tendremos instalados los paquetes… ahora hacemos la config…

sudo wvdialconf

Y ahora vemos la config… en mi caso tengo Joigo; el modem en el puerto ACM0. Editamos el fichero /etc/wvdial.conf y deberá estar más o menos como este:

[Dialer Defaults]
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1,”IP”,”internet”
Modem = /dev/ttyACM0
Phone = *99***1#
Idle Seconds = 3000
Auto DNS = 1
Password = internet
Modem Type = USB Modem
Stupid Mode = 1
Compuserve = 0
Baud = 460800
New PPPD = yes
Dial Command = ATDT
Ask Password = 0
ISDN = 0
Username = internet

Ya tenemos listo el marcado y el modem… ahora para usarlo… desde el terminal, hacemos:

sudo wvdial

y tendremos que ver en la consola, algo como esto:

craem@cepheusMAC:/etc$ sudo wvdial
–> WvDial: Internet dialer version 1.60
–> Cannot get information for serial port.
–> Initializing modem.
–> Sending: ATZ
OK
–> Sending: ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
OK
–> Sending: AT+CGDCONT=1,”IP”,”internet”
AT+CGDCONT=1,”IP”,”internet”
OK
–> Modem initialized.
–> Idle Seconds = 3000, disabling automatic reconnect.
–> Sending: ATDT*99***1#
–> Waiting for carrier.
ATDT*99***1#
CONNECT 7200000
–> Carrier detected. Starting PPP immediately.
–> Starting pppd at Sun Dec 25 22:14:11 2011
–> Pid of pppd: 7023
–> pppd: [14][7f]
–> Using interface ppp0
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> Authentication (CHAP) started
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> Authentication (CHAP) successful
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> pppd: [14][7f]
–> local IP address 46.XXX.XX.XXX
–> pppd: [14][7f]
–> remote IP address 46.XXX.XX.XXX
–> pppd: [14][7f]
–> primary DNS address 213.248.76.210
–> pppd: [14][7f]
–> secondary DNS address 213.248.100.54
–> pppd: [14][7f]
–> pppd: [14][7f]
–> Script /etc/ppp/ip-up run successful
–> Default route Ok.

Y voilá!!!! ya tenemos conexión a internet… nuestro flamante teléfono android 2.3.x + linux ubuntu / debian 🙂 problema solucionado.

Ahora podemos ver si hay IP; hacemos un ifconfig y vemos el interface ppp

ppp0 Link encap:Protocolo punto a punto
Direc. inet:46.XXX.XX.XXX P-t-P:46.XXX.XX.XXX Másc:255.255.255.255
ACTIVO PUNTO A PUNTO FUNCIONANDO NOARP MULTICAST MTU:1500 Métrica:1
Paquetes RX:20 errores:0 perdidos:0 overruns:0 frame:0
Paquetes TX:10 errores:0 perdidos:0 overruns:0 carrier:0
colisiones:0 long.colaTX:3
Bytes RX:582 (582.0 B) TX bytes:219 (219.0 B)