Contribute
Register

[Guide] Airport - PCIe Half Mini v2

Status
Not open for further replies.
BCM94350ZAE(DW1820A)[14e4:43a3] has supported by os x natively. And on some model it works OOB, but on other model it has some problems.
Code:
$ cat /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortBrcm4360.kext/Contents/Info.plist |grep pci
                <string>pci14e4,43ba</string>
                <string>pci14e4,43a3</string>
                <string>pci14e4,43a0</string>
                <string>pci14e4,4331</string>
                <string>pci14e4,4353</string>
When I install this card on my laptop (hp elitebook folio 1020 g1), it always get same panic log:
Code:
*** Panic Report ***
panic(cpu 1 caller 0xffffff80003ce6fa): Kernel trap at 0xffffff80003c5180, type 14=page fault, registers:
CR0: 0x0000000080010033, CR2: 0x00000000000000ee, CR3: 0x0000000003e20000, CR4: 0x00000000003627e0
RAX: 0xffffff8011d51401, RBX: 0xffffff8109db3858, RCX: 0x0000000000000002, RDX: 0x0000000000000006
RSP: 0xffffff8109db35f0, RBP: 0xffffff8109db35f0, RSI: 0xffffff8109db385c, RDI: 0x00000000000000ee
R8:  0x0000000000000001, R9:  0xffffff80146bb100, R10: 0x0000000000000000, R11: 0xffffff7f81b91dea
R12: 0xffffff8011d75900, R13: 0xffffff8109db3858, R14: 0xffffff8109db385c, R15: 0x0000000000000001
RFL: 0x0000000000010206, RIP: 0xffffff80003c5180, CS:  0x0000000000000008, SS:  0x0000000000000000
Fault CR2: 0x00000000000000ee, Error code: 0x0000000000000000, Fault CPU: 0x1, PL: 0

Backtrace (CPU 1), Frame : Return Address
0xffffff8109db3280 : 0xffffff80002dab52 
0xffffff8109db3300 : 0xffffff80003ce6fa 
0xffffff8109db34e0 : 0xffffff80003ec563 
0xffffff8109db3500 : 0xffffff80003c5180 
0xffffff8109db35f0 : 0xffffff7f81e150a9 
0xffffff8109db3780 : 0xffffff7f81c44123 
0xffffff8109db3830 : 0xffffff7f81b850ba 
0xffffff8109db3890 : 0xffffff7f81b92bf1 
0xffffff8109db38e0 : 0xffffff7f80ebcae4 
0xffffff8109db3910 : 0xffffff80008b6148 
0xffffff8109db3980 : 0xffffff7f80ebcb4b 
0xffffff8109db39d0 : 0xffffff7f81ab3cb1 
0xffffff8109db39f0 : 0xffffff7f81a841f9 
0xffffff8109db3b40 : 0xffffff7f81a8b87d 
0xffffff8109db3c50 : 0xffffff7f81ada940 
0xffffff8109db3c80 : 0xffffff7f80ebcae4 
0xffffff8109db3cb0 : 0xffffff80008b6148 
0xffffff8109db3d20 : 0xffffff7f80ebcb4b 
0xffffff8109db3d70 : 0xffffff7f81adbd40 
0xffffff8109db3da0 : 0xffffff7f81b70e40 
0xffffff8109db3e40 : 0xffffff7f81b7074c 
0xffffff8109db3e60 : 0xffffff80008b6148 
0xffffff8109db3ed0 : 0xffffff7f81b6c189 
0xffffff8109db3f00 : 0xffffff800030f2da 
0xffffff8109db3fb0 : 0xffffff80003c9117 
      Kernel Extensions in backtrace:
         com.apple.iokit.IONetworkingFamily(3.2)[848B398F-4D96-3024-8092-6CD3534D2CCA]@0xffffff7f80eb4000->0xffffff7f80ee7fff
         com.apple.iokit.IO80211Family(1110.26)[B6A43EDC-47E9-3DB8-9887-812D1C77F38C]@0xffffff7f81a77000->0xffffff7f81b53fff
            dependency: com.apple.driver.corecapture(1.0.4)[0B572B9E-F1D5-31B0-AB6B-E19630F5126C]@0xffffff7f81a45000
            dependency: com.apple.kec.corecrypto(1.0)[ABDB0534-113E-3A88-8B89-52345E3AFDF7]@0xffffff7f80a50000
            dependency: com.apple.iokit.IONetworkingFamily(3.2)[848B398F-4D96-3024-8092-6CD3534D2CCA]@0xffffff7f80eb4000
         com.apple.driver.AirPort.Brcm4360(1040.1.1a6)[24E8C306-1A42-3C1E-92EA-26D593D6D901]@0xffffff7f81b54000->0xffffff7f82215fff
            dependency: com.apple.driver.corecapture(1.0.4)[0B572B9E-F1D5-31B0-AB6B-E19630F5126C]@0xffffff7f81a45000
            dependency: com.apple.driver.mDNSOffloadUserClient(1.0.1b8)[5262E7F8-D85C-336F-B5BF-0518D486FC32]@0xffffff7f81a6f000
            dependency: com.apple.iokit.IO80211Family(1110.26)[B6A43EDC-47E9-3DB8-9887-812D1C77F38C]@0xffffff7f81a77000
            dependency: com.apple.iokit.IOPCIFamily(2.9)[F51AA3D6-EC2F-3AD3-A043-06DB79027AA2]@0xffffff7f80bb7000
            dependency: com.apple.iokit.IONetworkingFamily(3.2)[848B398F-4D96-3024-8092-6CD3534D2CCA]@0xffffff7f80eb4000

