agosto 23, 2008

Así conecté mi móvil como módem Bluetooth en Ubuntu 8.04

Actualizado: estas instrucciones también son válidas para Ubuntu 8.10

Otro más desesperado que buscaba la forma de conectar su móvil como módem Bluetooth, y al igual que en otros casos, fue, leyendo y consultando otros blogs, foros y amigos.

En mi caso tuve que mezclar algo de aquí [http://javierperez.eu/conexion-a-internet-por-bluetooth-mediante-el-movil-en-ubuntu/], de acá [http://amadeoacera.net/cuaderno/ubuntu_btmodem/ubuntu_btmodem.html], de acá [http://www.ubuntu-ve.org/node/682], y otro poquito más de acá [http://jhuss.com/2007/07/30/internet-digitel-bluetooth/].

De toda esta mezcla de experiencias, logré conectarme de forma exitosa con lo siguiente:

Antes de empezar, descargué los paquetes:

sudo apt-get install bluez-utils ppp wvdial

(en caso de ya contar con ellos, Ubuntu haría la respectiva alerta).

Ahora viene lo bueno, y si se es primerizo (como en mi caso) armarse un poco de paciencia.

PASO 1

Editamos el archivo hcid.conf, para configurar nuestro dispositivo Bluetooth (indiferentemente si es un dispositivo externo USB o uno que venga integrado con la laptop, como en mi caso):

sudo gedit /etc/bluetooth/hcid.conf

El contenido del archivo debería ser similar a éste:

   1.      options {
   2.      autoinit yes;
   3.      security auto;
   4.      pairing multi;
   5.      passkey "0000";
   6.      }
   7.      device {
   8.      name "mi-laptopl";
   9.      class 0x3e0100;
  10.      iscan enable; pscan enable;
  11.      discovto 0;
  12.      lm accept;
  13.      lp rswitch,hold,sniff,park;
  14.      }

Las secciones a modificar serían security manager, cuyo valor deberá ser security auto; passkey
corresponderá a la clave de nuestro dispositivo Bluetooth conectado a nuestra PC o laptop (no es la clave Bluetooth del móvil, aunque será la que nos preguntará el móvil al momento de hacer que se reconozcan entre sí, por lo tanto se sugiere que sea de tipo numérico); name será un nombre opcional para nuestra PC o laptop.

PASO 2

Reiniciamos nuestro dispositivo Bluetooth de nuestra PC o laptop mediante el siguiente comando:

sudo /etc/init.d/bluetooth restart

PASO 3

Descubrir la dirección de nuestro móvil, y para ello escribiremos:

sudo hcitool scan

nos debería dar algo como

XX:XX:YY:YY:FA:C4 [nombre del móvil]

para luego pasar al siguiente paso.

PASO 4

Una vez obtenida la dirección, podremos averiguar el canal que usar el móvil para el servicio de red de marcado mediante:

sdptool browse XX:XX:YY:YY:FA:C4

y nos enfocamos en la siguiente sección:

...
Service Name: Dial-up Networking
Service RecHandle: 0x10001
Service Class ID List:
  "Dialup Networking" (0x1103)
  "Generic Networking" (0x1201)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel: 1
Profile Descriptor List:
  "Dialup Networking" (0x1103)
    Version: 0x0100
...

lo que nos indica que nuestro móvil tiene asignado el canal 1 (u otro canal) para el servicio de marcado.


PASO 5

Pasamos a editar el archivo rfcomm.conf:

sudo gedit /etc/bluetooth/rfcomm.conf

cuyo contenido es el siguiente:

rfcomm0 {
# Automatically bind the device at startup
bind yes;

# Bluetooth address of the device
device XX:XX:YY:YY:FA:C4;
 
# RFCOMM channel for the connection
channel 1;

# Description of the connection
comment "Example Bluetooth device";
}

Noten que el valor de bind será yes, device colocaremos la dirección Bluetooth de nuestro móvil y en channel el canal correspondiente, en este caso será el 1, que fue el resultado que obtuvimos.

También existe un atajo, de configurarlo rápidamente mediante:

sudo rfcomm bind rfcomm0 XX:XX:YY:YY:FA:C4 1

PASO 6

Configuramos a wvdial:

sudo gedit /etc/wvdial.conf

cuyo contenido es el siguiente:

[Dialer digitel]
Modem = /dev/rfcomm0
Baud = 115200
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2
Init3 = AT+CGDCONT=1,"IP","gprsweb.digitel.ve"
Area Code =
Phone = *99#
Username = guest
Password = guest
Ask Password = 0
Dial Command = ATD
Stupid Mode = 1
Compuserve = 0
Force Address =
Idle Seconds = 3000
DialMessage1 =
DIalMessage2 =
ISDN = 0
Auto DNS = 1 


Para otras operadoras, simplemente modificamos el APN (que lo podemos consultar desde la configuración respectiva en nuestro móvil o en la página web de quien nos preste el servicio), y el número de marcado.

PASO 7

Y por último... invocamos a wvdial para conectarnos usando nuestro móvil como modem vía Bluetooth (y así dejarlo enchufado tranquilamente al tomacorrientes y olvidarnos de la descarga de la batería):

sudo wvdial digitel (o el nombre que le asignamos)

A la primera funcionó perfectamente (laptop: Dell Inspiron 1525 con módulo Bluetooth integrado; móvil: Sony Ericsson W300i), pero luego de reiniciar la laptop, Ubuntu me da error de que no encuentra el archivo, así que yo tengo que repetir el paso 5 antes de invocar a sudo wvdial digitel.

Si alguien más presenta este inconveniente o tiene otra forma de conexión, sería de agradecer compartirlo.

Acá también comparto la forma "tradicional" usando el puerto USB [http://dmitrisite325.blogspot.com/2007/12/usando-un-celular-como-modem-en-ubuntu.html]