Probleme mit Bluetooth unter macOS 12 Monterey

Unter macOS 11 lief mein Bluetooth im MacBook Pro 13 noch einwandfrei. Mit dem Upgrade auf macOS 12 Monterey hat das Bluetooth Modul eine hartnäckige Macke, was zum Ausfall diverser wichtiger Funktionen führt.

So ein Ärger schon wieder... kaum hat man ein funktionierendes System am Laufen, schon entsteht Langeweile und man kommt auf so dumme Ideen wie Upgrades. Genau das hab ich hinter mich gebracht. Und genau dies wird mir nun zum Verhängnis.

In der Menüleiste ist das Bluetooth Icon ausgegraut und durchgestrichen. Das ist auch dann der Fall, wenn ich Bluetooth aktiviere. Ebensowenig erscheinen Adapter-Informationen, wenn ich das Menü-Modul in den Debug-Status versetze.

Leeres Bluetooth Menü Popup.

Beim Aufruf der Bluetooth-Einstellungen aus dem Bluetooth Menü heraus, lädt das Bluetooth Modul in den Systemeinstellungen nicht. Es endet mit der Fehlermeldung: Fehler in den Systemeinstellungen - Die Systemeinstellung „Bluetooth“ konnte nicht geladen werden.

Fehler in den Systemeinstellungen - Die Systemeinstellung „Bluetooth“ konnte nicht geladen werden.

Weil das Bluetooth nicht aktiviert werden kann, fallen diese Funktionen aus und lassen sogar Programme abstürzen.

  • AirDrop lässt sich nicht aktivieren, Finder friert ein. Damit lassen sich keine Dateien zwischen iPhone und MacBook Pro verschicken.
  • Bluetooth-Maus und -Tastatur lassen sich nicht mehr koppeln.

Selbsthilfe (Versuche)

In den Foren werden allerlei Hinweise gegeben wie man dies angeblich reparieren kann, jedoch scheint bei mir nichts dergleichen zu helfen:

  • Löschen der bluetooth.plist in den Library-Ordner. Klappt nicht, weil es keine entsprechende plist gibt.
  • Zurücksetzen des SMC, NVRAM oder PRAM beim Start. Hat keine Auswirkungen, egal welche Tastenkombination ich verwende.
  • Starten deines Mac im sicheren Modus. Bringt herzlich wenig, weil das Modul auch hier nicht erkannt wird.

Siehe auch: Apple Developer Forums: MacOS 12.0.1 Monterey Bluetooth issues oder Apple Developer Forums: Seit macOS Monterey Update geht Bluetooth nicht mehr

Der Systembericht findet nach langer Suche mit folgender Meldung Das Plug-in hat beim Sammeln dieser Informationen nicht schnell genug reagiert. ... nichts.

Laut Protokoll (diagnostic messages, dmesg) sucht mein macOS seit dem Start alle 10 Sekunden nach einem Bluetooth Adapter, meldet aber unterschiedliche denies.

