Contribute
Register

BCM94352Z occasionally not recognised after a cold boot

Status
Not open for further replies.
Joined
Jan 31, 2011
Messages
38
Mobile Phone
  1. Android
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, the WiFi device is not detected (BT always works). If I reboot, it gets detected.

I notice that this always happens after a cold-boot (booting for the first time after the laptop has been off for a while). I just reboot and the next boot always recognises the card.

When the WiFi hardware is not recognised, before rebooting, is there some log I can examine to help debug the issue?
 

Attachments

  • Anjan’s MacBook Air.ioreg.zip
    706.5 KB · Views: 87
  • EFI.zip
    670 KB · Views: 127
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, the WiFi device is not detected (BT always works). If I reboot, it gets detected.

I notice that this always happens after a cold-boot (booting for the first time after the laptop has been off for a while). I just reboot and the next boot always recognises the card.

When the WiFi hardware is not recognised, before rebooting, is there some log I can examine to help debug the issue?

Your ioreg shows WiFi working. Attach ioreg where it is not working.

Other comments:
- native CPU PM not implemented
- Android File Transfer is a bad idea (see FAQ)

Next reply, attach all typical "Problem Reporting" files/output.

--

Attach ioreg as ZIP: http://www.tonymacx86.com/audio/58368-guide-how-make-copy-ioreg.html. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply with an ioreg from any other version of IORegistryExplorer.app.

Provide output (in Terminal):
Code:
kextstat|grep -y acpiplat
kextstat|grep -y appleintelcpu
kextstat|grep -y applelpc
kextstat|grep -y applehda

Attach EFI/Clover folder as ZIP (press F4 at main Clover screen before collecting). Please eliminate 'themes' directory. Provide only EFI/Clover, not the entire EFI folder.

Attach output of (in Terminal):
Code:
sudo touch /System/Library/Extensions && sudo kextcache -u /

Compress all files as ZIP. Do not use external links. Attach all files using site attachments only.
 
- native CPU PM not implemented

I have read about it. The ssdtPRGen.sh script is not detecting my Kaby Lake CPU. I have posted an issue on the Github page. https://github.com/Piker-Alpha/ssdtPRGen.sh/issues/308. Once this is resolved, I should be able to implement the native PM.

- Android File Transfer is a bad idea (see FAQ)

Yes, I had installed it before I read that point in the FAQ. I have removed the app now.


Your ioreg shows WiFi working. Attach ioreg where it is not working.

Attached.

Anjans-MacBook-Air:~ anjan$ kextstat|grep -y acpiplat
13 2 0xffffff7f8311f000 0x66000 0x66000 com.apple.driver.AppleACPIPlatform (5.0) 27390D7F-A778-320C-A8DC-502A98AA531B <12 11 7 6 5 4 3 1>
Anjans-MacBook-Air:~ anjan$ kextstat|grep -y appleintelcpu
Anjans-MacBook-Air:~ anjan$ kextstat|grep -y applelpc
Anjans-MacBook-Air:~ anjan$ kextstat|grep -y applehda
88 1 0xffffff7f82e01000 0x1d000 0x1d000 com.apple.driver.AppleHDAController (278.23) F9C803EC-B4ED-3FDA-91FB-2AD433B2E8E4 <87 86 69 12 7 6 5 4 3 1>
111 0 0xffffff7f82f83000 0xb4000 0xb4000 com.apple.driver.AppleHDA (278.23) 9EA11FCA-ED90-3218-AE7A-6AE8D58B8F3D <110 88 87 86 73 69 6 5 4 3 1>
114 0 0xffffff7f82d30000 0x2000 0x2000 com.apple.driver.AppleHDAHardwareConfigDriver (278.23) 0FAC3430-20C7-351D-9225-8A1714C2D2D5 <4 3>






Anjans-MacBook-Air:~ anjan$ sudo touch /System/Library/Extensions && sudo kextcache -u /
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Trackpad.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Mouse.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Keyboard.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Controller.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext SATA-RAID-282a.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext SATA-100-series-unsupported.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelBacklight.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext HoRNDIS.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HD_Graphics.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Broadcom_WiFi.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmPatchRAM2.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmFirmwareRepo.kext
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIBatteryManager.kext
KernelCache ID: 5B3F160926B6F83B56496F163346B4EF
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>

I don't know what has happened suddenly, but now, every time I boot in to Mac, my WiFi is not detected. The VoodooPS2Controller also seems to have stopped working (both trackpad and keyboard not working). Bluetooth still works, though!

Graphics still work too! I have disabled the "minStolen" kext patch and the Graphics properties in SysInfo still shows 1536 MB. On checking, it looks like my BIOS sets DVMT to 128MB by default.

Battery status works as well.

The IOReg I have attached has been taken in the above state.

I hope my ioreg has some clues.
 