BSD process name corresponding to current thread: kernel_task
Boot args: kext-dev-mode=1 dart=0 slide=0 

Mac OS version:
15G31

Kernel version:
Darwin Kernel Version 15.6.0: Thu Jun 23 18:25:34 PDT 2016; root:xnu-3248.60.10~1/RELEASE_X86_64
Kernel UUID: B5AA8E3E-65B6-3D0E-867B-8DCCF81E536C
__HIB  text base: 0xffffff8000100000
System model name: MacBookAir7,2 (Mac-937CB26E2E02BB01)
`Backtrace (CPU 1), Frame : Return Address' between `com.apple.driver.AirPort.Brcm4360' range [0xffffff7f81b54000->0xffffff7f82215fff] are:
Code:
0xffffff7f81e150a9
0xffffff7f81c44123
0xffffff7f81b850ba
0xffffff7f81b92bf1
0xffffff7f81b70e40
0xffffff7f81b7074c
0xffffff7f81b6c189
So, using `atos' convert numeric addresses to symbols of binary images:
Code:
$ atos -o AirPortBrcm4360 -l 0xffffff7f81b54000 $ADDRESS_ABOVE
awdl_doiovar (in AirPortBrcm4360) + 9010
wlc_iovar_op (in AirPortBrcm4360) + 929
AirPort_Brcm4360::setAWDL_SYNC_STATE(OSObject*, apple80211_awdl_sync_state*) (in AirPortBrcm4360) + 274
AirPort_Brcm4360::apple80211VirtualRequest(unsigned int, int, IO80211VirtualInterface*, void*) (in AirPortBrcm4360) + 3591
AirPort_Brcm4360::powerCycleOffOnThread(void*, void*, void*, void*) (in AirPortBrcm4360) + 1762
AirPort_Brcm4360::powerCycleOffOnThreadGated(OSObject*, void*, void*, void*, void*) (in AirPortBrcm4360) + 22
_powerCycleOffOnThread(void*, void*) (in AirPortBrcm4360) + 73
Above may be call sequence which cause the panic, so the problem may be `awdl_doiovar'. So, let's disassemble
AirPortBrcm4360:
Code:
$ otool -tvV AirPortBrcm4360
...
_awdl_doiovar:
00000000002bed77        pushq   %rbp
00000000002bed78        movq    %rsp, %rbp
00000000002bed7b        pushq   %r15
00000000002bed7d        pushq   %r14
00000000002bed7f        pushq   %r13
00000000002bed81        pushq   %r12
00000000002bed83        pushq   %rbx
00000000002bed84        subq    $0x158, %rsp            ## imm = 0x158
00000000002bed8b        movl    %r9d, -0xc8(%rbp)
00000000002bed92        movq    %r8, -0xd0(%rbp)
00000000002bed99        movq    %rcx, -0xe0(%rbp)
00000000002beda0        movl    %edx, %r13d
00000000002beda3        movq    %rdi, -0xd8(%rbp)
00000000002bedaa        movq    0x28(%rbp), %r12
00000000002bedae        movl    0x18(%rbp), %ecx
00000000002bedb1        movq    0x10(%rbp), %rdx
00000000002bedb5        movq    0x205334(%rip), %rbx
00000000002bedbc        movq    (%rbx), %rbx
00000000002bedbf        movq    %rbx, -0x30(%rbp)
00000000002bedc3        movq    (%rdi), %r14
00000000002bedc6        movl    $0x0, -0x98(%rbp)
00000000002bedd0        movl    $0x0, -0x9c(%rbp)
00000000002bedda        movl    %r13d, %r15d
00000000002beddd        andl    $0x1, %r15d
00000000002bede1        movq    %r14, %rdi
00000000002bede4        movl    %r15d, %r8d
00000000002bede7        movq    %r12, %r9
00000000002bedea        callq   _wlc_iovar_check
00000000002bedef        testl   %eax, %eax
...
So, the panic may be before `00000000002bedea callq _wlc_iovar_check' instruction, because wlc_iovar_check not appear in backtrace.
Which is the best solution to support BCM94350ZAE? Create a patch? or Patch DSDT/SSDT?

Further help are appreciated. :)
 
BCM94350ZAE(DW1820A)[14e4:43a3] has supported by os x natively. And on some model it works OOB, but on other model it has some problems.
Code:
$ cat /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortBrcm4360.kext/Contents/Info.plist |grep pci
                <string>pci14e4,43ba</string>
                <string>pci14e4,43a3</string>
                <string>pci14e4,43a0</string>
                <string>pci14e4,4331</string>
                <string>pci14e4,4353</string>
When I install this card on my laptop (hp elitebook folio 1020 g1), it always get same panic log:

Is this a vanilla install?
 
Is this a vanilla install?
What does vanilla in hackintosh? Like mainline version in Linux Kernel?
Or refer to clean/unpatched/fresh/original/native installation?
If it is the layer, my install is original/native.
 
What does vanilla in hackintosh? Like mainline version in Linux Kernel?
Or refer to clean/unpatched/fresh/original/native installation?
If it is the layer, my install is original/native.

I mean that you didn't install any ACPI patches, no kext patches, no Clover ACPI "Fixes"... especially as they relate to WiFi.
 
I mean that you didn't install any ACPI patches, no kext patches, no Clover ACPI "Fixes"... especially as they relate to WiFi.
Post-installation had finished following your probook guide. ACPI/PM are completely patched. With/without kext patches relate to WiFi are tested. No Fixes. No other clover WiFi settings.
 
Post-installation had finished following your probook guide. ACPI/PM are completely patched. With/without kext patches relate to WiFi are tested. No Fixes. No other clover WiFi settings.

OK... so the answer to my question is "No" (there are a number of kexts/patches/etc applied in that guide). We will need to start by first removing all such patches/kexts.

Please correspond with details and for further troubleshooting in the ProBook guide thread.
 
I have the BCM94352Z card. I have followed the first post exactly (on macOS 10.12.1). The WiFi and BT work. WiFi connects to 5 Ghz networks as well. But I have found that many times, immediately after booting into the system, I find that the WiFi device is not detected (BT always works). If I reboot, it gets detected. And another problem - after logging in, if the WiFi device IS detected, and it automatically connects to a network, the Internet does not work (every single time). If I turn off the WiFi device and turn it back on (using the menu bar), then the Internet starts to work. What could be the problem?

For Step 1 (from first post), I have tried both option 1 (Fake PCI ID kexts) and option 2 (Clover config.plist kext patch). Both give me the same results.

I have not touched anything in the DSDT for the WiFi.
 

Attachments

  • Anjan’s MacBook Air.ioreg.zip
    730.9 KB · Views: 69
  • config.plist
    11.1 KB · Views: 240
  • DPCI Manager Boot Log.txt
    23.9 KB · Views: 168
  • DSDT_ALL_BATT.aml
    124 KB · Views: 91
followed the first post exactly
Post #1/Step 1/select one method
Installed two methods:
1. kext enabler, see FakePCIID
2. kext edit/Info.plist

config.plist/remove all properties with comment noted:
1. 10.11-BCM94352-CC=#a-Ramalama
2. 10.11-BCM94352-Airport-Extreme-skvo
3. 10.11-BCM94352-0x43b114e4-Info.plist-bpresles

Reply with ew files.
 
Post #1/Step 1/select one method
Installed two methods:
1. kext enabler, see FakePCIID
2. kext edit/Info.plist

config.plist/remove all properties with comment noted:
1. 10.11-BCM94352-CC=#a-Ramalama
2. 10.11-BCM94352-Airport-Extreme-skvo
3. 10.11-BCM94352-0x43b114e4-Info.plist-bpresles

Reply with ew files.

Thank you for the quick reply toleda.

I actually tried only one of the two methods. But because I found that both of them gave the same kind of problems, I then tried them together, to see if it makes any difference. I have now removed the patch from the config.plist (you have referred to the same patch in point 3). I have also disabled the other two patches (1 and 2). I have attached the new config.plist. I have also attached the new versions of the other files too.

With the updated config.plist, when I rebooted, the Internet worked straight away. Earlier, every single time, I had to turn off and on the wifi card. So, that is an improvement. I will have to try more reboots to confirm if it is fixed. Also, I have to try more reboots to check if the "hardware not detected" problem is fixed.

Do you think that either 1 or 2 could have caused these issues? 2 is purely cosmetic, so I can live without it. But I am guessing 1 is important?
 

Attachments

  • config.plist
    11.1 KB · Views: 245
  • Anjan’s MacBook Air-2.ioreg.zip
    723.8 KB · Views: 101
  • DPCI Manager Boot Log-2.txt
    23.5 KB · Views: 141
tried them together, to see if it makes any difference
Never a good idea; remove 1st method before trying a 2nd method.
FakePCIID does both 2 and 3.
1 should not have been installed; use only if your system has the problem it fixes.
 
Status
Not open for further replies.
Back
Top