¿Puedo conectar el portátil a un móvil Vodafone Sharp 703SH con tecnología 3G?

Pues sí. Claro que puedes. La cuestión es cómo configurarlo, porque hasta el momento y que yo sepa, ningún software linux da soporte a éste teléfono. De hecho, el excelente programa GPRS Easy Connect afirmaba en su página web que el teléfono está soportado, pero si lo intentas descubrirás que no es cierto porque no consigues conectar con Vodafone: el programa se empeña en decirte una y otra vez que el teléfono está apagado.

Sin embargo, sí podemos usar el Generador de Scripts que viene incluido en GPRS Easy Connect para crear los scripts que utilizaría un Sharp GX25. Estos Scripts no nos sirven para el 703SH, pero es relativamente fácil modificarlos según los parámetros que proporciona el Servicio de Atención al Cliente de Vodafone. No te preocupes, no te haré seguir todos estos pasos: te lo doy ya todo masticado, ¿vale?. ;-)

Lo primero de todo es configurar una conexión Bluetooth entre el teléfono y el ordenador. Eso, en si mismo, no debería suponer ningún problema, pues está bastante bien documentado y puede encontrarse googleando un poco, pero en fin.

Estableciendo una conexión Bluetooth entre Linux y el teléfono.

Si tu ordenador portátil no tiene Bluetooth, necesitarás un USB Dongle, por ejemplo sirven los de Conceptronic. Deberías poder consultar la lista del hardware soportado por Linux en la página Bluetooth Hardware Support for Bluez, pero si vas a mirar te encontrarás con una sorpresita bastante curiosa: que como esos dispositivos no dan soporte en Linux, podría ser ilegal decir que, de hecho, funcionan en Linux, así que la lista ha desaparecido... Increíble, ¿no?. En fin, googlea un poco y encontrarás un dispositivo USB adecuado. Luego, habrá que configurarlo para que funcione. Y a eso vamos.

Primero tienes que instalar el paquete Bluez. En el caso de Gentoo es muy fácil:

[lacofi@lynette ~]$ su
password:
[root@lynette /home/lacofi]# emerge bluez-utils gnome-bluetooth kdebluetooth

Una vez instalado Bluez, tienes que arrancar el demonio bluetooth:

[root@lynette /home/lacofi]# /etc/init.d/bluetooth start

Y si quieres, mete este demonio en los script de inicio para que se ponga en marcha automáticamente en cada arranque.

[root@lynette /home/lacofi]# rc-update add bluetooth default

Ahora tienes que configurar la conexión con el teléfono. Asegúrate de que la configuración Bluetooth del móvil está ajustada para que el teléfono sea detectable por otros dispositivos. Si no, vas de cráneo. ;-)

Una vez que tu teléfono es visible para las redes Bluetooth, puedes pedirle a Linux que lo busque:

[root@lynette /home/lacofi]# hcitool scan
Scanning ...
        08:00:1F:2D:8B:4F       lacofi

Vale. Lo ha encontrado, y ya sabes cual es su dirección MAC (08:00:1F:2D:8B:4F). Ahora consulta qué servicios ofrece el teléfono para comprobar que uno de ellos es "Dial-up Networking". Esto, además te proporcionará otro dato importante: el canal.

[root@lynette /home/lacofi]# sdptool search DUN
Inquiring ...
Searching for DUN on 08:00:1F:2D:8B:4F ...
Service Name: Dial-up Networking
Service RecHandle: 0x10002
Service Class ID List:
  "Dialup Networking" (0x1103)
  "Generic Networking" (0x1201)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 2
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100

El canal es el 2, ¿has visto?. Una vez pasado este trámite, tienes que enganchar esa dirección MAC a un dispositivo /dev/rfcomm?, en el canal 2. Como no tienes ningún otro dispositivo Bluetooth (supongo), será llamado /dev/rfcomm0.

El comando es algo así como "rfcomm bind [nº dispositivo] [MAC] [Canal]". O sea:

[root@lynette /home/lacofi]# rfcomm bind 0 08:00:1F:2D:8B:4F 2
[root@lynette /home/lacofi]# rfcomm show
rfcomm0: 08:00:1F:2D:8B:4F channel 2 clean

Ahora tienes que emparejar los dos dispositivos Bluetooth: El del ordenador y el teléfono. Para ello edita o crea un fichero /etc/bluetooth/pin que contenga un número de al menos 4 cifras (mejor si son 8, mucho mejor si son 10) con el siguiente formato:

#!/bin/sh
echo "PIN:6820317173"