Attachments

  • Anjan’s MacBook Air-Wifi_NW.zip
    398.7 KB · Views: 99
  • CLOVER.zip
    670.8 KB · Views: 134
I have read about it. The ssdtPRGen.sh script is not detecting my Kaby Lake CPU. I have posted an issue on the Github page. https://github.com/Piker-Alpha/ssdtPRGen.sh/issues/308. Once this is resolved, I should be able to implement the native PM.

You can probably fill in the values manually.
Treat it as Skylake CPU...

I don't know what has happened suddenly, but now, every time I boot in to Mac, my WiFi is not detected. The VoodooPS2Controller also seems to have stopped working (both trackpad and keyboard not working). Bluetooth still works, though!

Did you try an EC reset?
I would work on power management before anything else.

Note: Your ioreg still shows Android File Transfer installed.
It also shows you have work to do on USB configuration (custom SSDT + USBInjectAll.kext).

You might also try without HPET/IRQ patches as they are not always needed.

Also there are some inappropriate changes in your ACPI files. Use diffmerge to review the changes you made, and I think you'll see (eg. disassemble both ACPI/patched and ACPI/origin with iasl -da -dl DSDT.aml SSDT*.aml, then use diffmerge to compare the disassembly).
 
Last edited:
You can probably fill in the values manually.
Treat it as Skylake CPU...

I tried that, according to your guide. If I pass any parameter (for example, processor model number or frequency), it gives me an invalid argument error:
Code:
Error: Invalid argument detected: -p i5–6200U (check ssdtPRGen.sh -h)

So, I am not sure how to proceed. That is why I posted the issue on Github.

Did you try an EC reset?

I am trying to keep that as the last resort, because disconnecting the battery involves removing the back panel of the laptop.

I would work on power management before anything else.

Understood. But, as I said above, I don't know how to proceed without the ssdtPRGen script working.

Note: Your ioreg still shows Android File Transfer installed.

Yes, that is because I removed the app only after I backed up the IOReg. I will take another latest IOReg, if it would help.

It also shows you have work to do on USB configuration (custom SSDT + USBInjectAll.kext).

Also there are some inappropriate changes in your ACPI files. Use diffmerge to review the changes you made, and I think you'll see (eg. disassemble both ACPI/patched and ACPI/origin with iasl -da -dl DSDT.aml SSDT*.aml, then use diffmerge to compare the disassembly).

Could you please tell me how you detect such things, so I can detect them myself, in the IORegistryExplorer. Then, I won't have to disturb you for such obvious and mundane things. You also detected that native CPU PM is not done. How did you find that out? I am not averse to reading. :)

You might also try without HPET/IRQ patches as they are not always needed.

I will try rolling them back too.
 
I tried that, according to your guide. If I pass any parameter (for example, processor model number or frequency), it gives me an invalid argument error:
Code:
Error: Invalid argument detected: -p i5–6200U (check ssdtPRGen.sh -h)

So, I am not sure how to proceed. That is why I posted the issue on Github.

Read the script to determine the actual arguments/options that can be provided.

I am trying to keep that as the last resort, because disconnecting the battery involves removing the back panel of the laptop.

EC reset is not really a "last resort" kind of thing.

Could you please tell me how you detect such things, so I can detect them myself, in the IORegistryExplorer. Then, I won't have to disturb you for such obvious and mundane things. You also detected that native CPU PM is not done. How did you find that out? I am not averse to reading. :)

Over time, you will learn how to use ioreg to find useful information. Unfortunately, I haven't written anything about it.
 
I think I figured out why everything stopped working correctly. I completely forgot that I recently updated the BIOS. After this, it looks like the stock, generated DSDT and SSDTs have changed significantly. So, I used the F4 method to get a fresh copy of "origin" DSDT and SSDTs and re-patched all of them. This time, I left out HPET and IRQ, like you said. Now, the Mac is back to normal.

I have also implemented the native CPU PM. It was an issue with the Kaby Lake CFG file in the GitHub repo. I have updated the issue as well.

I have not worked on the USB yet. Looks like it would take a bit of time to read through and follow it.

Also there are some inappropriate changes in your ACPI files

I have attached the relevant files again. Do you still see any inappropriate changes?

Anjans-Air:~ anjan$ kextstat|grep -y acpiplat
13 2 0xffffff7f8310e000 0x66000 0x66000 com.apple.driver.AppleACPIPlatform (5.0) 27390D7F-A778-320C-A8DC-502A98AA531B <12 11 7 6 5 4 3 1>
Anjans-Air:~ anjan$ kextstat|grep -y appleintelcpu
Anjans-Air:~ anjan$ kextstat|grep -y applelpc
Anjans-Air:~ anjan$ kextstat|grep -y applehda
114 1 0xffffff7f82df0000 0x1d000 0x1d000 com.apple.driver.AppleHDAController (278.23) F9C803EC-B4ED-3FDA-91FB-2AD433B2E8E4 <113 112 85 12 7 6 5 4 3 1>
119 0 0xffffff7f82f72000 0xb4000 0xb4000 com.apple.driver.AppleHDA (278.23) 9EA11FCA-ED90-3218-AE7A-6AE8D58B8F3D <118 114 113 112 93 85 6 5 4 3 1>

