Mostrando entradas con la etiqueta bluetooth. Mostrar todas las entradas
Mostrando entradas con la etiqueta bluetooth. Mostrar todas las entradas

abril 26, 2009

Yoigo en Gentoo a través del TS705

He leido varios artículos de como configurar Yoigo en linux, pero ninguno con el Toshiba TS705 (debe ser el móvil de los pobres), en general las guías son las mismas que en el resto de situaciones:
Para empezar necesitamos arrancar bluetooth, la guía de gentoo está bastante detallada al respecto, con la salvedad del funcionamiento del manejador de pin, al final me decanté por kdebluetooth y a correr.
# emerge net-wireless/bluez-libs net-wireless/bluez-utils
# /etc/init.d/bluetooth start
# hcitool scan
Scanning ...
00:15:B7:56:B2:42 Noah

Con este telefono el truco está en que el puerto de "dialup" no se trata del número 1 que por defecto viene en la documentación, para descubrirlo utilizamos el siguiente comando:
Browsing 00:15:B7:56:B2:42 ...
Service Name: Serial Port Profile
Service RecHandle: 0x10000
Service Class ID List:
"Serial Port" (0x1101)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 16
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Serial Port" (0x1101)
...

Service Name: QC Dial-up Networking
Service RecHandle: 0x10003
Service Class ID List:
"Dialup Networking" (0x1103)
"Generic Networking" (0x1201)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 8
Language Base Attr List:
code_ISO639: 0x656e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100

Si observamos el servicio "QC Dial-up Networking" se encuentra en el canal 8, para ello definiremos en /etc/bluetooth/rfcomm.conf una entrada tal que así:
rfcomm0 {
bind yes;
device 00:15:B7:56:B2:42;
channel 8;
comment "Yoigo TS705";
}

"bind" es necesario para que cree la entrada /dev/rfcomm0 sobre la que luego lanzaremos el dialer.
Reiniciamos el demonio, es interesante tener ya pareado el dispositivo, para eso nos sirve lanzarle un ping:
# l2ping 00:15:B7:56:B2:42
Ping: 00:15:B7:56:B2:42 from 00:03:44:24:30:A1 (data size 44) ...
4 bytes from 00:15:B7:56:B2:42 id 0 time 33.94ms
4 bytes from 00:15:B7:56:B2:42 id 1 time 23.83ms
^C2 sent, 2 received, 0% loss

Tras lo cual nos saltará un dialogo para introducir el mismo pin en el móvil y en el ordenador, es necesario tener lanzado el kbluetooth o lanzar en ese momento el passkey-agent (con este último no he conseguido que funcione). Una vez pareado ya no hará falta volver a hacer esto.

Una vez reiniciado tendremos ya creado el interfaz /dev/rfcomm0

emerge -av net-dialup/wvdial


Creamos el archivo .wvdialrc en nuestro home con el contenido siguiente:
[Dialer YoigoBT]
Modem = /dev/rfcomm0
Phone = *99***1#
Username = ''
Password = ''


Si hubieramos definido mal el canal remoto bluetooth y cambiado la config del teléfono obtendríamos esta salida:
# wvdial YoigoBT
--> WvDial: Internet dialer version 1.60
--> Cannot open /dev/rfcomm0: Connection refused
--> Cannot open /dev/rfcomm0: Connection refused
--> Cannot open /dev/rfcomm0: Connection refused


Tenemos que soltar el canal, para ello:
# rfcomm -a
rfcomm0: 00:15:B7:56:B2:42 channel 1 closed
# rfcomm release 00:15:B7:56:B2:42
# rfcomm -a
# /etc/init.d/bluetooth restart
# rfcomm -a
rfcomm0: 00:15:B7:56:B2:42 channel 8 clean


