BCM94360CD/CS baut keine BT Verbindung auf

  • Sauber... :thumbsup:
    Tolle Arbeit @cobanramo


    @the_viking90 Du kannst damit auch andere BT-Geräte connecten?

    Gruß
    Al6042

    Keine Unterstützung per PN oder Pinnwand... Eure Anfragen gehören ins Forum, nicht in mein Postfach!

  • ALSO, Original Apple macht er mit (also Mouse 2 und Tastatur), meine AirPods nimmt er auch, sowie meine Samsung soundbar. So kann ich auch vom Server aus mal videos abspielen lassen (ist auf 65 zoll äußerst angenehm).


    Wecken lässt er sich auch soweit.

    MacBook Pro 15.4" Late 2015
    iPhone 7+ 128GB




    Stay calm 'til valhall

  • oook, dann bin ich auch bisschen erleichtert, in dem fall weiss ich jetzt das man unter
    IOKitPersonalities / idProduct immer mit anpassen muss.


    Freut mich das es geklappt hat, hab sogar noch bisschen dazu gelernt wie vorzugehen ist bei bestimmten problemen.


    Danke Jungs. :thumbsup:

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • ICH habe zu danken :D sehr sehr geile Sache.

    MacBook Pro 15.4" Late 2015
    iPhone 7+ 128GB




    Stay calm 'til valhall

  • Echt Klasse Sache, Respekt an dich @cobanramo!


    Wenn du willst kannst du ja noch einen kleinen Guide verfassen für alle die wissen wollen, wie man seine eigene Firmware in die Kexts bekommt ;)

    Du kommst bei deinem Problem nach dem unendlichsten Versuch nicht weiter? Dann schreib mir eine Nachricht für eine TeamViewer Sitzung. Nur wenn es gar nicht mehr weiter geht!
    Alle anderen Fragen und Anliegen gehören ins Forum.

  • So, da wir das Problem von nicht verbinden von Bluetooth Geräten im Thread gelöst haben
    will ich hier mal kurz zusammenfassen wie so eine Bluetooth Firmware in den Injektor vom Rehabman kommt.
    Vorne weg, wir erfinden den Rad nicht neu, bauen einfach eine neue dem "BrcmPatchRAM2 Injektor" nicht bekannte Firmware ein.
    Muss ehrlich zugeben das ich bis vor kurzem nicht wusste das die meisten Bluetooth Kontroller mit 2 Stufen Firmware ausgestattet sind.
    Da ist eine Core Firmware fest auf dem Baustein und zu dem wird immer bei jedem Kaltstart der PC eine Zusatz Firmware per Treiber injiziert.
    Auf diese weise können die Komponenten Hersteller (Bsp. Broadcom) Produkte mit Stock Firmware absetzen und die
    Systembauer (Dell, HP, Lenovo, Sony usw.) mit einem Treiber update den Modul an Ihre Produkte anpassen.
    Wie dem auch sei, hier geht es genau um den 2. teil der Firmware, wie wir den MacOS mittels einem Injektor unterjubeln.
    Hier in unserem Beispiel Fall haben wir eine BCM94360CD/CS PCIe Modul bei dem wir zunächst mal alle Informationen sammeln müssen,
    die brauchen wir im Injektor um anzusteuern welche Firmware geladen werden soll.
    Das ist eine Wifi/Bluetooth Kombi Modul bei dem die Wifi Chip > BCM4360 & Bluetooth Chip > BCM20703 heißt,
    den Wifi teil werde ich da nicht eingehen.
    Den Hersteller & Produkt ID der Bluetooth teil könnt ihr im MacOS SystemProfiler unter Bluetooth & USB holen.


    Hersteller-ID: 0x0A5C
    Produkt-ID: 0x21FF


    Zunächst besorgen wir uns den Rehabman's aktuellsten Brcm Injektor von seinem Bitbucket.
    Darin haben wir 6 Kext file's die unterschiedliche Funktionen haben; Ausführliche Informationen zu deren funktion könnt Ihr auf seinem
    Github BrcmPatchRam lesen. Wir nehmen den teil den wir brauchen.


    BrcmFirmwareData.kext
    BrcmFirmwareRepo.kext
    BrcmPatchRAM2.kext


    Jetzt können wir auf die schnelle mal kontrollieren ob unser Bluetooth modul hier überhaupt vertreten ist,
    Dazu öffnen wir den Info.plist vom BrcmPatchRAM2.kext mit "Paketinhalt Zeigen" unter Contents mit einem plist editor unserer Wahl,
    ich benütze Xcode dazu.
    Unter IOKitPersonalities Schlüssel haben wir alle Karten die von dem Kext unterstütz werden.
    Wir stellen fest das unsere Karte 0A5C_21FF hier nicht dabei ist. Also erstellen wir einen neuen Karten Schlüssel oder ändern einen bestehenden Karten Schlüssel. Ich persönlich lösche alle anderen weg damit es übersichtlicher wird.

    Der erste Unterschlüssel ist vom IOKitPersonalities ist der Karten Identifikations Schlüssel.
    Da kommt unsere 0a5c_21ff rein.
    DisplayName > Da kommt die Anzeige Name des Produktes
    FirmwareKey > Wichtig! Hier kommt die Firmware hin, dazu etwas später, den müssen wir besorgen.
    idProduct > Dieser Wert ist Dezimalwert Hersteller-ID 8703
    idVendor > Dieser Wert ist Dezimalwert Produkt-ID 2652


    Wie Ihr feststellen könnt sind unsere Hersteller & Produkt ID's die wir vom SystemProfiler haben Hexadezimal Werte, einfach den Rechner vom MacOs nehmen und in Dezimal umwandeln.
    Voila, den Injector haben wir schon fast fertig, uns fehlt nur noch der Firmware selber, sobald wir den haben müssen den nur noch hier eintragen.


    Jetzt machen wir uns dran einen passende Firmware für unsere karte zu finden.
    Normal ist ja so dass für diese Karten Unmengen an Windows Treiber gibt, meistens auch Linux Treiber, für MacOS findet man fast nie was.
    Wenn unsere Karte einen Windows Treiber hat dann ist schon mal gut, in dem Paket ist auch unser Firmware.
    Dazu den einfach mit 7-Zip entpacken darin nach .HEX files suchen, wenn mehrere vorhanden ist sehr gut wenn nicht nach einem anderen Paket suchen.
    Ich zum Beispiel hol die direkt vom Microsoft Update Server ab, dort sind die immer aktuell und herrlich sortiert :-)
    Hier einfach nach "Broadcom Bluetooth" suchen, schon wird alles aufgelistet.
    Wir wissen ja dass unsere Bluetooth Modul BCM20703 heisst, also laden wir den neuesten Windows Treiber dazu.


    Da bekommen wir einen .CAB Paket, den können wir auch unter Linux oder Windows 7-Zip entpacken, darin sind jede menge .Hex Firmwares.
    In dieser liste müssen wir gucken das wir den richtigen erwischen, hier wieder wie vorher, Wie hiess nochmal unser Chip? BCM20703
    Wir werden sofort erkennen dass all die Firmware Dateinamen auch nach Chip's benannt sind. 4 habe ich gefunden.
    BCM20703A1_001.001.005.0214.0414.hex
    BCM20703A1_001.001.005.0214.0422.hex
    BCM20703A1_001.001.005.0214.0473.hex
    BCM20703A1_001.001.005.0214.0481.hex
    Welcher von denen das richtige ist wie ich die identifiziere entnehme ich von Rehabman's Anleitung.


    Hier mal ein beispiel.
    Der Firmware wird mit seiner Injektor unter MacOS; das Bios Vers. - letzte zahlenfolge plus 4096 angezeigt.
    BCM20703A1_001.001.005.0214.0481.hex wird angezeigt als "v5 c4577".
    Das heisst umgekehrt, wenn uns unter Bleutooth v4096 auftaucht das keine Firmware geladen wurde.


    So zurück zu unser Firmware, an unserer 4 Dateien sehe ich jetzt, das alle BiosVersion 5 haben der letzte den höchsten Build(0481) ist.
    Also nehme ich den. Laut Rehabman kann ich den File direkt weiterverwenden oder komprimieren.
    Komprimieren kann ich mit folgendem zlib Script & Befehl,
    stellt einfach den zlib.pl script vom Archiv in den gleichen Ordner wo die .Hex Datei ist.

    Code
    1. perl zlib.pl deflate BCM20703A1_001.001.005.0214.0481.hex > BCM20703A1_001.001.005.0214.0481_v4577.zhx


    schon haben wir einen komprimierten Firmware wie die anderen im BrcmFirmwareRepo.kext drin sind.
    Wenn man jetzt den BrcmFirmwareRepo.kext verwenden will müssen wir den erhaltenen Firmware zu den anderen unter Recources hinzufügen.


    Zuletzt fehlt ein Punkt, da wir jetzt unsere Firmware haben müssen wir den auch im Injector eintragen !
    Wir öffnen wieder unser info.plist vom BrcmPatchRAM2.kext und tragen den File Name unserer Firmware
    unter FirmwareKey ohne Dateinamensuffix ein;
    FirmwareKey > BCM20703A1_001.001.005.0214.0481_v4577

    Eigentlich ist unser Injektor schon einsatzbereit und kann getestet werden.
    Die beiden Dateien BrcmFirmwareRepo.kext & BrcmPatchRAM2.kext kann man jetzt ins Efi oder L/E stellen Cache erneuern und neustarten.
    Wenn die Repo im Efi erwüscht ist sollte man Rehabman's Anleitung gut durchlesen,
    Im Info.plist vom BrcmFirmwareRepo.kext muss "disabled_IOResources" zu "IOResources"
    geändert werden damit es auch im Efi eingesetzt werden kann.


    Es gib noch den anderen weg, in dem man den .Hex dumpen kann und direkt ins Injektor FirmwareKey über Zwischenablage einfügt.
    Den teil kann ich hoffentlich demnächst nachliefern.
    Ich hoffe das ich das einigermassen verständlich erklären konnte, wie Ihr sicherlich gelesen habt ist Deutsch eindeutig nicht meine stärke :-)


    Gruss Cobanramo


    Edit: soviel zur kurzer Anleitung, man bin selber erschrocken wieviel arbeit eigentlich das schreiben ist :-D

    Dateien

    • zlib.pl.zip

      (1,11 kB, 51 Mal heruntergeladen, zuletzt: )

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

    4 Mal editiert, zuletzt von cobanramo ()

  • Geile Anleitung und eigentlich wirklich auch ein Aspirant für die WIKI. Wenn Du also nichts dagegen hast wäre es uns eine Ehre diesen Guide da zu verewigen :D

  • Ach was, warum sollte ich da was dagegen haben griven, in einer Gemeinschaft sollte man ja nicht nur nehmen auch mal was geben nicht :-)
    Das würde mich Ehren einem tollen Forum hier was beigetragen zu haben, auch wenn es was kleines ist :-)
    Das mit besser schreiben muss ich wohl noch lernen :-D

     MSI-Z590Pro Wifi | Intel® Core™ i9-10900k CometLake | 32GB DDR4 RAM | Radeon RX 570 Red Devil | Nvme WD Black SN750 1TB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS

     MSI-B150M Mortar | Intel® Core™ i7-6700 Skylake | 64GB DDR4 RAM | Intel® HD Graphics 530 | Samsung NVMe 960 EVO / 1x2 TB HDD | BCM943602BAED DW1830 | OpenCore aktuell / Catalina / BigSur / Monterey / Win 10 Pro / Ubuntu

     Lenovo S340-15IIL | Intel® Core™ i7-1065G7 IceLake | 12GB DDR4 RAM | Intel® Iris Plus Graphics G7 | Nvme Intel SSDPEKNW512G8L/SSD Samsung 256GB | BCM94360NG | OpenCore aktuell / Catalina / BigSur / Monterey / Ventura Beta / Win 10 Pro / Win 11 Pro / Ubuntu / ChromeOS


    " Chasch nöd s Föifi und s Weggli ha."

  • @cobanramo Hier hasst du echt ausgezeichnete Arbeit geleisted. Hut ab von mir wo ich auch Deutsch im laufe der Zeit mir angelernt habe. Alles sehr verstaendlich und uebersichtlich.
    Gruesse henties

  • Hab meinen Post entfernt, da komischerweise jetzt alles wieder geht.


    :groesten:

    2 Mal editiert, zuletzt von scarface0619 ()