Anjans-Air:~ anjan$ sudo touch /System/Library/Extensions && sudo kextcache -u /
Password:
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Trackpad.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Mouse.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Keyboard.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Controller.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext SATA-RAID-282a.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext SATA-100-series-unsupported.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelBacklight.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext HoRNDIS.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HD_Graphics.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Broadcom_WiFi.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmPatchRAM2.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmFirmwareRepo.kext
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIBatteryManager.kext
KernelCache ID: 68A07B15B8F1B63E250491132CDB0182
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>
 

Attachments

  • CLOVER.zip
    674.2 KB · Views: 110
  • Anjan’s MacBook Air.ioreg.zip
    634.1 KB · Views: 97
I think I figured out why everything stopped working correctly. I completely forgot that I recently updated the BIOS. After this, it looks like the stock, generated DSDT and SSDTs have changed significantly. So, I used the F4 method to get a fresh copy of "origin" DSDT and SSDTs and re-patched all of them. This time, I left out HPET and IRQ, like you said. Now, the Mac is back to normal.

I have also implemented the native CPU PM. It was an issue with the Kaby Lake CFG file in the GitHub repo. I have updated the issue as well.

I have not worked on the USB yet. Looks like it would take a bit of time to read through and follow it.



I have attached the relevant files again. Do you still see any inappropriate changes?

Anjans-Air:~ anjan$ kextstat|grep -y acpiplat
13 2 0xffffff7f8310e000 0x66000 0x66000 com.apple.driver.AppleACPIPlatform (5.0) 27390D7F-A778-320C-A8DC-502A98AA531B <12 11 7 6 5 4 3 1>
Anjans-Air:~ anjan$ kextstat|grep -y appleintelcpu
Anjans-Air:~ anjan$ kextstat|grep -y applelpc
Anjans-Air:~ anjan$ kextstat|grep -y applehda
114 1 0xffffff7f82df0000 0x1d000 0x1d000 com.apple.driver.AppleHDAController (278.23) F9C803EC-B4ED-3FDA-91FB-2AD433B2E8E4 <113 112 85 12 7 6 5 4 3 1>
119 0 0xffffff7f82f72000 0xb4000 0xb4000 com.apple.driver.AppleHDA (278.23) 9EA11FCA-ED90-3218-AE7A-6AE8D58B8F3D <118 114 113 112 93 85 6 5 4 3 1>

Anjans-Air:~ anjan$ sudo touch /System/Library/Extensions && sudo kextcache -u /
Password:
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Trackpad.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Mouse.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Keyboard.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext VoodooPS2Controller.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext SATA-RAID-282a.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext SATA-100-series-unsupported.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext IntelBacklight.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext HoRNDIS.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakeSMC.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Intel_HD_Graphics.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID_Broadcom_WiFi.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext FakePCIID.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmPatchRAM2.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext BrcmFirmwareRepo.kext
kext-dev-mode allowing invalid signature -67013 0xFFFFFFFFFFFEFA3B for kext AppleMobileDevice.kext
kext-dev-mode allowing invalid signature -67062 0xFFFFFFFFFFFEFA0A for kext ACPIBatteryManager.kext
KernelCache ID: 68A07B15B8F1B63E250491132CDB0182
symlink("/System/Library/PrelinkedKernels/prelinkedkernel", "/System/Library/Caches/com.apple.kext.caches/Startup/kernelcache") failed 17 (File exists) <createPrelinkedKernel 2795>

With static patching, any BIOS update, hardware update, or BIOS option change makes re-extract/re-patch compulsory.
It is one of the reasons I always hotpatch...

Sounds like you're making progress...
 
With static patching, any BIOS update, hardware update, or BIOS option change makes re-extract/re-patch compulsory.
It is one of the reasons I always hotpatch...

Sounds like you're making progress...

When you say "hot patch", do you mean using Clover's ACPI => DSDT patches?

So, I'm guessing you do not see any inappropriate changes in my DSDT and SSDTs now. And you see native CPU PM active.
 
When you say "hot patch", do you mean using Clover's ACPI => DSDT patches?

My hotpatch guide is linked from my ACPI patching guide.

So, I'm guessing you do not see any inappropriate changes in my DSDT and SSDTs now. And you see native CPU PM active.

I didn't look, as you didn't really identify a problem.
 
Status
Not open for further replies.
Back
Top