martes, 18 de noviembre de 2008

Cómo utilizar un Sony Ericsson k750 como modem bluetooth

Hace ya un par de años que llevo usando un Sony Ericsson K750 y el pobre está para el arrastre. De vez en cuando aún lo uso como modem GPRS en casos de emergencia, para lo cual utilizaba un cable USB. Pero hace unos días me he comprado un minúsculo adaptador de bluetooth para el portátil por unos míseros 4€ y me dispuse a intentar utilizar el móvil como modem bluetooth sin tener que andar con cables.

El proceso que he seguido para configurarlo en GNU/Linux (archlinux más concretamente) ha sido el siguiente:

  1. Instalar bluez-utils. Con pacman -S bluez-utils. En debian y similares utilizar apt-get install bluez.
  2. Iniciamos el demonio de dbus (si no lo habíamos iniciado ya) y el del bluetooth con
    /etc/rc.d/dbus start
    /etc/rc.d/bluetooth start
    Para archlinux, en el caso de debian y demás refritos, estos demonios se encuentran en /etc/init.d


  3. Activamos el bluetooth en el móvil y buscamos el dispositivo con :
    hcitool scan
    Scanning ...
    00:16:20:CE:93:37 Eu

  4. Obtenemos la dirección del bluetooth del móvil. Ahora averiguamos el canal en el que trabaja:
    sdptool search --bdaddr 00:16:20:CE:93:37 DUN
    Searching for DUN on 00:16:20:CE:93:37 ...
    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

  5. Vemos que está en el canal 1. Ahora cambiamos la configuración del bluetooth editando /etc/bluetooth/hcid.conf obteniendo algo así:

    options {
    autoinit yes;
    security auto;
    pairing multi;
    passkey "1111";
    }

    device {
    name "MegaBook";
    class 0x000100;
    pkt_type DH1,DM1,HV1;
    iscan enable; pscan enable;
    lm accept;
    lp rswitch,hold,sniff,park;
    }

    Donde en name colocaremos el nombre que queremos que tenga el PC y en passkey la contraseña que introduciremos en el móvil para emparejarlos con el PC (una cualquiera tu quieras).

  6. Ahora editamos /etc/rfcomm.conf donde configuraremos el dispositivo que queremos añadir (el móvil):

    rfcomm0 {
    bind yes;
    device 00:16:20:CE:93:37;
    channel 1;
    comment "Sony ericsson k750";
    }


  7. Para que cada vez que se inicie el demonio del bluetooth, se asocie con nuestro dispositivo móvil que acabamos de introducir en rfcomm.conf. Editamos el archivo /dev/rc.d/bluetooth y fijamos RFCOMM_ENABLE="true".

  8. Reiniciamos el demonio de bluetooth con /etc/rc.d/bluetooth restart.

  9. Ahora comprobamos que en /dev tenemos un dispositivo llamado rfcomm0.

  10. Y ahora viene lo más enrevesado, para emparejar por primera vez (sólo lo hay que hacer una vez) abrimos una consola y escribimos lo siguiente sin presionar enter:

    passkey-agent 1111 00:16:20:CE:93:37

    Esto es, la contraseña, y la dirección del dispositivo. Ahora en otra consola y como root ejecutamos cat /dev/rfcomm0 y a continuación volvemos rápidamente a la anterior consola y ejecutamos el comando del passkey-agent. Ahora el teléfono debería pedir la contraseña, la introducimos rápidamente y el dispositivo debería quedar emparejado, mostrándose algo así:

    Passkey request for device 00:16:20:CE:93:37
    Passkey service has been released




  11. Ahora para conectarnos vamos a utilizar wvdial. Instalamos wvdial con pacman -S wvdial, y a continuación editamos el archivo /etc/ppp/ip-up para que cada vez que se conecte, cambie las DNSs. Para ello añadimos al final del fichero:

    echo -e "#generated by ip-up\nsearch local\nnameserver $DNS1\nnameserver $DNS2" > /etc/resolv.conf
    chmod a+r /etc/resolv.conf


  12. Ahora sólo queda editar el fichero /etc/wvdial.conf para introducir la configuración de conexión. Ésta puede variar según el operador, la siguiente es válida para Movistar España.

    [Dialer Defaults]
    Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
    Stupid Mode = 1
    Modem Type = Analog Modem
    ISDN = 0
    New PPPD = yes
    Phone = *99***1#
    Modem = /dev/rfcomm0
    Username = movistar
    Password = movistar
    Baud = 460800


  13. Y ya está, ahora cada vez que queramos conectarnos, simplemente debemos ejecutar como root en una consola wvdial y tendremos una flamante conexión a internet. javascript:void(0)



Aunque estos pasos son para una conexión GPRS de un Sony Ericsson K750, en principio es válida para gran parte de los Sony Ericsson incluso en versión 3G. Así mismo, para otros móviles u otras distribuciones el proceso es bastante similar.

Fuente: Bluetooth GPRS Howto