bluetooth: re-emparejar si el dispositivo olvidó la clave
Si los auriculares pierden el emparejamiento (p. ej. al emparejarlos con otro aparato) el PC sigue viéndolos como Paired: yes y connect falla siempre con br-connection-key-missing. Ahora, ante ese error, se borra el dispositivo, se busca, se vuelve a emparejar y se conecta. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
bea3bdbb62
commit
725615f59d
1 changed files with 12 additions and 3 deletions
|
|
@ -21,13 +21,22 @@ emparejar() {
|
||||||
}
|
}
|
||||||
|
|
||||||
# conectar MAC: si no está emparejado lo empareja; si no está a la vista, lo
|
# conectar MAC: si no está emparejado lo empareja; si no está a la vista, lo
|
||||||
# busca unos segundos y lo vuelve a intentar.
|
# busca unos segundos y lo vuelve a intentar. Si el dispositivo ha olvidado el
|
||||||
|
# emparejamiento (br-connection-key-missing), lo borra y lo empareja de nuevo.
|
||||||
conectar() {
|
conectar() {
|
||||||
if ! bluetoothctl info "$1" | grep -q 'Paired: yes'; then
|
if ! bluetoothctl info "$1" | grep -q 'Paired: yes'; then
|
||||||
emparejar "$1" || { buscar 8 && emparejar "$1"; } || return 1
|
emparejar "$1" || { buscar 8 && emparejar "$1"; } || return 1
|
||||||
fi
|
fi
|
||||||
bluetoothctl connect "$1" >/dev/null ||
|
salida=$(bluetoothctl connect "$1" 2>&1) && return 0
|
||||||
{ buscar 8 && bluetoothctl connect "$1" >/dev/null; }
|
case $salida in
|
||||||
|
*key-missing*)
|
||||||
|
bluetoothctl remove "$1" >/dev/null
|
||||||
|
buscar 8 && emparejar "$1" && bluetoothctl connect "$1" >/dev/null
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
buscar 8 && bluetoothctl connect "$1" >/dev/null
|
||||||
|
;;
|
||||||
|
esac
|
||||||
}
|
}
|
||||||
|
|
||||||
# conectar_y_avisar "Nombre (MAC)"
|
# conectar_y_avisar "Nombre (MAC)"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue