Sven Peter, die veel heeft gewerkt aan verschillende aspecten van Apple Silicon-enablement voor Linux, heeft vandaag de patches gepost die Apple Bluetooth-driverondersteuning voor Apple Silicon M1/M2-hardware en ook voor sommige Apple x86 Macs mogelijk maken.

Dit Bluetooth”hci_bcm4377″-stuurprogramma dat ter beoordeling is geplaatst, is bedoeld voor het inschakelen van de Broadcom BCM4377/4378/4387-controllers zoals te vinden in de Apple M1/M2-systemen en ook op Apple x86 Macs.

Er zijn enkele eigenaardigheden aan deze Broadcom-controllers die door Apple worden gebruikt:

In tegenstelling tot gewone Broadcom-chips die via UART of SDIO zijn aangesloten, ondersteunen deze niet langer het gebruikelijke laden van patchram/minidriver-firmware. In plaats daarvan wordt de firmware gewoon direct toegewezen aan het PCIe-apparaat en vervolgens opgestart. Over het algemeen is de volledige PCIe-configuratieruimte vergelijkbaar met brcmfmac (of het Android-downstream bcmdhd-stuurprogramma). Er zijn niet veel overeenkomsten met UART Broadcom-apparaten.

De naamgeving van de firmware zelf is een beetje vervelend, maar lijkt op de WiFi-functie/brcmfmac: we hebben de chip-ID (bijv. 4377), de chip-stepping (bijv. b3), de modulenaam (bijv. apple,atlantisb) en de antenne nodig leverancier (bijv. m voor Murata) om het juiste firmwarebestand te selecteren.

Dit is getest door nogal wat mensen op verschillende M1/M2-machines en een paar mensen met x86 T2-machines. Tot nu toe weten we alleen dat wifi/Bluetooth-coƫxistentie nog niet werkt, maar dat moet voor zover we weten binnen brcmfmac worden geconfigureerd.

Helaas is er geen gemakkelijke manier van het distribueren van de benodigde firmware voor dit stuurprogramma op Linux. Sven merkte op dat het Asahi Linux-installatieprogramma het momenteel uit de macOS-image haalt zonder het binaire bestand rechtstreeks opnieuw te kunnen distribueren:”We kunnen de firmware helaas niet zelf distribueren, maar we kunnen het extraheren uit de officiĆ«le macOS-updatepakketten die Apple distribueert. Ons installatieprogramma for M1/M2 extraheert de nieuwste firmware en bereidt deze automatisch voor op Linux (en BSD)”
Deze Bluetooth-driver voor moderne Apple Macs wordt nu beoordeeld op de kernel-mailinglijst. Deze nieuwe Bluetooth-driver heeft 2,6k coderegels.

Categories: IT Info