Aumentando la movilidad
26 Diciembre, 2007 | rafacas | Publicado en internet, linux | 2 Comentarios
Como he comentado en una entrada anterior, uso Yoigo para acceder a Internet cuando viajo, y después de las nuevas tarifas también lo estoy usando para realizar llamadas. Me parece muy interesante aumentar la movilidad de una persona, en lo que a conexión de Internet se refiere. No estar preocupados de si vamos a poder conectarnos o no al sitio al que vayamos, el siempre conectados que comenta Error500.
Por eso, detallo a continuación la forma de usar un móvil como módem desde un portátil. Lo que he usado como ejemplo son un portátil con GNU/Linux como sistema operativo, concretamente Archlinux, un móvil Nokia N70 con una tarjeta de Yoigo. Explicaré cómo conectarlos mediante bluetooth.
Lo primero que tenemos que hacer es instalar los paquetes necesarios: bluez-utils, bluez-libs y dbus (ppp también es necesario, pero suele venir instalado por defecto).
pacman -S bluez-utils bluez-libs dbus
Arrancamos los demonios dbus y bluetooth:
/etc/rc.d/dbus start /etc/rc.d/bluetooth start
Escaneamos en busca de dispositivos bluetooth:
hcitool scan
Scanning ...
00:19:2D:14:55:5D N70
Ahora tenemos la dirección MAC del bluetooth del móvil. Volvemos a hacer un escaneo, esta vez para comprobar qué canal hay que usar para usar el móvil como módem (Dial-Up Networking).
Inquiring ... Searching for DUN on 00:19:2D:14:55:5D ... Service Name: Dial-Up Networking Service RecHandle: 0x10007 Service Class ID List: "Dialup Networking" (0x1103) Protocol Descriptor List: "L2CAP" (0x0100) "RFCOMM" (0x0003) Channel: 3 Language Base Attr List: code_ISO639: 0x454e encoding: 0x6a base_offset: 0x100 Profile Descriptor List: "Dialup Networking" (0x1103) Version: 0x0100
La línea que nos interesa es la que contiene Channel, y en ella obtendremos el canal que usa como módem. En el caso del N70 es el canal 3.
Editamos el fichero del demonio HCI (/etc/bluetooth/hcid.conf) y establecemos las siguientes opciones:
autoinit yes; security auto;
Mi fichero de configuración queda como sigue:
# HCId options
options {
# Automatically initialize new devices
autoinit yes;
# Security Manager mode
# none - Security manager disabled
# auto - Use local PIN for incoming connections
# user - Always ask user for a PIN
#
security auto;
# Pairing mode
# none - Pairing disabled
# multi - Allow pairing with already paired devices
# once - Pair once and deny successive attempts
pairing multi;
# Default PIN code for incoming connections
#passkey "BlueZ";
passkey "1234";
}
# Default settings for HCI devices
device {
# Local device name
# %d - device id
# %h - host name
name "BlueZ (%h)";
# Local device class
class 0x3e0100;
# Default packet type
#pkt_type DH1,DM1,HV1;
# Inquiry and Page scan
iscan enable; pscan enable;
# Default link mode
# none - no specific policy
# accept - always accept incoming connections
# master - become master on incoming connections,
# deny role switch on outgoing connections
lm accept;
# Default link policy
# none - no specific policy
# rswitch - allow role switch
# hold - allow hold mode
# sniff - allow sniff mode
# park - allow park mode
lp rswitch,hold,sniff,park;
}
Después de terminar con la configuración de HCI, tenemos que editar el fichero de RFCOMM, añadiendo una sección para el dispositivo rfcomm0. El fichero quedaría como sigue:
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 00:19:2D:14:55:5D;
# RFCOMM channel for the connection
channel 3;
# Description of the connection
comment "GPRS dialup N70";
}
Evidentemente, habrá que cambiar las opciones device y channel dependiendo del móvil.
Ahora, editamos el fichero /etc/rc.d/bluetooth y hacemos que rfcomm se inicie cuando arranque el bluetooth:
RFCOMM_ENABLE="true"
Reiniciamos el servicio bluetooth:
/etc/rc.d/bluetooth restart
Lo último que tenemos que hacer es configurar wvdial (/etc/wvdial.conf, o si queremos que sea accesible únicamente por nuestro usuario $HOME/.wvdialrc)
[Dialer YoigoBT] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","internet" Modem Type = USB Modem Baud = 460800 New PPPD = yes Modem = /dev/rfcomm0 ISDN = 0 Phone = *99***1# Username = "internet" Password = "internet" Stupid Mode = 1 Ask Password = 0 Dial Command = ATDT Compuserve = 0 Force Address = Idle Seconds = 3000 DialMessage1 = DialMessage2 = Auto DNS = 1
A partir de este momento, lo único que tendríamos que ejecutar cada vez que quisiésemos acceder a internet usando como módem un móvil Yoigo es:
wvdial YoigoBT
En caso de que estemos con un portátil y queramos ahorrar algo de batería, es recomendable hacerlo con el cable USB del móvil conectado al portátil, así que deberíamos añadir lo siguiente a wvdialrc:
[Dialer YoigoUSB] Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = AT+CGDCONT=1,"IP","internet" Modem Type = USB Modem Baud = 460800 New PPPD = yes Modem = /dev/ttyACM0 ISDN = 0 Phone = *99***1# Username = "internet" Password = "internet" Stupid Mode = 1 Ask Password = 0 Dial Command = ATDT Compuserve = 0 Force Address = Idle Seconds = 3000 DialMessage1 = DialMessage2 = Auto DNS = 1
Y ejecutar
wvdial YoigoUSB
Para el intercambio de ficheros entre el móvil y el portátil mediante bluetooth yo uso Kbluetooth (para KDE).
Diciembre 31st, 2007at 12:36(#)
En Windows es bastante más fácil :-P
(Lo siento, tenía que decirlo jajajaja)
¡Y Feliz Año 2008!
Diciembre 31st, 2007at 19:25(#)
Esta vez no te voy a llevar la contraria :D
¡Feliz año!