Jump to content

[Guide] HaC Mini - OSX Mojave on Intel Hades Canyon (NUC8i7HVK/NUC8i7HNK)


osy
 Share

229 posts in this topic

Recommended Posts

On 7/28/2019 at 3:22 PM, kowbot said:

u can use

 

1. BCM943602BAED DW1830

2. BCM94352Z/AzureWave DW1560

3. BCM94350ZAE DW1820A

 

I received the BCM94350ZAE DW1820A and installed it. It works fine in Win10 so it is not broken.

WiFi / BT adapter shows up in IORegistry Explorer on PciRoot(0x0,0x0)/Pci(0x1c,0x02)/Pci(0x0,0x0).

 

When I add the device to the plist, I get Wifi to run in combination with AirportBrcmFixup. 

 

Bluetooth won't work though.

 

I get the device displayed on USB HS09 as BCM2045A0 in System Information.

Nevertheless, it says Bluetooth not available and I can't use bluetooth. 

 

How to best integrate this with HaC Mini? Is there any WiFi/Bluetooth configuration already in HaC Mini that might interfere with my efforts?

 

THX 

 

 

 

 

 

Screenshot 2019-08-06 at 18.47.10.png

Edited by Schnubbi
Link to comment
Share on other sites

14 hours ago, Schnubbi said:

 

I received the BCM94350ZAE DW1820A and installed it. It works fine in Win10 so it is not broken.

WiFi / BT adapter shows up in IORegistry Explorer on PciRoot(0x0,0x0)/Pci(0x1c,0x02)/Pci(0x0,0x0).

 

When I add the device to the plist, I get Wifi to run in combination with AirportBrcmFixup. 

 

Bluetooth won't work though.

 

I get the device displayed on USB HS09 as BCM2045A0 in System Information.

Nevertheless, it says Bluetooth not available and I can't use bluetooth. 

 

How to best integrate this with HaC Mini? Is there any WiFi/Bluetooth configuration already in HaC Mini that might interfere with my efforts?

 

THX 

 

 

 

 

 

Screenshot 2019-08-06 at 18.47.10.png

 

attach windows device manager info

os x device info and patched config.plist

Link to comment
Share on other sites

4 hours ago, kowbot said:

 

attach windows device manager info

os x device info and patched config.plist

 

Here you are! I appreciate your input.

The WiFi is meehhhh. Sometimes I need to reboot several times until it works. Sometimes mouse and keyboard stop working. :-(

 

The rest of the config.plist / Clover is vanilla HaC 1.3.

I added, what I changed.

 

THX!

config.plist

Annotation 2019-08-07 114836.png

Annotation 2019-08-07 114753.png

Annotation 2019-08-07 114702.png

Screenshot 2019-08-07 at 11.18.05.png

Screenshot 2019-08-07 at 11.17.42.png

AirportBrcmFixup

 

 

 

 

 

Edited by Schnubbi
Link to comment
Share on other sites

Thank you for this. This is the only configuration during my last days of researched that really works.

 

Only left is bluetooth and wifi. These do not work and bluetooth keeps on searching and can't be turned off.

 

Appreciate any help.

 

I am using kowbot clover folder :) Thanks @kowbot

Link to comment
Share on other sites

17 hours ago, Schnubbi said:

 

Here you are! I appreciate your input.

The WiFi is meehhhh. Sometimes I need to reboot several times until it works. Sometimes mouse and keyboard stop working. :-(

 

The rest of the config.plist / Clover is vanilla HaC 1.3.

I added, what I changed.

 

THX!

config.plist

Annotation 2019-08-07 114836.png

Annotation 2019-08-07 114753.png

Annotation 2019-08-07 114702.png

Screenshot 2019-08-07 at 11.18.05.png

Screenshot 2019-08-07 at 11.17.42.png

AirportBrcmFixup

 

 

 

 

 

 

i think is this noraml dw 1820A chip.

u not need patch.

 

1. BrcmPatchRAM2.kext, BrcmFirmwareData.kext put EFI/CLOVER/Kext/Other.

1-1. check working.

 

2. BT4LEContinuityFixup.kext put EFI/CLOVER/Kext/Other.

2-1. check working.

 

3. use my clover.

3-1. check working.

 

all not working i can't help u T.T

 

plz read url:

https://osxlatitude.com/forums/topic/11322-dw1820a-broadcom-bcm4350-chipset-under-high-sierramojave/

3 hours ago, netx said:

Thank you for this. This is the only configuration during my last days of researched that really works.

 

Only left is bluetooth and wifi. These do not work and bluetooth keeps on searching and can't be turned off.

 

Appreciate any help.

 

I am using kowbot clover folder :) Thanks @kowbot

 