Ahora dale a ese fichero permisos de ejecución para todos:

[root@lynette /home/lacofi]# chmod a+rx /etc/bluetooth/pin

Ahora edita el fichero /etc/bluetooth/hcid.conf y modifica la línea con la entrada pin_helper para que apunte a /etc/bluetooth/pin:

Donde dice:

pin_helper /usr/bin/bluepin;

Debe decir:

pin_helper /etc/bluetooth/pin;

Con esto, el ordenador solicitará al teléfono un emparejamiento a la primera ocasión que tenga (es decir, cuando conectes por primera vez). Una vez emparejados ambos dispositivos, quedarán enlazados para siempre, y ya podrás volver a configurar el Bluetooth del teléfono para que se oculte. A partir de entonces, el teléfono solo será visible para el ordenador. Pero el punto flaco de todo esto son los comandos "sbptool search DUN" y "rfcomm bind" que vimos más arriba, porque es un poco peñazo tener que estar tecleando eso cada vez que quieres conectarte a Internet. Para evitarlo (o sea, para que se enganchen automáticamente), hay que editar el fichero /etc/bluetooth/rfcomm.conf y dejarlo así:

#
# RFCOMM configuration file.
#
# $Id: rfcomm.conf,v 1.1 2002/10/07 05:58:18 maxk Exp $
#

rfcomm0 {
	bind yes;
	device 08:00:1F:2D:8B:4F;
	channel 2;
	comment "Conexion con Movil Sharp 703";
}

Con ello estamos metiendo el número de dispositivo (rfcomm0), la MAC y el canal en el fichero de configuración de rfcomm, con lo cual lo hará todo automáticamente.

Si estás usando UDEV, cosa que te recomiendo, edita además el fichero /etc/udev/rules.d/10-local.rules e introduce una entrada tal que así:

# Bluetooth USB Dongle
KERNEL="rfcomm*", NAME="%k", MODE="660", GROUP="usb"

Esto hará que los dispositivos /etc/rfcomm0 se creen siempre con permisos de acceso para el grupo usb. Asegúrate, naturalmente, de que todos los usuarioa que van a usar la conexión con el teléfono pertenecen a dicho grupo.

Bien, pues lo peor ya ha pasado. Ahora queda solo la parte fácil: conectarse a Internet. :-)

Conectarse a Internet

Solo hay que crear una configuración para el demonio pppd. Es muy fácil, una vez que sabes qué comandos de módem se necesitan. En el directorio /etc/ppp/peers crea tres ficheros tal que así:

El fichero /etc/ppp/peers/sharp-703sh debería ser:

#!/bin/sh
#El fichero original fue generado con el Generador de Scripts de
#GPRS Easy Connect para un Sharp GX20 y modificado por mí para
#adaptarlo al Sharp 703SH.

debug
/dev/rfcomm0
460800
crtscts
modem
lock
receive-all
nopcomp
noaccomp
nomagic
noccp
novj
novjccomp
nodetach
noipdefault
defaultroute
usepeerdns
user vodafone
password vodafone
connect '/usr/sbin/chat -e -f /etc/ppp/peers/sharp-703sh-connect -v'
disconnect '/usr/sbin/chat -e -f /etc/ppp/peers/sharp-703sh-disconnect -v'

El fichero /etc/ppp/peers/sharp-703sh-connect debería ser:

#El fichero original fue generado con el Generador de Scripts de
#GPRS Easy Connect para un Sharp GX20 y modificado por mí para
#adaptarlo al Sharp 703SH.

'' AT
TIMEOUT 240
OK ATE0
OK ATV1
OK ATDT*99***1#
TIMEOUT 30
CONNECT ""

El fichero /etc/ppp/peers/sharp-703sh-disconnect debería ser:

#El fichero original fue generado con el Generador de Scripts de
#GPRS Easy Connect para un Sharp GX20 y modificado por mí para
#adaptarlo al Sharp 703SH.

SAY "\nDisconnect...\n"
"" "\K"
"" "+++ATH"
SAY "\nDisconnected.\n"

Ahora asegúrate de que estos tres ficheros tienen permisos de lectura para el usuario que ha de conectarse. Si no, solo podrás conectarte como root.

Vale, pues ya está. Ahora solo tienes que conectarte a Internet a velocidad 3G (¡te aseguro que vuela!). Abre una ventana de terminal y arranca la conexión. Para colgar el teléfono y cerrar la conexión solo tienes que pulsar Ctrl-C.

[root@lynette /home/lacofi]# exit
[lacofi@lynette ~]$ /usr/bin/pppd file /etc/ppp/peers/sharp-703sh
AT
OK
ATE0
OK

