¿Cómo puedo tener una conexión automática de teclado Bluetooth al inicio?

10

Tengo un teclado bluetooth para mi HTPC. Lo emparejo con mi computadora a través de Bluetooth, y funciona bien. Sin embargo, cuando apago el teclado o mi computadora, tiene que conectarse nuevamente (lo que requiere que ingrese un código de acceso en la computadora y el teclado) cuando los vuelvo a encender. He revisado muchos foros y he descubierto que me faltan algunos archivos bluetooth aparentemente vitales:

/etc/default/bluetooth

/etc/init.d/bluetooth

/etc/bluetooth/hcid.conf

En las instrucciones que he encontrado en línea hasta ahora, debo cambiar ciertas líneas en cualquiera de estos archivos. No puedo, ya que no existen.

¿Me estoy perdiendo una dependencia o algo así? También intenté instalar Blueman pero eso no ayudó en absoluto.

Estoy ejecutando Ubuntu 10.10 (Maverick).

Publicación original: http://ubuntuforums.org/showthread.php?t=1643386&highlight=bluetooth

Conceder
fuente

Respuestas:

11

Esta respuesta proviene de un tutorial escrito por Andrew Martin en thetechdepo.com. Vea el enlace a continuación para la publicación original, sin embargo, esta es una reescritura completa. Está escrito específicamente para un teclado de Apple, sin embargo, lo he usado para múltiples dispositivos, por lo que no es específico para Apple o teclado. Simplemente siga las instrucciones y tendrá cualquier dispositivo Bluetooth conectado automáticamente en Ubuntu.

Vaya a Configuración del sistema> Bluetooth y siga las instrucciones para agregar su dispositivo bluetooth recién conectado.

Siga las instrucciones e ingrese el pin cuando se le solicite, luego de que el dispositivo esté conectado y funcionando, apague el dispositivo. Ahora en la parte de conexión automática.

Abra su terminal e ingrese los siguientes comandos:

$ killall bluetooth-applet 
$ sudo /etc/init.d/bluetooth restart 
$ sudo hcitool dev

El último comando mostrará la salida para su dispositivo, como:

Devices:
    hci0    00:00:00:00:00:00

Instale un nuevo paquete que le permita conectar bluetooth a través de la línea de comando.

$ sudo apt-get install bluez-compat

Una vez que esto se haya completado, ahora tendrá instalado el programa hidd. En este punto, encienda su teclado e ingrese el siguiente comando. Producirá la dirección MAC de su teclado, que deberá copiar y pegar en el siguiente comando, como se ve a continuación:

$ hcitool scan        
Scanning ...
    AA:BB:CC:DD:EE:FF   Bluetooth Device Name
$ sudo hidd --connect AA:BB:CC:DD:EE:FF

Ahora tenemos que crear un archivo de inicio para conectar automáticamente el dispositivo cuando se inicia la PC. Por la terminal ...

$ gedit ~/.keyboard.sh

Ingrese el siguiente texto, sustituyendo AA: BB: CC: DD: EE: FF con la identificación de hardware que vio arriba. Finalmente, guarde el archivo.

#! /bin/bash

address="AA:BB:CC:DD:EE:FF"

while (sleep 1)
do
connected=`sudo hidd --show` > /dev/null
if [[ ! $connected =~ .*${address}.* ]] ; then
sudo hidd --connect ${address} > /dev/null 2>&1
fi
done

Ahora cree un nuevo archivo de inicio. Sustituya "teclado" por el nombre del dispositivo que elija. Este es simplemente el nombre del archivo.

$ sudo gedit /etc/init.d/keyboard

Pegue lo siguiente, que le indica a su Ubuntu que ejecute el archivo que acaba de crear al inicio.

#!/bin/sh
/home/username/.keyboard.sh &

exit 0

Ahora configure los permisos de ambos archivos como ejecutables a través del terminal.

$ sudo chmod +x /etc/init.d/keyboard
$ chmod +x ~/.keyboard.sh
$ sudo update-rc.d keyboard defaults

Reinicie su computadora y su dispositivo debe conectarse automáticamente y funcionar sin tener que hacer nada.

Espero que esto ayude a algunas personas, me llevó mucho tiempo encontrar una solución a mi problema y quería consolidar este tutorial un poco más en la web.

El enlace original se puede encontrar aquí .

ryandlf
fuente
Creo que hidd ahora está en desuso desde bluez 4.0 a favor de udev, de acuerdo con /usr/share/docs/bluez/NEWS.Debian.gz, pero no puedo encontrar ninguna documentación sobre cómo hacerlo sin bluez-compat.
tu-Reinstate Monica-dor duh
3

También probé la respuesta de ryandlf por mí mismo, pero encontré otra configuración fácil que eventualmente hará el mismo trabajo.

La idea principal es que una vez que el dispositivo remoto esté emparejado y sea confiable, hcitool spinqse iniciará una consulta periódica que permitirá conectar todos los dispositivos disponibles.

Primero, inicie sudo Bluetoothctl -ay siga los pasos a continuación. Estos son de ArchLinux wiki, pero también han demostrado funcionar en Ubuntu.