u can't use original intel BT/WIFI chip.

 

need replace BT/WIFI chip.

Edited by kowbot
  • Thanks 1
Link to comment
Share on other sites

11 hours ago, kowbot said:

 

i think is this noraml dw 1820A chip.

u not need patch.

 

1. BrcmPatchRAM2.kext, BrcmFirmwareData.kext put EFI/CLOVER/Kext/Other.

1-1. check working.

 

2. BT4LEContinuityFixup.kext put EFI/CLOVER/Kext/Other.

2-1. check working.

 

3. use my clover.

3-1. check working.

 

all not working i can't help u T.T

 

 

1.) Somehow ended up in a big mess. System restarts with Kernel panic 2 times and then boots on the 3rd reboot. Additionally, now the WiFi card does no longer work in Windows. Windows now states that the WiFi card requires additional installation. If I try update driver, I get a Windows bluescreen.

 

Did I just somehow erase the Firmware of the WiFi card?

 

Is there any card that works out of the box that does not require a case mod and still leaves the 2nd M2 slot available for SSD?

 

In the guide you pointed me to, this card is mentioned as problematic, I can confirm this..........

 

THX

 

IMG_2287.jpg

Link to comment
Share on other sites

8 hours ago, Schnubbi said:

 

1.) Somehow ended up in a big mess. System restarts with Kernel panic 2 times and then boots on the 3rd reboot. Additionally, now the WiFi card does no longer work in Windows. Windows now states that the WiFi card requires additional installation. If I try update driver, I get a Windows bluescreen.

 

Did I just somehow erase the Firmware of the WiFi card?

 

Is there any card that works out of the box that does not require a case mod and still leaves the 2nd M2 slot available for SSD?

 

In the guide you pointed me to, this card is mentioned as problematic, I can confirm this..........

 

THX

 

IMG_2287.jpg

 

do not worry about windows.

first u confirm working on os x.

 

windows have a lot of ways.

don't boot windows first.

test only os x.

Link to comment
Share on other sites

On 8/9/2019 at 2:42 AM, kowbot said:

 

do not worry about windows.

first u confirm working on os x.

 

windows have a lot of ways.

don't boot windows first.

test only os x.

 

I tried all possible variants now. There seems to be no way to make this WiFi card run.

Using your clover, either there is a kernel panic or no WiFi hardware detected or the whole system is nearly freezing.

 

:-(

 

Thanks for the input anyway :-)

Link to comment
Share on other sites

On 8/14/2019 at 12:49 AM, Schnubbi said:

 

I tried all possible variants now. There seems to be no way to make this WiFi card run.

Using your clover, either there is a kernel panic or no WiFi hardware detected or the whole system is nearly freezing.

 

:-(

 

Thanks for the input anyway :-)

 

Got it up and running now, including Handoff. (I don´t know if AppleWatch unlock works, since I don´t have an Apple Watch).

 

1.) DISABLE Wake on LAN and PCIE ASPM. Other threads say you need to tape some pins on your board, but this BIOS setting did it for me. Maybe only one of the two is required.

2.) Configure USB correctly, including bluetooth on internal USB (SSDT-UIAC + USBInjectAll) (Could this configuration maybe be merged into HaC Mini one day?)

3.) Configure WiFI PCI device correctly

4.) Add Boot options for BrcmFixup, actually works without these boot options as well on SOME DW1820 boards.

 

5.) Bluetooth in your FirmwareRepo should match Windows firmware, otherwise you will get strange effects when warm booting from one OS to the other.

 

For me, v7 c4096 works fine. Other threads say, you can also go for v5799 or v5803. For me, Handoff then never worked.

 

545025955_Screenshot2019-08-16at16_21_38.png.97368784ec2409cabfe2f44f924ea54e.png

 

SSDT-UIAC.aml

Screenshot 2019-08-16 at 16.26.07.png

Screenshot 2019-08-16 at 16.27.45.png

Link to comment
Share on other sites

23 hours ago, kwjenkins said:

I just got back from a vacation where i took it with me and ran it nonstop for 2 weeks, and I noticed this as well. Is there a issue posted for this to track

 

Thanks for the confirmation, I've just reported the issue. 

Link to comment
Share on other sites

Hi,

 

I'm having NUC8i7HVK and wanted to thank @osy for the guide as all seems to work fine.

Just wanted to share my thoughts on the integrated BT card and how it works for me:
I started an Ubuntu 19.04 USB without installing it, as that is loading the firmware of the bluetooth. Then when I restart in Mojave I have a working bluetooth. I also tried shutdown in order to clear the loaded firmware, but for some reason it is not cleared and it continues to work... So if we somehow load the intel firmware on boot, we will not need card replacement (for those of us that do not use wifi when there is ethernet).

 

