BCM943602cs Bluetooth funktioniert nach längerer Ruhezeit nicht mehr

  • Ich habe ein etwas merkwürdiges Problem und hoffe jemand kennt es und kann mich Richtung Lösung weisen. Zum System:


    In meinem Hac (iMac Pro) ist eine BCM943602cs AirPort & Bluetooth Karte, der Bluetooth Part ist via USB-Kabel an den Internen Port angeschlossen und dieser via USB Kext richtig deklariert. Da die Karte OOB funktioniert, habe ich weder spezielle Kexts, noch das Gerät in der OC Config deklariert. Im BIOS ist die Energieversorgung via USB auch im ausgeschalteten Zustand aktiviert.


    Im Normalen Betrieb funktioniert die Karte auch Reibungslos: WLAN geht, Bluetooth geht.

    Wenn ich aber den PC Herunterfahre und über Nacht stehen lasse, sprich Netzteil hat noch Strom und USB Charging läuft, dann werden am nächsten Tag mein Magic Keyboard und Magic Trackpad nicht mit dem Gerät verbunden. Ich muss dann den Stecker an der Steckdose ausschalten, bis jegliche Restspannung weg ist und dann geht alles wieder reibungslos.


    Wenn ich die Energieversorgung für USB Geräte im ausgeschalteten Zustand deaktiviere, kann ich gar keine Bluetooth Geräte verbinden. Heist diese offensichtlich Lösung fällt weg. Auch das Resetten des Bluetooth Moduls, samt löschen der Config Dateien und entfernen der verbundenen Geräte hilft nicht.


    Hat noch wer dieses Problem? Oder sogar eine Lösung bereits im Einsatz?

  • Schau dir mal diese Seite an https://github.com/acidanthera/BrcmPatchRAM

    Ich hatte vor einer Weile aus dem nichts massive Bluetooth Probleme. Wenn mein PC im Ruhezustand war haben sich die Bluetooth Geräte meistens gar nicht mehr verbunden.

    Seit ich die drei Kexte drin hab funktioniert mein Bluetooth deutlich besser und zuverlässiger

    BrcmFirmwareData.kext

    BrcmBluetoothInjector.kext

    BrcmPatchRAM3.kext

  • Hast du denn das gleiche AirPort Modul?


    Ich habe mir das alles durchgelesen, aber stehe irgendwie auf dem Schlauch. Die 3 Kexts habe ich nun auch integriert, aber laut Anleitung muss ich doch noch eine ID mitgeben, oder? Für BCM943602CS, bzw. Chipsatz 20703A1 finde ich jedoch nichts in der Doku.

  • Weil Du die Kexte auch gar nicht brauchst für deine Karte. Klingt für mich nach einem Power Problem. Wenn der Deep Sleep kommt, schaltet die Karte oder das Bios die Karte aus. Nach Neustart wird sie dann nicht richtig initialisiert. Haben manche dieser Karten oder aber patchbar mit SSDT.

  • Ja dieser Meinung war ich bisher auch. Du meinst ich soll noch mal die BIOS Einstellungen auch im Hinblick auf PCIe Power durchgehen? Das werde ich genauer durch gehen.


    Was meinst du denn mit SSDT? Hast du da was zum Lesen für mich?


    Nach lesen von Dortania und BrcmPatchRAM-Readme sollte für meine Karte kein Patch nötig sein, da original Apple Hardware. Andererseits wird neue Firmware beim Booten via RAM aufgespielt und könnte daher in Kombination mit falschen Energieeinstellungen zu Problemen führen.

    Im Bug #1669 wird auch von einem Workaround mit "warm reboot" geredet, bevor der BrcmPatchRAM entwickelt wurde. Die Basis des Problems ist übrigens, dass MacOS Monterey teile des Bluetooth Stacks vom Kernel in den user-space verlagert. Was bedeuten könnte, dass das Problem besser mit SSDT, als mit Kext gelöst werden sollte und sich da noch einiges ändern wird.

  • Das Problem kenne ich. Wenn ich meinen Rechner aus dem Ruhezustand aufwecke dann kann er kein BT mehr.

    Das Symbol oben in der Leiste neben der Uhr ist dann auch wie durchgestrichen. Und BT Verbindungen gehen nicht mehr.

    Bis ich halt den Rechner normal neustarte.


    Ich habe die Fenvi T19 Karte (BCM94360CD Chipsatz). Wlan -> PCIe; BT -> USB.

    Allerdings hatte ich das Problem vorher nicht. Ich habe die Karte eingebaut und da sie OOB läuft auch keine Kext's o. Ä. benutzt.

    Das BT Problem trat bei mir erst auf nachdem ich mich mit USB Port Mapping beschäftigt habe bzw. nachdem ich jetzt eine modifizierte DSDT von hier aus dem Forum drin habe.

    Die DSDT ist in meinem Fall zwar um das Aufwachen aus dem Sleep per USB zu verhindern aber es kommt eben jedesmal nach dem Sleep zu diesem durchgestrichenem BT Symbol. Und dass BT halt nicht geht.


    Mich stört es zwar nicht da ich es so wollte dass der PC nicht wieder gleich aufwacht sondern durchschläft

    aber evtl. wäre USB Port Mapping bzw. USB Geschichten in der DSDT ein Punkt für dich wo du suchen könntest wo es zu deinem BT Problem kommt.

  • Naja, wie soll ich denn die USB Ports anders deklarieren? Bluetooth ist am internen USB 2.0 Port dran und auch als Internet Port deklariert.

  • Ich weis nicht wie, habe von USB Port deklarieren keine Ahnung^^

    Deswegen habe ich ja nen Thread aufgemacht und am Ende wurde mir eine modifizierte

    DSDT zur Verfügung gestellt weil ich das mit USB nicht hinbekommen habe.


    Wollte nur sagen dass die BT Probleme vermutlich in der Richtung zu suchen sind, da ich vor

    den ganzen Spielerein keine Probleme mit BT hatte. Auch nach Sleep nicht.

    Muss aber nicht sein, kann auch von wo anders her kommen das Problem. War halt nur ein Vorschlag.

  • Ist in meiner EC USBX SSDT drin:

    Weitere SSDTs in meiner EFI: AWAC, Plug und PM.

    Ich hatte in einer vorherigen EFI auch HPET Patches drin, aber die EFI hat angefangen Probleme zu bereiten und nun habe ich als Basis die von Sascha_77 und nur um seine renames bereinigt.

  • pebbly


    Wie ich sehe hast du dein USB Mapping mit Hackintool gemacht. Wenn du in deiner USBPorts.kext die info.plist öffnest sieht man, dass schon USB Energieeinstellungen vorhanden sind.



    Möglicherweise hängt es damit zusammen. Wäre eventuell ein Versuch wert die SSDT-USBX wegzulasssen (sprich mit SSDTTime eine SSDT-EC erzeugen oder deine SSDT-EX-USBX zu bearbeiten), oder die entsprechenden Einträge der USBPorts.kext zu bearbeiten/entfernen oder mit z.B. USBToolBox eine neue USBMap.kext zu erstellen und zusammen mit deiner SSDT-EC-USBX verwenden. Vielleicht hapert es daran das sowohl in der Kext als auch in deiner SSDT USB Energieeinstellungen vorhanden sind. Ich hänge dir mal meine mit USBToolBox generierte USBMap.kext an, damit du die info.plists beider Kexte vergleichen kannst.


    Ich benutze aber keine BCM... Karte, deswegen ist das reine Spekulation!

  • Nice catch! Allerdings ist Bluetooth ja an einem internen USB 2.0 Port und USB Power dürfte nur USB 3.x Ports (bzw. deren Anteil) betreffen.

    Ich habe mal die Parameter aus meiner USB Kext genommen und teste es.Aber die Werte sind in der SSDT und im Kext gleich, gehe also davon aus, dass es keinen Einfluss haben wird.

  • Meine Vermutung bleibt bestehen. Da es nur im Derp Sleep passiert, gehe ich davon aus das im S3 deine USB Power abgeschaltet wird oder das Modul die BT Karte kappt.


    Ob man das fixen kann, keine Ahnung.


    Hast Du eine BT LeD auf der Karte? Ist die im Derp Sleep noch an? Wäre ein Indiz.

  • Ja da ist eine LED dran und ja, die leuchtet auch durchgehend. Primär würde ich ja über die Energie Einstellungen im BIOS gehen, aber da finde ich nichts, was passend wäre. Das gute mit der LED müsste ja sein, dass ich einfacher validieren kann, ob ein Fix funktioniert.

    Aktuell habe ich folgende Änderung im BIOS gemacht:

    • PCI Express Native Power Management aktiviert und auf ASPM OS Controller (Enabled) geändert
    • USB Power Delivery in Soft Off State S5 deaktiviert
    • ErP Ready Enabled S5
  • Ich bin ja mit recht alter Hardware unterwegs :) Aber z.B. ERP führt unter umständen zu den Problemen, da dann die Power für verschiedene Geräte z.B. Lan etc abgeschaltet wird.


    Hast Du alle IRQ Konflikte gelöst? z.B. mit SSDTTime?


    Ansonsten mal mit verschiedenen SSDT´s die Du hast experimentieren.


    Vielleicht auch mal mit den Standby und Autopower Einstellungen im OS spielen.


    Sonst bin ich da dann auch ohne Ansatz im Moment. Mein BT zickt, z.B. bei manuellem Ruhezustand. Warum? Kann mir keiner sagen.

  • Ich hatte in der vorherigen EFI die IRQ Konflikte von SSDTTime catchen lassen, aber das hat dann langfristig zu Problemen geführt (Time Machine HDD hat gesponnen und UEFI hatte nen Schuss).


    Ich bin jetzt mal die Einstellungen im BIOS durchgegangen und ASUS macht es da einem ja echt nicht leicht! Schöne Abhängigkeiten drin, die dann vorher getroffene Settings verändern oder verstecken! X(


    Erster Erfolg ist, dass die Bluetooth LED im Standby leuchtet, aber im Aus (S5) ausgeht. Resultat: Nach dem Standby geht Bluetooth weiterhin, WLAN kann aber wohl kurzzeitig als deaktiviert angezeigt werden. Ob es da keine Probleme gibt kann ich nur nach ein paar Stunden Testlauf schauen. Aber nun braucht der initiale Start des BIOS etwas länger :D

    • PCIe Nativ Power Management: Enabled
      • Native ASPM Disabled (BIOS Controlled)
    • USB Power Delivery in Soft Off State (S5) Disabled
    • ErP Ready: Enabled (S5)
    • LEDs: Aura Off <- DAS ist so ne nervige Abhängigkeit