sudo dmesg | grep -i bluetooth
[   86.835272]: **** [IOBluetoothFamily][newUserClient] -- created userclient for HIDShim
[   86.835331]: **** [IOBluetoothFamily][AddHCIEventNotification] -- Added notification port for HIDShim
[   86.835393]: **** [IOBluetoothFamily][CreateHIDShimSharedMemoryRingBuffer] -- Created input shared memory for HIDShim
[   86.835440]: **** [IOBluetoothFamily][CreateHIDShimSharedMemoryRingBuffer] -- Created output shared memory for HIDShim
[   86.836363]: **** [IOBluetoothACPIMethods][SetBTLP] -- mACPIDevice->evaluateObject ('BTLP') (OFF) successful ****
[   86.836367]: **** [IOBluetoothACPIMethods][SetBTLP] -- mACPIDevice->evaluateObject ('BTLP') (OFF) successful ****
[   87.099751]: **** [IOBluetoothACPIMethods][SetBTRS] -- mACPIDevice->evaluateObject ('BTRS') successful -- took 263347 microseconds ****
[   87.099760]: **** [IOBluetoothACPIMethods][SetBTRS] -- mACPIDevice->evaluateObject ('BTRS') successful -- took 263347 microseconds ****
[   87.118878]: 3 duplicate reports for Sandbox: promotedcontentd(768) deny(1) file-read-data /Users/damian/Library/Caches/com.apple.AppleMediaServices/Storage/storage.sqlitedbSystem Policy: bluetoothd(788) deny(1) file-write-unlink /Library/Keychains/System.keychain_sendCommandGated (ep: 3): Sending USB buffer size: 17408 command: <ptr> [Repeated 4 times]connect() - failed necp_set_socket_domain_attributes_dataReceiveCompletion: (epIndex: 3, _state: 1) message received: hasBuffer: 1 messageLength: 8 dataLength: 80 waitForAck: 0 [Repeated 4 times]**** [IOBluetoothFamily][RemoveHCIEventNotification] -- Removed notification port for HIDShim
[   87.150751]: **** [IOBluetoothFamily][RemoveHIDShimSharedMemoryRingBuffers] -- Removed input shared memory for HIDShim
[   87.150754]: **** [IOBluetoothFamily][RemoveHIDShimSharedMemoryRingBuffers] -- Removed output shared memory for HIDShim
[   87.150830]: **** [IOBluetoothFamily][DetachUserClients] -- HIDShim userclient has been terminated
...
[  126.707749]: sandboxd rejected approval request from MRT for kTCCServiceSystemPolicyAllFiles (/Users/damian/.Trash): denied1 duplicate report for System Policy: bluetoothd(852) deny(1) file-write-unlink /Library/Keychains/System.keychainSystem Policy: MRT(656) deny(1) file-read-data /Users/damian/.TrashSystem Policy: MRT(656) deny(1) file-read-data /Users/damian/Library/Containers/com.apple.VoiceMemosSystem Policy: MRT(656) deny(1) file-read-data /Users/damian/Library/Containers/com.apple.archiveutilitySystem Policy: MRT(656) deny(1) file-read-data /Users/damian/Library/Containers/com.apple.HomeSystem Policy: MRT(656) deny(1) file-read-data /Users/damian/Library/Containers/com.apple.SafariSystem Policy: MRT(656) deny(1) file-read-data /Users/damian/Library/Containers/com.apple.iChatSystem Policy: MRT(656) deny(1) file-read-data /Users/damian/Library/Containers/com.apple.CloudDocs.MobileDocumentsFileProviderSystem Policy: MRT(656) deny(1) file-read-data /Users/damian/Library/Containers/com.apple.mailSystem Policy: MRT(656) deny(1) file-read-data /Users/damian/Library/Containers/com.apple.NotesSystem Policy: MRT(656) deny(1) file-read-data /Users/damian/Library/Containers/com.apple.newsAppleKeyStore:7492:858: unexpected session: 100000 uid: -1 requested by: 858
...

Mir gehen langsam die Ideen aus...

Die letzten verbleibenden Optionen, etwa das Einspielen eines Backups oder Neuinstallation des Systems, sind mir zur Zeit noch zu destruktiv und zu aufwändig.

(Blende... Einige Tage später)

Apple Support

Einige Tage drauf habe ich mit dem Apple Support telefoniert, in der Hoffnung, dass ein mir noch unbekannter Hack das Bluetooth Modul zur Reanimation zwingt. Und tatsächlich habe ich etwas über die Diagnose-Funktion meines MacBooks gelernt. Leider - oder zum Glück - hat die Diagnose ergeben, dass mein Notebook keine Schäden beinhaltet. Tolle Nachricht, nur hilft mir diese nicht direkt weiter.

Semi-Radikale Lösung

Nach langem Hin und Her habe ich mich dann doch für eine erneute Installation von Monterey entschlossen. Also bootete ich das Notebook in den Recovery Modus (COMMAND + R) und versuchte es mit "macOS Monterey neu installieren". Ich freute mich, dass das System nicht nach den angekündigten 2 Stunden 17 Minuten fertig war, sondern wesentlich früher - so ca. nach 30 Minuten. Der Grund hierfür war, dass die Recovery lediglich Monterey "drüber installiert" hat, anstatt vorher die Platte zu löschen. Das Spiel habe ich dann zwei Mal gespielt, bevor ich geschnallt habe, was da eigentlich passierte.

Radikale Lösung

Also habe ich meinen ganzen Mut zusammengenommen und mich für die Festplattenlöschung entschieden. Vor der Radikalaktion habe ich mich vergewissert, dass mein TimeMachine Backup vorhanden ist. Dann habe ich mir die beiden macOS Versionen Monterey und Big Sur als Image heruntergeladen und auf je einen USB-Stick installiert. Das war nötig, da ich ja vermutlich jeglichen Byte von der Platte wischen würde, also auch vorhandene Installations-Images.