If you are interested to dig into it, when you load ubuntu the firmwares are in /rofs/usr/lib/firmware/intel

There is a project https://github.com/ammulder/AppleIntelWiFiMVM that is supporting some other NUC versions, may be these guys can help.

 

I'd like to see the S/PDIF working as well but that is another story.

 

Cheers

Link to comment
Share on other sites

4 hours ago, cyber4o said:

Hi,

 

I'm having NUC8i7HVK and wanted to thank @osy for the guide as all seems to work fine.

Just wanted to share my thoughts on the integrated BT card and how it works for me:
I started an Ubuntu 19.04 USB without installing it, as that is loading the firmware of the bluetooth. Then when I restart in Mojave I have a working bluetooth. I also tried shutdown in order to clear the loaded firmware, but for some reason it is not cleared and it continues to work... So if we somehow load the intel firmware on boot, we will not need card replacement (for those of us that do not use wifi when there is ethernet).

 

If you are interested to dig into it, when you load ubuntu the firmwares are in /rofs/usr/lib/firmware/intel

There is a project https://github.com/ammulder/AppleIntelWiFiMVM that is supporting some other NUC versions, may be these guys can help.

 

I'd like to see the S/PDIF working as well but that is another story.

 

Cheers

If anyone gets S/PDIF working on Linux (as well as headset mic), I can probably port the changes. 

Link to comment
Share on other sites

@osy

 

It took me 2 days but i made the S/PDIF to work in ubuntu, you need windows as well as it is similar to the bluetooth - it is loading a firmware which enables the spdif, (in linux the bios setting is with disabled flag) here are the steps to enable it:

 

1. In linux (ubuntu in my case) do:

echo "options snd-hda-intel patch=nuc.patch" >> /etc/modprobe.d/alsa-base.conf

cat > /lib/firmware/nuc.patch << _EOF_
[codec]
0x10ec0700 0x80862073 0
 
[pincfg]
0x1e 0x03441060
_EOF_
 

2. Boot into windows, where you have the realtek drivers and you can hear audio through spdif 

3. Boot back in ubuntu (without shutdown to keep the firmware in) and voila you have spdif

 

Now do some magic and enable the spdif pin in osx

the default disabled one is 0x1e 0x03441160 for reference and changing it to 0x1e 0x03441060 is enabling it

 

We will also need a dump of that firmware not to require windows every time :)

 

Cheers

Edited by cyber4o
Link to comment
Share on other sites

On 9/5/2019 at 11:33 PM, cyber4o said:

@osy

 

It took me 2 days but i made the S/PDIF to work in ubuntu, you need windows as well as it is similar to the bluetooth - it is loading a firmware which enables the spdif, (in linux the bios setting is with disabled flag) here are the steps to enable it:

 

1. In linux (ubuntu in my case) do:

echo "options snd-hda-intel patch=nuc.patch" >> /etc/modprobe.d/alsa-base.conf

cat > /lib/firmware/nuc.patch << _EOF_
[codec]
0x10ec0700 0x80862073 0
 
[pincfg]
0x1e 0x03441060
_EOF_
 

2. Boot into windows, where you have the realtek drivers and you can hear audio through spdif 

3. Boot back in ubuntu (without shutdown to keep the firmware in) and voila you have spdif

 

Now do some magic and enable the spdif pin in osx

the default disabled one is 0x1e 0x03441160 for reference and changing it to 0x1e 0x03441060 is enabling it

 

We will also need a dump of that firmware not to require windows every time :)

 

Cheers

 

 

Some more testing on this, turns out this is not exactly the cause of the issue. The good news is there is no firmware involved, it is just the widget capabilities setting set wrongly by the bios. I needed a small patch on the kernel src to fix it, basically what needs to be done is change wcaps to 0x611 on nid 0x6. The default is 0x411 which recognises the port as analog.

--- sound/pci/hda/patch_realtek.c       2019-08-29 07:30:28.000000000 +0100
+++ ../../linux-5.2.11/sound/pci/hda/patch_realtek.c    2019-09-08 08:50:18.139434482 +0100
@@ -4054,6 +4054,14 @@
        }
 }
 
+static void alc700_fixup_nuc_spdif(struct hda_codec *codec,
+                         const struct hda_fixup *fix, int action)
+{
+       snd_hda_override_wcaps(codec, 0x6, 0x611);
+}
+
 /* Line2 = mic mute hotkey
  * GPIO2 = mic mute LED
  */
