Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Using DW1820A (BCM94350ZAE) for Hac-Mini #113

Closed
goodbest opened this issue Nov 6, 2019 · 2 comments
Labels

Comments

@goodbest
Copy link

@goodbest goodbest commented Nov 6, 2019

I have successfully made the Wi-Fi and bluetooth to work with this card on 10.15.1,
so now the 2nd nvme port can be used for hard drive.馃ぉ
Hope @osy86 can add these option for this wifi card in the installation package in the future馃槃

The steps that made it work for me:

  1. Follow the readme for HaC-mini to get all things done. (without the wifi part, of course).

2 open the box, replace the DW1820A with pre-installed intel 8265 wifi-card
IMG_6837

  1. (Important!!!) In the BIOS, disable PCIE ASPM (Active-state power management ).

  2. boot into the system, mount efi (with clover configurator, or whatever), get into the path EFI/OC

  3. Put the following kexts into Kexts dir

  • For bluetooth
    • In 10.15.1, you needBrcmBluetoothInjector.kext, BrcmFirmwareData.kext, BrcmPatchRAM3.kext
    • kexts can be grabbed from https://github.com/acidanthera/BrcmPatchRAM
    • please do read the readme in that repo for other systems
  • For Wi-Fi
    • Actually, in 10.15.1, Wi-Fi will work natively without any kext
    • but if you cannot, or if you want to remove the wifi country restriction (or do other modifications), you can get kext AirportBrcmFixup.kext from https://github.com/acidanthera/AirportBrcmFixup and setup some boot-args
  1. add the following content in config.plist into the correct position.
  • For kexts, position is under Kernel/Add to let opencore to load the above kexts (example attached below)
  • To add boot-args (e.g. brcmfx-country=#a), position is under NVRAM/Add/<Some UUID>/boot-args
    Screen Shot 2019-11-06 at 21 43 28
  1. reboot, and profit.
    All are working fine: Airdrop, Handoff, Unlock with Watch, Hotspot,..
    Screen Shot 2019-11-06 at 21 53 15

  2. If you stuck in the bootloop, you can disable the wifi and bluetooth in BIOS, log into the system and reverse the above changes. Good luck.

PS.

  1. My wi-fi card SN is DW1820A CN-08PKF4
    Vendor and Device is 14e4,43a3
    Sub Vendor and Device is 106B, 0023
    Some posts show mixed results for DW1820A with different kind of device/subdevice ID, But I've got lucky

  2. Some posts says you must masking some pin in the card to get it working, but I think the step 3 above already did that "softly" (It's only my guess)

  3. Some posts says you must add device properties to load 4360 kexts, but my machine and card don't need that

  4. Some Reference
    https://osxlatitude.com/forums/topic/11322-broadcom-bcm4350-cards-under-high-sierramojavecatalina/
    https://osxlatitude.com/forums/topic/12169-bcm4350-cards-registry-of-cardslaptops-interop/
    https://blog.daliansky.net/DW1820A_BCM94350ZAE-driver-inserts-the-correct-posture.html

			<dict>
				<key>BundlePath</key>
				<string>AirportBrcmFixup.kext</string>
				<key>Enabled</key>
				<true/>
				<key>ExecutablePath</key>
				<string>Contents/MacOS/AirportBrcmFixup</string>
				<key>PlistPath</key>
				<string>Contents/Info.plist</string>
			</dict>
			<dict>
				<key>BundlePath</key>
				<string>BrcmFirmwareData.kext</string>
				<key>Enabled</key>
				<true/>
				<key>ExecutablePath</key>
				<string>Contents/MacOS/BrcmFirmwareData</string>
				<key>PlistPath</key>
				<string>Contents/Info.plist</string>
			</dict>
			<dict>
				<key>BundlePath</key>
				<string>BrcmPatchRAM3.kext</string>
				<key>Enabled</key>
				<true/>
				<key>ExecutablePath</key>
				<string>Contents/MacOS/BrcmPatchRAM3</string>
				<key>PlistPath</key>
				<string>Contents/Info.plist</string>
			</dict>
			<dict>
				<key>BundlePath</key>
				<string>BrcmBluetoothInjector.kext</string>
				<key>Enabled</key>
				<true/>
				<key>PlistPath</key>
				<string>Contents/Info.plist</string>
			</dict>
@osy86

This comment has been minimized.

Copy link
Owner

@osy86 osy86 commented Nov 11, 2019

Did you need to add anything to PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0) like in #91 (comment) ?

Did you have to make any other changes? Currently I am just including the kext and boot-arg. Is anything else needed?

osy86 added a commit that referenced this issue Nov 11, 2019
@goodbest

This comment has been minimized.

Copy link
Author

@goodbest goodbest commented Nov 11, 2019

Currently on 10.15.1, I don't have to add those PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0) and blabla, as long as device 0x14E4,43a3 (for DW1820A) is natively supported by AirPortBrcmNIC in Apple.

However, if Apple drops the native device id for future potential system upgrade, you have to add those properties to fake DW1820A as Brcm4360 devices.

osy86 added a commit that referenced this issue Nov 11, 2019
Resolves #91
Resolves #113
@osy86 osy86 closed this in 19561fa Nov 12, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
2 participants
You can鈥檛 perform that action at this time.