Bluetooth headset connects then immediately disconnects after SteamOS update; BlueZ rejects the headset's re-pair request (fixed by JustWorksRepairing = always)

Aperta
#3,038 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
48/100
Tipo di issue
Bug
Chiarezza
Specificata chiaramente
Stato di attività
Attiva
Stack tecnologico
linux

Direzione di ricerca

Start by reviewing the attached btmon capture and the report’s reproduction steps, then compare the behavior with JustWorksRepairing = always in /etc/bluetooth/main.conf. Check whether the SteamOS update changed the Bluetooth configuration or bond-repair behavior; the issue is resolved when a previously paired headset connects and stays connected with the default configuration.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Your system information

  • SteamOS version: 3.9.5
  • Model: Oled 1TB
  • Update channel: Stable
  • Opted into Steam client beta: No
  • Opted into SteamOS beta: No

Describe your issue in as much detail as possible:
After the latest SteamOS update, my Bluetooth earbuds show "connected" and then disconnect immediately, every attempt. It happens in Desktop Mode, and also when switching from Gaming Mode to Desktop Mode. Restarts, removing and re-pairing the device, and clearing Bluetooth configs did not help. The same earbuds work normally on a phone, so the problem is on the Deck.

Running sudo systemctl restart bluetooth fixed it temporarily, but it came back after about a day of use.

What the capture shows (btmon, attached as btmon.txt):

  1. The headset connects and A2DP/HFP setup completes normally.
  2. About 0.6 seconds later the headset initiates SSP re-pairing.
  3. BlueZ immediately sends User Confirmation Request Negative Reply. No prompt is shown to the user, and a pairing agent is registered.
  4. Simple Pairing Complete / Auth Complete = Authentication Failure (0x05).
  5. The headset then terminates the link (Remote User Terminated Connection).
    The controller (hci0) behaves normally throughout. bluetoothctl output shows the same pattern: the headset connects, endpoints appear, then it disconnects with "Connection terminated by remote user", repeatedly.

Workaround that fixes it:
Setting JustWorksRepairing = always in /etc/bluetooth/main.conf and restarting bluetooth.service. After that the earbuds pair, connect, and stay connected. With the default value (never), BlueZ rejects the re-pair request from a device it already has bonded, and the connection is torn down. A SteamOS update may overwrite main.conf and bring the problem back.

Expected behavior:
Earbuds connect and stay connected without manual configuration changes.

Steps to reproduce:

  1. Have a Bluetooth headset already paired with the Deck.
  2. Connect it in Desktop Mode (or switch from Gaming Mode to Desktop Mode with it connected).
  3. It reports connected, then disconnects right away.

Notes:
I have not isolated a specific trigger such as sleep/wake. This appears to be a bond-handling regression introduced with the latest SteamOS update.

btmon.txt

Lingua principale
Nessun dato sulla lingua
Stelle
2.7k
Fork
89
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di ValveSoftware/SteamOS

Tutte le issue di ValveSoftware/SteamOS

Issue simili

Altre issue su Networking

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.