Revised solutions to DW1820A support
goodbest opened this issue · comments
It's not an issue, but a revised solution to previous issues 113 and 91.
The solution is tested under 10.15.4 / Hac mini 2.7 with manual setups / latest BrcmPatchRam commit. Please correct me if there's anything wrong.
To improve the solution, I think some modifications are needed for refining the DW1820A (0a5c_6412 & 0a5c_6414) support in the installer, especially Package.pkgproj
, install scripts, and config.plist. However, I don't think I can do that in the best way.
So in order to make our NuC as perfect as possible, I'm here asking the community for help😁
In order to get DW1820A (0a5c_6412 & 0a5c_6414) working, you need two parts.
Part 1: Disable ASPM
- In previous solutions, we have to disable ASPM in BIOS. However, this would also disable the ASPM feature for all the other PCI devices as well, which is not the perfect way. (BTW, you can see the ASPM status for all PCI devices in recent released Hackintool.)
- Recently, people have found that adding Device Property
pci-aspm-default=0
for DW1820A would just do the work, in a more elegant way:- For our Nuc, You just need to add the following part into
config.plist
.
- For our Nuc, You just need to add the following part into
<key>PciRoot(0x0)/Pci(0x1c,0x2)/Pci(0x0,0x0)</key>
<dict>
<key>pci-aspm-default</key>
<integer>0</integer>
</dict>
- Or in theory, you can also use DSDT/SSDT to do the device property injection. (I've tried several times, but can't find the right DSL code for that.)
Part 2: The kexts.
- For wifi, you need
AirportBrcmFixup.kext
. and setupbrcmfx-country=#a
in bootargs (or injecting this via DSDT or DeviceProperty in bootloader, see the project's readme). - For Bluetooth in 10.15, you need 3 kexts:
BrcmBluetoothInjector.kext
,BrcmPatchRAM3.kext
,BrcmFirmwareData.kext
- For BrcmPatchRAM with version <=2.5.2, people may suffer from connection failure, #125
- For version >2.5.2, the issue should befixed by porting linux driver logic. (newer official release is on the way)
PS. For all non-apple native cards, the Apple Watch Unlock feature is not always working.(actually, not really functional at all).
By the way, in theory, for DW1560/ DW1830, you just need the second part.
Maybe we could also provide an installer option for those (no need to add deviceproperty with aspm=0)
@goodbest please test https://github.com/osy86/HaC-Mini/suites/646220359/artifacts/5470857 and see if the DSDT is correct. If it doesn't work, please get an IORegistryViewer dump for me to check.
I suppose we should change the following codes
https://github.com/osy86/HaC-Mini/pull/254/files/8878666f45eb453e64fcce6b32561c629e89f3d6#r419081408
I tried BrcmPatchRAM v2.5.3. It does not work after wake. I have to manually turned off and back on bluetooth for it to work again. Any suggestion? Adapter is dw1820a
@lisai9093 Do you have the issue with v2.5.2?
I just tried it without any issue.
@lisai9093
Maybe you should try v2.5.3 with extra bootargs, which is listed in typical "wake from sleep" problems
part in kext's readme.
However, I don't have the issue even without these bootargs.
Also, can you share the USB connector type for HS09 (the bluetooth related) via Hackintoo? It should be internal