abril 26, 2009

Yoigo en Gentoo a través del TS705

He leido varios artículos de como configurar Yoigo en linux, pero ninguno con el Toshiba TS705 (debe ser el móvil de los pobres), en general las guías son las mismas que en el resto de situaciones:
Para empezar necesitamos arrancar bluetooth, la guía de gentoo está bastante detallada al respecto, con la salvedad del funcionamiento del manejador de pin, al final me decanté por kdebluetooth y a correr.
# emerge net-wireless/bluez-libs net-wireless/bluez-utils
# /etc/init.d/bluetooth start
# hcitool scan
Scanning ...
00:15:B7:56:B2:42 Noah

Con este telefono el truco está en que el puerto de "dialup" no se trata del número 1 que por defecto viene en la documentación, para descubrirlo utilizamos el siguiente comando:
Browsing 00:15:B7:56:B2:42 ...
Service Name: Serial Port Profile
Service RecHandle: 0x10000
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 16
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Serial Port" (0x1101)
...

Service Name: QC Dial-up Networking
Service RecHandle: 0x10003
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 8
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100

Si observamos el servicio "QC Dial-up Networking" se encuentra en el canal 8, para ello definiremos en /etc/bluetooth/rfcomm.conf una entrada tal que así:
rfcomm0 {
bind yes;
device 00:15:B7:56:B2:42;
channel 8;
comment "Yoigo TS705";
}

"bind" es necesario para que cree la entrada /dev/rfcomm0 sobre la que luego lanzaremos el dialer.
Reiniciamos el demonio, es interesante tener ya pareado el dispositivo, para eso nos sirve lanzarle un ping:
# l2ping 00:15:B7:56:B2:42
Ping: 00:15:B7:56:B2:42 from 00:03:44:24:30:A1 (data size 44) ...
4 bytes from 00:15:B7:56:B2:42 id 0 time 33.94ms
4 bytes from 00:15:B7:56:B2:42 id 1 time 23.83ms
^C2 sent, 2 received, 0% loss

Tras lo cual nos saltará un dialogo para introducir el mismo pin en el móvil y en el ordenador, es necesario tener lanzado el kbluetooth o lanzar en ese momento el passkey-agent (con este último no he conseguido que funcione). Una vez pareado ya no hará falta volver a hacer esto.

Una vez reiniciado tendremos ya creado el interfaz /dev/rfcomm0

emerge -av net-dialup/wvdial


Creamos el archivo .wvdialrc en nuestro home con el contenido siguiente:
[Dialer YoigoBT]
Modem = /dev/rfcomm0
Phone = *99***1#
Username = ''
Password = ''


Si hubieramos definido mal el canal remoto bluetooth y cambiado la config del teléfono obtendríamos esta salida:
# wvdial YoigoBT
--> WvDial: Internet dialer version 1.60
--> Cannot open /dev/rfcomm0: Connection refused
--> Cannot open /dev/rfcomm0: Connection refused
--> Cannot open /dev/rfcomm0: Connection refused


Tenemos que soltar el canal, para ello:
# rfcomm -a
rfcomm0: 00:15:B7:56:B2:42 channel 1 closed
# rfcomm release 00:15:B7:56:B2:42
# rfcomm -a
# /etc/init.d/bluetooth restart
# rfcomm -a
rfcomm0: 00:15:B7:56:B2:42 channel 8 clean


# wvdial YoigoBT
--> WvDial: Internet dialer version 1.60
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
CONNECT
--> Carrier detected. Waiting for prompt.
--> Don't know what to do! Starting pppd and hoping for the best.
--> Starting pppd at Sun Apr 26 22:46:37 2009
--> Pid of pppd: 7783
--> Using interface ppp0
--> local IP address 217.168.x.x
--> remote IP address 10.64.x.x
--> primary DNS address 10.8.x.x
--> secondary DNS address 10.8.x.xx


Solo queda configurar la puerta de enlace y los dns ;)

comentarios: