Pues andaba yo queriéndome enviar unas fotos desde mi teléfono a mi linux-box de sobremesa y me puse manos a la obra. Decidido a pasar del gnome-bluetooth y del kbluetooth creo que se llaman, me propuse comprender el cómo y el porqué de la configuración del bluetooth en linux para poder realizar el envío correctamente desde la línea de comandos, el entorno más potente del mundo.
Me aseguré de que tenía el USB bluetooth al uso en el cajón y me dispuse a conectarlo fijándome en que mi kernel pre-compilado (2.6.16-2-686-smp) se enteraba de lo que pasaba, efectivamente así fue.
user:~$ dmesg
usb 4-2: new full speed USB device using uhci_hcd and address 2
usb 4-2: device descriptor read/64, error -71
usb 4-2: configuration #1 chosen from 1 choice
Bluetooth: HCI USB driver ver 2.9
usbcore: registered new driver hci_usb
Bien. Más tarde localizé mi teléfono con el Bluetooth operativo mediante la utilidad hcitool contenida en las previamente instaladas bluez-utils.
user:~$ hcitool scan
Scanning …
08:00:28:48:F1:FB Necro 6230i
Procedí a incluir en el archivo /etc/bluetooth/rfcomm.conf los datos obtenidos de la siguiente manera:
rfcomm0 {
device 08:00:28:48:F1:FB;
channel 10;
comment «Necro 6230i»;
}
Podríamos examinar el canal de comunicación Bluetooth que utiliza el teléfono y puede que obtengamos el canal 11, pero realmente es el 10 el que utilizan los dispositivos Nokia para envío y recepción de archivos.
Tras esto y comprobar que el PIN del bluetooth era el establecido por defecto, localizado en /etc/bluetooth/pin, con valor «1234» procedí a cambiar la dirección del canal de transmisión para dejarlo de manera que sea mi terminal Nokia el que envíe y el linux-box el que reciba mediante el cliente-servidor openOBEX, haciendo la máquina de servidor que recibe la conexión. El paquete Debian para el OBEX se llama «obexserver», este cambio de dirección se realiza mediante el siguiente comando:
user:~$ sdptool add –channel=10 OPUSH
OBEX Object Push service registered
Abrí el obexserver y quedó esperando la conexión. Entonces envié el archivo desde el teléfono que me detecto la máquina entre los dispositivos bluetooth, le pedí enlace y establecimos conexión intercambiando el PIN. Se estableció la comunicación y se procedió a la transmisión del archivo con éxito.
user:~$ obexserver
Waiting for connection…
………………………HEADER_LENGTH = 27206
put_done() Skipped header 42
put_done() Skipped header 44
Filename = chanante.amr
Wrote /tmp/chanante.amr (27206 bytes)
user:~$ ls /tmp/chanante.amr
28K /tmp/chanante.amr
That’s all folks!
usb 4-2: USB disconnect, address 2