@@ -5751,6 +5759,7 @@
        ALC256_FIXUP_DELL_XPS_13_HEADPHONE_NOISE,
        ALC293_FIXUP_LENOVO_SPK_NOISE,
        ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY,
+       ALC700_FIXUP_NUC_SPDIF,
        ALC255_FIXUP_DELL_SPK_NOISE,
        ALC225_FIXUP_DISABLE_MIC_VREF,
        ALC225_FIXUP_DELL1_MIC_NO_PRESENCE,
@@ -6473,6 +6482,10 @@
                .chained = true,
                .chain_id = ALC269_FIXUP_THINKPAD_ACPI
        },
+       [ALC700_FIXUP_NUC_SPDIF] = {
+               .type = HDA_FIXUP_FUNC,
+               .v.func = alc700_fixup_nuc_spdif,
+       },
        [ALC233_FIXUP_LENOVO_LINE2_MIC_HOTKEY] = {
                .type = HDA_FIXUP_FUNC,
                .v.func = alc233_fixup_lenovo_line2_mic_hotkey,
@@ -7020,6 +7033,7 @@
        SND_PCI_QUIRK(0x10cf, 0x1629, "Lifebook U7x7", ALC255_FIXUP_LIFEBOOK_U7x7_HEADSET_MIC),
        SND_PCI_QUIRK(0x10cf, 0x1845, "Lifebook U904", ALC269_FIXUP_LIFEBOOK_EXTMIC),
        SND_PCI_QUIRK(0x10ec, 0x10f2, "Intel Reference board", ALC700_FIXUP_INTEL_REFERENCE),
+       SND_PCI_QUIRK(0x10ec, 0x2073, "Intel NUC Hades Canyon SPDIF", ALC700_FIXUP_NUC_SPDIF),
        SND_PCI_QUIRK(0x10f7, 0x8338, "Panasonic CF-SZ6", ALC269_FIXUP_HEADSET_MODE),
        SND_PCI_QUIRK(0x144d, 0xc109, "Samsung Ativ book 9 (NP900X3G)", ALC269_FIXUP_INV_DMIC),
        SND_PCI_QUIRK(0x144d, 0xc740, "Samsung Ativ book 8 (NP870Z5G)", ALC269_FIXUP_ATIV_BOOK_8),
@@ -7181,6 +7195,7 @@
        {.id = ALC292_FIXUP_TPT460, .name = "tpt460"},
        {.id = ALC298_FIXUP_TPT470_DOCK, .name = "tpt470-dock"},
        {.id = ALC233_FIXUP_LENOVO_MULTI_CODECS, .name = "dual-codecs"},
+       {.id = ALC700_FIXUP_NUC_SPDIF, .name = "nuc-hc"},
        {.id = ALC700_FIXUP_INTEL_REFERENCE, .name = "alc700-ref"},
        {.id = ALC269_FIXUP_SONY_VAIO, .name = "vaio"},
        {.id = ALC269_FIXUP_DELL_M101Z, .name = "dell-m101z"},

will see if I can find something in the bios :)

 

Link to comment
Share on other sites

And a final update how to make it work in mac os, such an easy fix :)

1. Enable it in AppleALC (osy's section)

diff --git a/Resources/ALC700/Platforms11.xml b/Resources/ALC700/Platforms11.xml
index 0254db5..32453fb 100755
--- a/Resources/ALC700/Platforms11.xml
+++ b/Resources/ALC700/Platforms11.xml
@@ -213,12 +213,10 @@
                                                        </dict>
                                                </array>
                                        </array>
-                                       <!--
-                                       <array>   Rear SPDIF Output (NOT WORKING)
+
+                                       <array> <!--  Rear SPDIF Output -->
                                                <array>
                                                        <dict>
-                                       <key>DetectDelegate</key>
-                                                               <integer>xx</integer>
                                                                <key>NodeID</key>
                                                                <integer>30</integer>
                                                        </dict>
@@ -228,7 +226,6 @@
                                                        </dict>
                                                </array>
                                        </array>
-                                       -->
                                </array>
                        </array>
                        <key>PathMapID</key>

2. Disable the ResetHDA in config.plist
 

            <key>ResetHDA</key>
            <false/>

Reboot and you have Digital Out (no headphone output anymore) + 2 microphones.

169631108_Screenshot2019-09-11at06_35_33.thumb.png.7daad04338a89b8de49049ce6c7fc96c.png

 

Cheers

Link to comment
Share on other sites

11 hours ago, cyber4o said:

And a final update how to make it work in mac os, such an easy fix :)

