Contribute
Register

Gigabyte X299X - Catalina Support

Joined
Mar 6, 2013
Messages
274
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
Wow, weird. Maybe the switch marked the ports as bad or unavailable or something, as a result of previous incorrect operation. Then replugging them reset the connection on the switch side.

Anyway good to hear it's working now.

One thing that is slightly annoying but not show-stopping is the fact that iStatMenus only reports upload speed for the ethernet ports. Download speed is always 0.00 KB/S. I have this same symptom on my Z390 build, but only on one of the ports. I assume this may be the driver's fault.
Ah, odd. I've not used iStatMenus for a long time. Little Snitch provides bandwidth monitoring in the menu bar and that's working in both directions. But it probably calculates it based on what's going through the firewall, rather than reading it from the NICs.

In tandem with the above, I discovered that there is an updated version of the SmallTree drivers available (3.6.0, compared to our 3.5.0), however they are not patched as dolgarrenan's are. Unfortunately he does not elaborate as to how and what he patched, exactly, so I am unable to replicate whatever he did to those drivers. If anybody has any insight on the patching method used, let me know and I can attempt to maybe replicate it on the updated version.
Yeah I don't know how he patched it either. But I might be able to figure it out if I compare the patched version to the unpatched, then apply the same to the new drivers. I'll have a look when I'm done with my SSDT update.

Have you tried changing the hardware ID for the NICs and then using the unpatched drivers? I know dolgarrenan couldn't get it working, hence him patching the drivers instead. But it might be worth trying given there's a new driver version now.

It worked perfectly for me on my X520 10GBe NICs, which use the same SmallTree drivers.

It's easily tested from a Linux boot so might be worth trying in the meantime.
 
Joined
Mar 28, 2019
Messages
131
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
I think I got it, actually.

I compared the 3.5.0 version from the the OP with one downloaded from SmallTree's website and found that there was exactly one difference, somewhere in the middle of some binary garbage.

Searching for the original, unmodified value in the updated 3.6.0 binary netted me two results. I modified only the second result, since it was much closer to the position of the original change in the 3.5.0 version, and tada, it works!

The bundle itself still shows the version as 3.5.0, but it is in fact quite different from the 3.5.0 version, which can be verified by comparing the two binaries in i.e. HexFiend.

Still no download speed indicator, but hey, can't hurt to be on the latest version of the driver.

With this knowledge we are now able to reproduce dol's patch for new versions as well.

For the 3.5.0 version the patch is as follows:
Original Value: 39C990
New Value: 83F90A
Offset: 50465

For 3.6.0 the offset is 50752 while the patch remains the same.
 
Last edited:
Joined
Mar 6, 2013
Messages
274
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
Hehe great minds think alike. I've just done exactly the same thing, right down to using HexFiend also :)

I think you uploaded the old one by mistake though? The one you uploaded still shows 3.5.0 in the plist. Also the latest version is 3.8.6 not 3.6.0.

Here's the 3.8.6 patched which I'm booted with now and is working
Code:
tomj@Eddie ~/Hack/X299X-Eddie $ kextstat | grep -i small
   75    0 0xffffff7f844ee000 0x34000    0x34000    com.SmallTree.driver.SmallTreeIntel8259x (3.8.6) EAFD7A7F-28C6-3B0E-A839-5B92970C4D5E <34 13 6 5 3 1>
 

Attachments

  • SmallTreeIntel8259x.kext.3.8.6.zip
    87.4 KB · Views: 28
Joined
Mar 28, 2019
Messages
131
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
RX 580
Mac
  1. MacBook Pro
Mobile Phone
  1. Android
That was actually the 3.6.0 version, the developers forgot to bump the version number, funnily enough. Binary diffing the file I uploaded will show that it's quite different from the 3.5.0 version. Alas, I didn't see the 3.8.6 version, so yours is newer anyway :)
 
Joined
Mar 6, 2013
Messages
274
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
Ahh OK sorry, I didn't follow what you said about the bundle.

Anyway yes it's great we can patch this for ourselves now. I'd still love to know how he patched it in the first place. Must have used a debugger or something I guess.

I noticed they list Big Sur as non supported, but clearly that's not the case as it worked even with 3.5.0. I guess they're waiting for it to go gold before declaring it officially supported.