In den heruntergeladenen "App Store Apps", die sich nach dem Download unter Programme vorfinden, befindet sich ein Binary mit dem Namen "createinstallmedia". Dieses hilft ungemein bei der Erstellung eines bootbaren USB-Sticks. Folgendes Kommando führt zum bootbaren macOS USB-Stick:

sudo /Applications/Install\ macOS\ Monterey.app/Contents/Resources/createinstallmedia --volume /Volumes/Transcend

Achtung! /Volumes/Transcend ist der Pfad zu meinem USB Stick von Transcend. Achtet bitte auf die korrekte Bezeichung eurer USB-Sticks, hier können sich schnell schlimme Probleme ergeben, falls ihr unachtsam seit.

Der Restart des MacBooks mit gedrückter OPTION-Taste erlaubte mir eine Auswahl des USB-Sticks als Quelle für die "neue" Software. Prompt meldete sich die macOS-Wiederherstellung wieder. An dieser Stelle, war ich mir nun aber sicher genug mein ursprüngliches System dem Erdboden gleich zu machen. Festplatte löschen - sofort! Von da an war die Installation von Monterey auf einer "frischen" Festplatte ein Kinderspiel. Ein paar Mal musste ich noch mein Passwort eingeben, um die Löschung und Neuninstallation wirklich herbeizuführen, dann aber (nach ein paar Stunden!) war der Graus vorüber, und ich habe mich über ein neues, lupenreines macOS Monterey gefreut, das - man sehe und staune - auch Bluetooth beherrscht.

So sollte das Bluetooth-Modul unter den Systemeinstellungen eigentlich aussehen, wenn es geladen wird:

Bluetooth-Modul unter den Systemeinstellungen

Und so sieht dann auch das Bluetooth Popup im Menü aus:

Bluetooth Popup im Menü

Final spuckt der Systembericht folgende Infos aus:

Bluetooth-Controller:
    Adresse:	8C:xx:xx:xx:xx:xx
    Status:	Ein
    Chipsatz:	BCM_20703A2
    Sichtbar:	Aus
    Firmwareversion:	v104 c4315
    Produkt-ID:	0x0001
    Unterstützte Dienste:	0x382039 < HFP AVRCP A2DP HID Braille AACP GATT Serial >
    Transport:	UART
    Hersteller-ID:	0x004C (Apple)
Gekoppelte Bluetooth-Geräte:
    Apple Watch von Damian:
        Adresse:	18:xx:xx:xx:xx:xx
    iPhone:
        Adresse:	44:xx:xx:xx:xx:xx
    iPad:
        Adresse:	6C:xx:xx:xx:xx:xx
    20:xx:xx:xx:xx:xx:
        Adresse:	20:xx:xx:xx:xx:xx
    DC:xx:xx:xx:xx:xx:
        Adresse:	DC:xx:xx:xx:xx:xx

Zuallerletzt habe ich mein TimeMachine Backup reanimiert und das jüngste Backup wiedereingespielt. Das hat so ca 6-7 Stunden (!!!) gedauert, aber ich habe fortan alle meine alten Daten wieder. Um auf Nummer sicher zu gehen, dass keine Systemkonfiguration für den ganzen Mist verantwortlich war, habe ich natürlich dies bei der Wiederherstellung ausgespart.

Endlich läuft die Kiste - und auch Bluetooth.

Fehlerbehandlung beim Beschrieben des USB-Sticks

Wenn folgender Fehler auftritt "Error erasing disk error number (-69888, 0)" hilft es a) den USB-C Dongle umzudrehen, oder b) den USB-Stick mit Hilfe des Festplattendienstprogramms zu löschen bzw. neu zu formatieren.

Lessons Learned

  • BACKUPS, BACKUPS, BACKUPS! - Backups sind unverzichtbar.
  • Auch Apple-Fanboys sind nicht vor hartnäckigen Problemen befreit. Ein mühsamer Weg, den Apple da seinen stark verwöhnten Anhängern da zumutet...
  • macOS kann per USB-Stick installiert werden. Ob das per NetBoot geht?
  • Die Diagnose-Funktion muss ich mir merken, wenn die Batterie wiedermal spinnt.
  • Die Wiederherstellung dauert sehr lange, kann das System aber (augenscheinlich) vollständig wieder flott machen. Respekt.
  • Ich brauch dringend ein schnelleres TimeMachine. Vermutlich ein USB-C/Thunderbold kompatibles...