1. Enable it in AppleALC (osy's section)


diff --git a/Resources/ALC700/Platforms11.xml b/Resources/ALC700/Platforms11.xml
index 0254db5..32453fb 100755
--- a/Resources/ALC700/Platforms11.xml
+++ b/Resources/ALC700/Platforms11.xml
@@ -213,12 +213,10 @@
                                                        </dict>
                                                </array>
                                        </array>
-                                       <!--
-                                       <array>   Rear SPDIF Output (NOT WORKING)
+
+                                       <array> <!--  Rear SPDIF Output -->
                                                <array>
                                                        <dict>
-                                       <key>DetectDelegate</key>
-                                                               <integer>xx</integer>
                                                                <key>NodeID</key>
                                                                <integer>30</integer>
                                                        </dict>
@@ -228,7 +226,6 @@
                                                        </dict>
                                                </array>
                                        </array>
-                                       -->
                                </array>
                        </array>
                        <key>PathMapID</key>

2. Disable the ResetHDA in config.plist
 


            <key>ResetHDA</key>
            <false/>

Reboot and you have Digital Out (no headphone output anymore) + 2 microphones.

169631108_Screenshot2019-09-11at06_35_33.thumb.png.7daad04338a89b8de49049ce6c7fc96c.png

 

Cheers

This works without rebooting from windows? Anyways I think what needs to be done is to figure out how they’re switching from digital to line out. It’s probably some vendor specific configuration. 

Link to comment
Share on other sites

yes it works from shutdown, no windows or linux needed. It is a bit weird btw as with codec-commander/hda-verb:

 

hda-verb 0x6 PARAMETERS AUDIO_WIDGET_CAP
nid = 0x6, verb = 0xf00, param = 0x9
command 0x006f0009 --> result = 0x00000411

 

it is still showing 0x00000411 while for digital it has to be 0x00000611 (0000 0000 0110 0001 0001) 10th bit from right

 

and it reads the pin as 0x1e 0x03441160 which is SPDIF turned off, may be hda-verb is getting the default info and not the patched one, although when I was patching it with:

                <dict>
                    <key>AFGLowPowerState</key>
                    <data>
                    AwAAAA==
                    </data>
                    <key>Codec</key>
                    <string>ALC700</string>
                    <key>CodecID</key>
                    <integer>283903744</integer>
                    <key>ConfigData</key>
                    <data>
                    AeccYAHnHRAB5x5EAecfAw==
                    </data>
                    <key>FuncGroup</key>
                    <integer>1</integer>
                    <key>LayoutID</key>
                    <integer>11</integer>
                </dict>

it was clearly showing 0x1e 0x03441060

 

One thing is for sure, the ResetHDA was turning the S/PDIF off, switching it with the line-out...

 

Cheers

Link to comment
Share on other sites

4 hours ago, cyber4o said:

yes it works from shutdown, no windows or linux needed. It is a bit weird btw as with codec-commander/hda-verb:

 


hda-verb 0x6 PARAMETERS AUDIO_WIDGET_CAP
nid = 0x6, verb = 0xf00, param = 0x9
command 0x006f0009 --> result = 0x00000411

 

it is still showing 0x00000411 while for digital it has to be 0x00000611 (0000 0000 0110 0001 0001) 10th bit from right

 

and it reads the pin as 0x1e 0x03441160 which is SPDIF turned off, may be hda-verb is getting the default info and not the patched one, although when I was patching it with:


                <dict>
                    <key>AFGLowPowerState</key>
                    <data>
                    AwAAAA==
                    </data>
                    <key>Codec</key>
                    <string>ALC700</string>
                    <key>CodecID</key>
                    <integer>283903744</integer>
                    <key>ConfigData</key>
                    <data>
                    AeccYAHnHRAB5x5EAecfAw==
                    </data>
                    <key>FuncGroup</key>
                    <integer>1</integer>
                    <key>LayoutID</key>
                    <integer>11</integer>
                </dict>

it was clearly showing 0x1e 0x03441060

 

One thing is for sure, the ResetHDA was turning the S/PDIF off, switching it with the line-out...

 

Cheers

Yeah that’s why I don’t use ResetHDA. It only causes problems. I’ll see if I can figure out the switch when I have time. I also want to get headphone port + headphone mic working. 

Link to comment
Share on other sites

I cannot for the life of me get the usb installer to work. Followed instructions to create usb installer which works fine and running HaCMini.pkg and selecting patch osx ends in a failed installation. Not sure why things are going wrong. Have attached log file if anybody would be kind enough to have a glance.

Installer Log 12-Sep-2019.txt

Link to comment
Share on other sites

 Share

×
×
  • Create New...