# wvdial YoigoBT
--> WvDial: Internet dialer version 1.60
--> Initializing modem.
--> Sending: ATZ
ATZ
OK
--> Modem initialized.
--> Sending: ATDT*99***1#
--> Waiting for carrier.
CONNECT
--> Carrier detected. Waiting for prompt.
--> Don't know what to do! Starting pppd and hoping for the best.
--> Starting pppd at Sun Apr 26 22:46:37 2009
--> Pid of pppd: 7783
--> Using interface ppp0
--> local IP address 217.168.x.x
--> remote IP address 10.64.x.x
--> primary DNS address 10.8.x.x
--> secondary DNS address 10.8.x.xx


Solo queda configurar la puerta de enlace y los dns ;)

Bluetooth en Toshiba Satellite U300-14Q

Descargamos el codigo de omnibook mediante subversion:
svn co https://omnibook.svn.sourceforge.net/svnroot/omnibook/omnibook/trunk


Tal como describe Toshiba Satellite U300 en Ubuntu Linux aplicamos un parche, si no lo hubieramos aplicado nos saldría la siguiente respuesta a los comandos:
# cat /proc/omnibook/dmi
BIOS Vendor: TOSHIBA
BIOS Version: V5.10
BIOS Release: 01/15/2009
System Vendor: TOSHIBA
Product Name: Satellite U300
Version: PSU30E-07202ECE
Serial Number: 28050519W
Board Vendor: TOSHIBA
Board Name: Not Applicable

# dmesg
omnibook: Driver version 2.20070211-trunk.
omnibook: Unknown model.
omnibook: dmi feature has no backend table, io_op not initialized.
omnibook: version feature has no backend table, io_op not initialized.
omnibook: Enabled features: dmi version.


Editamos laptop.h y añadimos una nueva entrada si no está definida:
{
.callback = dmi_matched,
.ident = “Toshiba Satellite U300″,
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, “TOSHIBA”),
DMI_MATCH(DMI_PRODUCT_NAME, “Satellite U300″),
},
.driver_data = (void*) TSM70
},


make, make install, e importantisimo, sobreescribir el modulo actual que pudieramos tener instalado vaya que estemos usando uno viejo sin el parche (ya lo he sufrido :p) el instalador no lo hace correctamente. Normalmente anda por: /lib/modules/{VERSION}/char/omnibook.ko

#dmesg
omnibook: Driver version 2.20070211-trunk.
omnibook: Toshiba Satellite U300 detected.
...
omnibook: Try to init ACPI backend
omnibook: ACPI EC device found
input: Omnibook ACPI scancode generator as /class/input/input6
omnibook: hook_connect for device AT Translated Set 2 keyboard.
omnibook: Enabling Toshiba Bluetooth ACPI device.
omnibook: ACPI backend init OK
omnibook: Returning table entry nr 0.
omnibook: BTST raw_state: c1
...
usb 7-2: new full speed USB device using uhci_hcd and address 2
usb 7-2: New USB device found, idVendor=0930, idProduct=0508
usb 7-2: New USB device strings: Mfr=0, Product=0, SerialNumber=0
usb 7-2: configuration #1 chosen from 1 choice

# lsusb
Bus 002 Device 002: ID 04f2:b008 Chicony Electronics Co., Ltd
Bus 002 Device 001: ID 1d6b:0002
Bus 007 Device 002: ID 0930:0508 Toshiba Corp.
Bus 007 Device 001: ID 1d6b:0001
Bus 006 Device 001: ID 1d6b:0001
Bus 005 Device 001: ID 1d6b:0001
Bus 001 Device 001: ID 1d6b:0002
Bus 004 Device 001: ID 1d6b:0001
Bus 003 Device 001: ID 1d6b:0001

# hciconfig
hci0: Type: USB
BD Address: 00:03:7A:A6:3A:C3 ACL MTU: 384:8 SCO MTU: 64:8
UP RUNNING PSCAN ISCAN
RX bytes:959 acl:0 sco:0 events:26 errors:0
TX bytes:353 acl:0 sco:0 commands:26 errors:0


Para que carge siempre al arranque de sistema (en gentoo):
echo "omnibook" > /etc/modules.autoload.d/kernel-2.6