[bluetooth]# power on
[bluetooth]# agent KeyboardOnly
[bluetooth]# pairable on
[bluetooth]# scan on

El último comando mostrará todos los teclados bluetooth disponibles (esperando el emparejamiento) como este.

Discovery started
[CHG] Controller 01:02:03:04:05:06 Discovering: yes

Tenga en cuenta esa dirección de su teclado y continúe con ella.

[bluetooth]# pair 01:02:03:04:05:06
[bluetooth]# trust 01:02:03:04:05:06
[bluetooth]# connect 01:02:03:04:05:06
[bluetooth]# quit

Ahora ponga este script simple en /etc/init.d/keyboard

#! /bin/sh
sudo hcitool spinq
exit 0

Entonces ejecuta estos.

sudo chmod +x /etc/init.d/keyboard
sudo service keyboard enable
sudo update-rc.d keyboard defaults
sudo service keyboard start

Eso es. Ahora, cada vez que encienda su teclado Bluetooth, se conectará a su Linux automáticamente.

Ch.Idea
fuente
$ sudo update-rc.d keyboard defaults insserv: script keyboard is not an executable regular file, skipped!Para resolver, realicé sudo chmod +x /etc/init.d/keyboard. Entonces lo realicé sudo update-rc.d keyboard defaults. Advertencia recibida: insserv: warning: script 'keyboard' missing LSB tags and overrides.
orschiro
¿Qué hay de sudo service keyboard enable?
orschiro
Sí, lo has hecho bien chmod +x.
Ch.Idea
El error de falta de etiquetas LSB puede ignorarse y no es realmente importante en esta tarea. Si lo desea, búsquelo en Google y péguelo en la parte superior del archivo. Están en forma simple.
Ch.Idea
1

Tuve un problema muy similar con un teclado Apple BlueTooth. Lo compré porque me encantó la sensación de las llaves. Sin embargo, no pude mantenerlo conectado. El problema parecía estar en la identificación del teclado. Una vez que se hizo coincidir con una computadora MAC real, donde obtuvo un nombre real, ya no tuve ningún problema al conectarlo a Linux o Windows. Mi esposa ahora lo usa sin problema.

No sé cómo se puede transponer esto en su situación, pero este puede ser un punto de partida. De otros amigos, parece que la identificación del dispositivo es el problema principal aquí.

jfmessier
fuente
1

Desde bluez 5.35 (septiembre de 2015), debería ser suficiente modificar el archivo de configuración /etc/bluetooth/main.confhabilitándolo AutoEnable=true.

Para emparejar un nuevo dispositivo desde un terminal (suponiendo que esa 01:02:03:04:05:06sea ​​la dirección mac del dispositivo que está intentando emparejar):

$ bluetoothctl
# power on
# agent KeyboardOnly
# default-agent
# pairable on
# scan on
# pair 01:02:03:04:05:06
# trust 01:02:03:04:05:06
# connect 01:02:03:04:05:06
# quit
$ exit
psq
fuente
Sí, la parte de confianza es lo que marcó la diferencia para que yo pueda conectarme automáticamente al inicio.
p1l0t
0

Compré un teclado bluetooth, aterricé en esta página aquí y probé qué ryandlf y qué sugirió Ch.Idea. No funcionó. Después de algunos análisis y ensayos, encontré esta combinación:

Primero, como sugirieron los chicos, intente conectar el dispositivo manualmente desde la GUI. Asegúrate de que funcione. Luego desconéctelo y apáguelo. Comenzaremos de nuevo manualmente entonces.

Obtenga privilegios de root:

su

Luego:

hcitool scan

y simultáneamente presione los botones o lo que sea en el dispositivo, y asegúrese de que se descubra. Si se descubre, debe imprimir una dirección, por ejemplo, 20: 73: 00: 01: 90: 65, y una descripción del dispositivo, por ejemplo, el teclado Bluetooth. Agarra esa dirección al portapapeles.

A continuación, estamos listos para conectarnos. TODOS EN TODO EL INTERNET SUGIEREN OCULTOS, LO QUE ESTÁ ENGAÑOSO YA NO ESTÁ PRESENTE MÁS. Es por eso que no pude hacer que esto funcione durante tanto tiempo ... Después de mirar a man of hcitool, encontré muchos comandos útiles, y no necesité usar dbus ni nada. Entonces, para conectarlo, emitimos:

hcitool cc 20:73:00:01:90:65

y eso es.

Los experimentos mostraron que incluso se reconecta automáticamente, cuando apago temporalmente el dispositivo.

PARTE 2.

También creé un servicio, como los chicos sugirieron en otras respuestas. Primero, creé un archivo /etc/init.d/keyboard, con este contenido:

#! /bin/sh
sudo hcitool cc 20:73:00:01:90:65
exit 0

Entonces, como root:

chmod +x /etc/init.d/keyboard
service keyboard enable
update-rc.d keyboard defaults
service keyboard start

Eso es. Espero eso ayude.

Ah, y es Debian 9.

Leonid Titov
fuente