¿Puedo conectar el portátil a un móvil Nokia E71?

Si tienes un teléfono Nokia E71 (precioso teléfono, por cierto), seguramente querrás usarlo como módem para conectar tu portátil Linux a Internet, a través de un cable de datos USB o una conexión Bluetooth. ¿Se puede?. Pues claro que sí. De hecho, teóricamente se podría conectar exactamente igual cualquier teléfono Symbian. Y es mucho más fácil y cómodo de hacer que con el puñetero protocolo PAN que usan los dispositivos Windows Mobile, porque el bluetooth Symbian ofrece un perfil DUN clásico, con lo que la comunicación entre el ordenador (o la PDA) y el teléfono, se autorizan de antemano y a partir de ahí será todo automático sin que tengas que tocar el móvil para nada.

Y por supuesto, todo eso puede configurarse en el Linux de tu portátil sin demasiados problemas.

a verlo siguiendo este esquema (las opciones marcadas con asterisco son las que yo te recomiendo por su sencillez y comodidad en el uso):

*

*

Si quieres usar el cable de datos lo tienes muy, muy fácil. Por lo menos con Ubuntu y Fedora. Lo siento, no he probado con Gentoo, pero teóricamente debería funcionar igual. Y es que el teléfono es reconocido automáticamente como modem de banda ancha en cuanto lo enchufas por USB al ordenador. La única precaución es que tienes que tener configurado el USB del teléfono para que utilice el modo "PC Suite", y no el modo de almacenamiento masivo.

Si por cualquier motivo el ordenador no te ofrece de mano configurar el nuevo modem, es tan sencillo como ir al gestor de red, hacer click con el botón derecho del ratón y elegir "Editar conexiones".

*

Ahora vete a la pestaña de Banda Ancha y pulsa en "Añadir". Saldrá un asistente en el que lo único que tienes que hacer es especificar tu país, y tu compañía de teléfonos (en mi caso es Vodafone). Vale, pues ya está.

*

Una vez hecho eso, si haces click con el botón izquierdo del ratón en el gestor de red (naturalmente con el teléfono enchufado por USB), verás que ya no salen solo las redes inalámbricas WiFi, sino que también aparece la red de Banda Ancha Vodafone (o la que uses tú). Pues la eliges, y el ordenador se conectará a Internet directamente. Más fácil no puede ser. :-)

*

El cable de datos, sin embargo, es un pequeño engorro. Seguramente tú prefieres usar Bluetooth, ¿verdad?. ;-)

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.

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.

Si usas Fedora o Ubuntu, lo tienes muy fácil, porque las utilidades para Bluetooth se instalan de serie y funcionan automáticamente. Así que solo tienes que poner el teléfono en modo visible y hacer una búsqueda en el ordenador (o al revés) para emparejarlos con su correspondiente contraseña. Una vez emparejados, ya puedes poner el teléfono en modo oculto, porque el ordenador lo reconocerá sin necesidad de hacer nada más.

En el caso de Gentoo no es tan automático, pero tampoco tiene tanto misterio y está ampliamente documentado por ahí. Pero por si acaso, también te lo especificaré adecuadamente. De nada.

Nota sobre Gentoo

Ya sabes que Gentoo no instala casi nada por defecto, así que tendrás que emerger todas las utilidades Bluetooth antes que nada.

[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       nokiacofi

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 tengo ya otro teléfono bluetooth linkado, el dispositivo no será /dev/rfcomm0 sino /dev/rfcomm1.

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

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

El emparejamiento es automático en Fedora y Ubuntu. Y también en las últimas versiones de Gentoo. Pero si hace tiempo que no has actualizado, puede que tengas que hacerlo a mano. Ahí va:

Ahora tienes que emparejar los dos dispositivos Bluetooth: El del ordenador y el teléfono. Fedora lo hará automáticamente en el momento que hagas la primera conexión. Y Gentoo también, si tienes bien configurado kde-bluetooth, pero nosotros vamos a usar aquí el camino tortuoso. 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 $
#

rfcomm1 {
	bind yes;
	device 08:00:1F:2D:8B:4F;
	channel 2;
	comment "Conexion con Movil Nokia E71";
}

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

Nota sobre Gentoo

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 y /etc/rfcomm1 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. :-)

En esta sección vamos a hacerlo mediante un sistema de scripts. Pero si quieres hacerlo de forma más amigable, puedes usar también el programa "system-config-network" tal y como te cuento en otra sección de esta misma web. Si prefieres el script, que es lo que yo te recomiendo, puedes seguir leyendo a continuación. Y, concretamente, tienes dos posibilidades distintas: usar wvdial, o usar los scripts ppp. La primera opción es, con mucho, la más sencilla, pero eso ya depende de las ganas que tengas de complicarte la vida.

*

Es el modo más simple y el que te recomiendo yo. Solo tienes que asegurarte de que el usuario que va a conectarse está en el grupo dialout. Una vez hecho esto, tienes que editar el fichero /etc/wvdial.conf y dejarlo así:

[Modem0]
Modem = /dev/rfcomm1
Baud = 460800
SetVolume = 0
Dial Command = ATDT
Init1 = ATZ
Init3 = ATM0
FlowControl = CRTSCTS

[Dialer Vodafone3G]
Username = vodafone
Password = vodafone
Phone = *99***1#
Stupid Mode = 0
Init1 = ATZ
Init3 = ATZ
Inherits = Modem0

Naturalmente, las entradas "username", "password" y "phone" son los de tu compañía de teléfonos. Y la entrada "Modem" apunta al dispositivo Bluetooth.

Ahora tu usuario puede teclear el comando "wvdial Vodafone3G" y verás como se conecta.

Si, ya está. No mires con esa cara, que ya está. ¿Ves por qué lo recomiendo?. :-D

*

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/nokia-e71 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. No precisa modificaciones para el Nokia E71
#salvo apuntarlo al dispositivo /dev/rfcomm1 o el que hayamos configurado.

debug
/dev/rfcomm1
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/nokia-e71-connect -v'
disconnect '/usr/sbin/chat -e -f /etc/ppp/peers/nokia-e71-disconnect -v'

El fichero /etc/ppp/peers/nokia-e71-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 y Nokia E71.

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

El fichero /etc/ppp/peers/nokia-e71-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 y Nokia E71.

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 HDSPA (que es una velocidad de la leche). 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/nokia-e71
AT
OK
ATE0
OK

OK

CONNECT
Serial connection established.
using channel 2
Using interface ppp0
Connect: ppp0 <--> /dev/rfcomm1
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 HDSPA!. 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.