Jump to content

BCM94360CS2 - no wi-fi, but kext is loaded


7 posts in this topic

Recommended Posts

Hi,

I am on 11.3 and I have an Apple branded BCM94360CS2 in a pcie adapter. The bluetooth is working, but the wi-fi does not work. Nothing shows up in System Profiler.

 

Can anyone help me figure this out?

 

I have used this card before with Mojave and it worked out of the box, but now no dice. I don't think I need additional kext, but I have tried to add AppleBrcmFixup.kext but it prevents boot.

 

I tried moving the pcie slot, from the lower 1x slot to the top 1x but no change.

 

I have mapped USB using USBPorts.kext, with 255 associated to the bluetooth device.

 

The pcie device appears in ioreg as:

➜ ~ ioreg |grep -i 43a0

| | | +-o pci14e4,43a0@0 <class IOPCIDevice, id 0x1000001a6, registered, matched, active, busy 0 (19 ms), retain 12>

The Apple kext is loaded:

kextstat | grep -i air

Executing: /usr/bin/kmutil showloaded

No variant specified, falling back to release

86 0 0xffffff8001ea7000 0x55a000 0x55a000 com.apple.driver.AirPort.BrcmNIC (1400.1.1) 54500ED3-AD58-34BC-AFB6-21F9876C6DAF <85 84 71 70 46 14 8 7 6 5 3 1>

When loading the AppleBrcmFixup.kext that fails boot, I used this config but maybe I have it wrong:

<dict>

<key>Arch</key>

<string>Any</string>

<key>BundlePath</key>

<string>AirportBrcmFixup.kext</string>

<key>Comment</key>

<string></string>

<key>Enabled</key>

<true/>

<key>ExecutablePath</key>

<string>Contents/MacOS/AirportBrcmFixup</string>

<key>MaxKernel</key>

<string></string>

<key>MinKernel</key>

<string></string>

<key>PlistPath</key>

<string>Contents/Info.plist</string>

</dict>

<dict>

<key>Arch</key>

<string>Any</string>

<key>BundlePath</key>

<string>AirportBrcmFixup.kext/Contents/PlugIns/AirPortBrcm4360_Injector.kext</string>

<key>Comment</key>

<string></string>

<key>Enabled</key>

<true/>

<key>ExecutablePath</key>

<string></string>

<key>MaxKernel</key>

<string>19.9.9</string>

<key>MinKernel</key>

<string></string>

<key>PlistPath</key>

<string>Contents/Info.plist</string>

</dict>

<dict>

<key>Arch</key>

<string>Any</string>

<key>BundlePath</key>

<string>AirportBrcmFixup.kext/Contents/PlugIns/AirPortBrcmNIC_Injector.kext</string>

<key>Comment</key>

<string></string>

<key>Enabled</key>

<true/>

<key>ExecutablePath</key>

<string></string>

<key>MaxKernel</key>

<string></string>

<key>MinKernel</key>

<string></string>

<key>PlistPath</key>

<string>Contents/Info.plist</string>

</dict>

 

If it's a genuine Apple BCM94360CS2, it should indeed work OOB and not require AirportBrcmFixup kext. I have a couple of Apple BCM94360CD cards in PCIe adapters and they currently work OOB and perfectly in Big Sur 11.3.

 

If the card does not show in SysProfiler, check if it shows in IOReg through apps such as IORegistryExplorer:

  1. if it does not, then you have an issue at hardware level.
  2. if it does, save that IOReg, zip it and post it. You may simply have to make adjustments (eg: inject properties) to the ACPI/PCIe device the card attaches to.
  • Like 1

Ok, so, on the PCIe bus, your wireless card is attached to no specific/named child device under root bridge @1C,1. Quite common on desktop systems. Given that all seems to be in order in IOReg as far as the card is concerned, I would have expected AirPortBrcmNIC kext to load against that BCM94360CS2 card but maybe your bootloader setup has incorrect settings or needs some adjustments. You clearly inject properties in your config after all (slot name, device type, model, etc.).

 

In order for the card to be listed in SysInfo->PCI, you would just require to inject a property as basic as AAPL,slot-name set to, say, "PCIe x1" string against PciRoot(0x0)/Pci((0x1C,0x1)/Pci(0x0,0x0) in your boot loader config. You'd then get something ver similar to this:

BCM94360CD_SysInfo-PCI.jpg

 

Can you post a zipped copy of your Clover or OC EFI folder? I just need the ACPI + Kexts folders and the config file.

  • Like 1

The kernel section of your OC config looks very odd to me: secure boot enabled, no fakeSMC or VirtualSMC loaded, dummy power management; never seen this kind of setup before. Could not see anything wrong in the Device Properties section or the SSDT tables.

 

Can you clarify one thing though: IO80211Family kext and its AirPortBrcmNIC Plugin are present in /S/L/E and full vanilla, right? You may save your SysInfo data, zip it and post it if you want us to have a look at the kexts available on your installation. Because, contrary to what you posted in thread title, no kext appears to load fro the wireless card.

 

This being said, I also noticed an incorrect property injection for LPC controller: you obviously want to fake ICH9R device id (8086:)2916 for ICH9 device (8086:2918). This is not the ASRock Z390 system in signature but an old C2D/C2Q platform, isn't it? There is no need to inject a compatible property and a device-id property to that purpose; just one or the other (with valid values of course):

compatible    pci8086,2916    DATA

or

device-id    16290000    DATA

but not

device-id    162900    DATA    --> invalid value

 

The IOReg you previously posted shows your injection to be unsuccessful.

 

  • Like 1

Thanks, I removed the device-id.

 

Attached is my sys info. 

 

My only basis for "the kext is loaded" is kextstat and what shows under Extensions in System Info...

 

I can confirm that the IO80211Family.kext and AirPortBrcmNIC.kext are in S/L/E and vanilla. I have not touched them, only the /EFI/OC/Kexts

×
×
  • Create New...