I might still try the old method sometime, the one that involves updating the NIC in Linux. Just to see as much as anything, plus it's always nice to be able to use vanilla drivers if possible. Dolg said it didn't work on this motherboard/with these NICs so it probably doesn't, but can't hurt to try anyway.
 
Joined
Oct 28, 2017
Messages
50
Motherboard
Gigabyte x299x Designare 10G
CPU
i9 10940x
Graphics
Radeon VII
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
- (Somewhat) Working native Intel Wifi
- Working Intel Bluetooth
Do you guys have the original Intel and Bluetooth working in the Designare 10g? I had to change the device. I know they were patching it but I thought that could take some time.
Handoff or Continuity?
Sidecar (iPad as screen)?
 
Joined
Mar 6, 2013
Messages
274
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
My understanding is that Sidecar will never work because we don't have an iGPU. On non-iGPU Macs, the T2 chip is used to accelerate Sidecar, and we don't have a T2.
 
Joined
Mar 6, 2013
Messages
274
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
Do you guys have the original Intel and Bluetooth working in the Designare 10g? I had to change the device. I know they were patching it but I thought that could take some time.
Handoff or Continuity?

Yes, both work. WiFi speeds are pretty bad compared to Windows, so for 24/7 WiFi usage you may well still be better off with a Broadcom device. But for occasional or backup WiFi usage, yes we can get this out of the box with no need to purchase replacement hardware. Hopefully Intel WiFi speeds will improve in the future.

Bluetooth



Bluetooth requires working USB SSDTs - I didn't have it working for a while when I was playing around with SSDTs and not all were loaded. The XHC SSDT that Dolg provided does the job. Then working Bluetooth is provided by the triple combo of BrcmInjectBluetooth, BrcmFirmwareData and BrcmPatchRAM3.

There's no need to use BT4LEContinuityFixup.kext any more, as this feature is now provided by an OpenCore quirk.

In order for Bluetooth to work, you should see a valid Firmware Version in About This Mac -> Bluetooth. It will also show working Low Energy etc:
LoUHzmY.png


I can even use my Bluetooth trackpad to wake my system from sleep, which is pretty cool.

Intel WiFi

Intel WiFi can be enabled using itlwm, like byteminer told us about the other day. I've just installed that for the first time myself today.

There's two versions of itlwm: itlwm and AirportItlwm. The Airport one they say is still in Beta.

There's a detailed FAQ available describing the differences. The following is a summary:

itlwm
  • Provides working WiFi, but the device appears to macOS as an Ethernet device
  • Requires a separate app to make WiFi connections: Heliport
  • Can connect to hidden WiFi networks
  • Does not support Handoff, shared clipboard, or other Continuity services
  • Does not support Location Services
  • Easy to install, no special settings required
  • Maximum 802.11n at 20Mhz

AirportItlwm
  • Provides working WiFi, and appears as a WiFi device
  • Therefore does not require a separate app - you can use standard Apple WiFi preferences
  • Cannot connect to hidden WiFi networks
  • Supports Handoff and Shared Clipboard, but not (yet) any other Continuity Services
  • Supports Location Services
  • May have problems connecting to iPhone HotSpot and with Apple Bluetooth peripherals (my Magic Trackpad 2 seems fine, though - at least when only using 5Ghz WiFi)
  • Requires special OpenCore config: you must either boot with AppleSecureBoot, or else manually inject IO80211Family.
  • Maximum 802.11n at 20Mhz

I just installed AirportItlwm and it appears to be working OK. To do this I chose the method of enabling AppleSecureBoot in my OpenCore config, and I set the SecureBootModel to j160 for MacPro 7,1.

This worked perfectly at the first attempt. In the OC manual it has this warning about enabling Secure Boot: "As with T2 Macs, unsigned kernel drivers and several signed kernel drivers, including NVIDIA Web Drivers, cannot be installed." I thought this would mean that my SmallTree drivers in /Library/Extensions would stop working, because they show as having an invalid signature. But they kept working fine. Nonetheless I've moved to loading them from EFI, just in case.

I am loading AirportItlwm from EFI also, which I think is the recommended (or only) method for this kext.



I've not yet done any advanced testing, eg of Handoff/Shared Clipboard, but for basic WiFi usage it's working.

My speeds are pretty awful:

oKM0dM7.png


That's when connected at 5Ghz, using the little magnetic aerial that came with the motherboard.

In Windows I get 340Mb/s down and 37Mb/s up, on a fibre internet connection with listed speeds of 350 / 40. So I'm getting less than 10% of that speed in macOS.

On the itlwm page it says the author got speeds of up to 80Mb/s where I'm not even reaching 30Mb/s. I'm not quite sure why I have less than half what the author got. Maybe AirportItlwm performs worse than itlwm, or maybe it's affected by connection quality, and I'd need to be closer to the router to get 80Mb/s; my router is downstairs through the floor, about 10m away.

The author says that the (much) lower speeds compared to Windows are due to itlwm only supporting 802.11n and 20Mhz.

2.4Ghz interference with Bluetooth

On the itlwm page it mentions that using 2.4Ghz WiFi can interfere with Bluetooth, and I've found this to be the case in my setup. When I ran a speed test while connected to my router at 2.4Ghz my bluetooth Magic Trackpad was very jerky and unpleasant to use. Connecting at 5Ghz solved this problem.


Personally I have no plans to use the WiFi for actual connectivity, as I'll be cabled at all times at 1Gbe and 10Gbe. But I am interested in having a working WiFi connection, because I've seen in the past that some apps require it.

For example, speaking of Sidecar - there are other apps that enable use of iPad as an additional monitor. One that I purchased a while ago is called Duet. I used that for a while on my old Hack, then when Mojave was released they had to change the method of connecting an extra screen. The method they chose required a working WiFi connection with Airport, even when cabled on Ethernet. So after that point I was never able to use my iPad as a second screen.

That's the reason why I'm trying the Airport version of itlwm - I want the real WiFi connection more than actually care about using the WiFi for data transfer.

I plan to try Duet again soon on the new Mac, now that I have working Airport again. Hopefully I can use that to allow using my iPad as an extra screen again.
 
Last edited:
Joined
Mar 6, 2013
Messages
274
Motherboard
Gigabyte X299X Designare 10G
CPU
i9-10980XE
Graphics
AMD 6900XT
Mobile Phone
  1. Android
Quick follow up on AirportItlwm: I'm so far completely unable to get any kind of Continuity stuff working.

I have an iPad Air running iOS 12.4.9. I barely ever use it but I got it out to test this.

Both macOS and the iPad are logged into the same iCloud account, they're on the same WiFi network and both at 5Ghz, they both have Bluetooth enabled, and they can see each other and connect to each other over BT. Both have Handoff enabled in Preferences.

But the shared clipboard isn't working, and I don't see the Handoff option in any app, eg Safari.

I've no idea how one debugs this, and to be honest it's not something I particularly care about given I never use the iPad anyway.

I also had one failure with AirportItlwm: on one occasion I booted macOS and Airportitlwm failed to properly initialised or load.

I briefly saw a message in the verbose boot log indicating that it had failed to apply the firmware, and then in macOS I couldn't establish a WiFi connection. WiFi Preferences indicated that WiFi was disabled, but clicking "Turn On" did nothing.

Since then I've rebooted multiple times, including dual booting back and forth between Windows and macOS, and it's worked every time. So I'm not quite sure what caused that one failure.

Right now I'm not sure if I could generally recommend AirportItlwm, given I can't get the Continuity stuff to work which is its main point versus itlwm. If you just want a working WiFi connection and don't want to buy Broadcom, I'd think that the standard itlwm is probably more reliable and certainly a bit easier to get going.
 
Joined
Oct 28, 2017
Messages
50
Motherboard
Gigabyte x299x Designare 10G
CPU
i9 10940x
Graphics
Radeon VII
Mac
  1. MacBook Pro
Mobile Phone
  1. iOS
My understanding is that Sidecar will never work because we don't have an iGPU. On non-iGPU Macs, the T2 chip is used to accelerate Sidecar, and we don't have a T2.

Thanks for the info. Did not know that, I gave away my ipad air 2 (mum) so I am not using now.

I have Continuity and Handoff working but not very reliable. I don't care thou don't find it much need of it as I do completyl different workflow in a computer than idevices. Thank you for the work, trouble and testing you have been doing man. I can't wait to get home and start testing everyhting ;P

Cheers
 
Top