OK

CONNECT
Serial connection established.
using channel 2
Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm0
sent [LCP ConfReq id=0x1 <asyncmap 0x0>]
rcvd [LCP ConfReq id=0x2 <auth chap MD5> <accomp> <pcomp>
  <asyncmap 0x0> <magic 0xdc84b0b5>]
sent [LCP ConfRej id=0x2 <accomp> <pcomp> <magic 0xdc84b0b5>]
rcvd [LCP ConfAck id=0x1 <asyncmap 0x0>]
rcvd [LCP ConfReq id=0x3 <auth chap MD5> <asyncmap 0x0>]
sent [LCP ConfAck id=0x3 <auth chap MD5> <asyncmap 0x0>]
rcvd [CHAP Challenge id=0x0
  <8d7ffc507bb24322(blablabla)9ce2163bc93ff41b1a22d41>, name = "Kermit"]
sent [CHAP Response id=0x0 <79913c26f3ae1f030ca92fc7fe50286c>, name = "vodafone"]
rcvd [CHAP Success id=0x0 "Congratulations!"]
CHAP authentication succeeded: Congratulations!
sent [IPCP ConfReq id=0x1 <addr 0.0.0.0> <ms-dns1 0.0.0.0> <ms-dns3 0.0.0.0>]
rcvd [IPCP ConfReq id=0x1]
sent [IPCP ConfNak id=0x1 <addr 0.0.0.0>]
rcvd [IPCP ConfNak id=0x1 <addr 62.87.126.93> <ms-dns1 212.73.32.3> <ms-dns3 212.73.32.67>]
sent [IPCP ConfReq id=0x2 <addr 62.87.126.93> <ms-dns1 212.73.32.3> <ms-dns3 212.73.32.67>]
rcvd [IPCP ConfReq id=0x2]
sent [IPCP ConfAck id=0x2]
rcvd [IPCP ConfAck id=0x2 <addr 62.87.126.93> <ms-dns1 212.73.32.3> <ms-dns3 212.73.32.67>]
Could not determine remote IP address: defaulting to 10.64.64.64
local  IP address 62.87.126.93
remote IP address 10.64.64.64
primary   DNS address 212.73.32.3
secondary DNS address 212.73.32.67
Script /etc/ppp/ip-up started (pid 7180)
Script /etc/ppp/ip-up finished (pid 7180), status = 0x7

Esto significa que ya estás conectado a Internet. ¡Con un teléfono UMTS a velocidades 3G!. Abre Firefox y navega un poco, anda, si no me crees.

Si es la primera vez que lo haces, estate atento a la pantalla de tu móvil, porque aparecerá un mensaje diciéndote que un dispositivo desconocido está pidiendo emparejarse. Dile que sí. Luego te pedirá una contraseña. Ahí tienes que poner el PIN de 8 ó 10 cifras que habías puesto en el fichero /etc/bluetooth/pin. Esto solo tendrás que hacerlo la primera vez. Después, quedan ya emparejados para siempre con lo que puedes decirle a la configuración Bluetooth del teléfono que se oculte (cosa que te recomiendo encarecidamente), y puedes olvidarte del dichoso PIN.

Para colgar, solo tienes que volver a la ventana de terminal y pulsar Ctrl-C. La respuesta será algo así:

Terminating on signal 2.
Script /etc/ppp/ip-down started (pid 8112)
sent [LCP TermReq id=0x2 "User request"]
Script /etc/ppp/ip-down finished (pid 8112), status = 0x0
rcvd [LCP TermAck id=0x2]
Connection terminated.
Connect time 0.2 minutes.
Sent 80 bytes, received 56 bytes.

Disconnect...

Disconnected.
Serial link disconnected.
Connect time 0.2 minutes.
Sent 80 bytes, received 56 bytes.
[lacofi@lynette ~]$ _

Y ahora llama al Servicio de Atención al Cliente de Vodafone y contrata un bono GPRS de datos, anda. En el momento de escribir estas líneas hay uno muy práctico de 200 Mb/mes por 25 euros. Elige el bono que más te convenga, pero hazme caso y no navegues a pelo, que te vas a pulir una pasta, creeme...

Y sobre todo que lo disfrutes... :-)

Be Sociable, Share!

Puedes seguir cualquier respuesta a esta entrada mediante el canal RSS 2.0. Puedes dejar un comentario o enviar un trackback desde tu propio sitio.

Deja un comentario

Disculpa, debes iniciar sesión para escribir un comentario.