Jump to content

Marvell (Aquantia) 10 Gb Ethernet support thread


d5aqoep
498 posts in this topic

Recommended Posts

Has anyone tried 10.13.4 beta 1? Any changes in Aquantia compatibility/behaviour?

 

Working perfectly in 10.13.4 beta 1

 

Just as a reference, the following driver versions are present:

 

10.13.2 Final -> 1.0.32

10.13.3 Final -> 1.2.46

10.13.4 Beta -> 1.0.49

 

As you can see, the driver version is jumping all over the place.

 

uI2ikA5.png

  • Like 1
Link to comment
Share on other sites

For me apple changed the device id because antiqua asked for it, because in this way the do not have to create special drivers for apple and instead they just need to use their standard drivers, and also because antiqua can sell mac compatible cards without drivers problems

Link to comment
Share on other sites

Does anybody know if the firmware is updated too when you perform a fresh install of 10.3.3 or is an update from an earlier version of macOS required?

 

Mieze

 

Looks like it is done when the driver is loaded first time:

 

There is a new class implemented in AppleEthernetAquantiaAqtion.kext:

 

 

AppleEthernetAquantiaAqtionFirmwareInterface

 

at the end of AppleEthernetAquantiaAqtio::start,

 

8         movl       $0x98, %edi

00000000000017ed         call       __ZN8OSObjectnwEm                           ; OSObject::operator new(unsigned long)

00000000000017f2         movq       %rax, %r13

00000000000017f5         movq       %r13, %rdi

00000000000017f8         call       __ZN44AppleEthernetAquantiaAqtionFirmwareInterfaceC1Ev ; AppleEthernetAquantiaAqtionFirmwareInterface::AppleEthernetAquantiaAqtionFirmwareInterface()

00000000000017fd         movq       (%r13), %rax

0000000000001801         xorl       %esi, %esi

0000000000001803         movq       %r13, %rdi

0000000000001806         callq      *0x248(%rax) ;IOService::init

000000000000180c         movq       (%r13), %rax

0000000000001810         movq       %r13, %rdi

0000000000001813         movq       %rbx, %rsi

0000000000001816         callq      *0x670(%rax) ;IOservice::attach

000000000000181c         movq       (%r13), %rax

0000000000001820         movq       %r13, %rdi

0000000000001823         movq       %rbx, %rsi

 

0000000000001826         callq      *0x5c0(%rax) ;IOService::start

 

This instantiates the provider class for AppleEthernetAquantiaAqtionFirmware and causes

firmware update to the device.

 

Actual firmware is provided by a different kext:

 

 

AppleEthernetAquantiaAqtionFirmware.kext

 

There is also this one:

 

 

AppleEthernetAquantiaAqtionFirmwareDev.kext

For me apple changed the device id because antiqua asked for it, because in this way the do not have to create special drivers for apple and instead they just need to use their standard drivers, and also because antiqua can sell mac compatible cards without drivers problems

They are still debugging the firmware.

Edited by ydeng
  • Like 1
Link to comment
Share on other sites

For me apple changed the device id because antiqua asked for it, because in this way the do not have to create special drivers for apple and instead they just need to use their standard drivers, and also because antiqua can sell mac compatible cards without drivers problems

This makes no sense because customizing a driver for an OEM is not a big deal at all. Also keep in mind that they have to provide custom firmware for Apple anyway because Apple's drivers usually offload Bonjour to the NIC while the machine is sleeping so that it stays visible on the network without having to wakeup in order to service Bonjour requests.

 

Mieze

  • Like 1
Link to comment
Share on other sites

I've got bad news! I've got my card this afternoon, installed it in the machine (system definition iMac14,2), updated to 10.13.3 (from 10.13.2) but the firmware upgrade wasn't installed. No need to tell you, that it isn't working.  :(

 

post-983225-0-78701900-1517338452_thumb.png 

It might be the system definition, or the fact that the Aquantia card is on en1 not en0 but this needs further investigation.

 

Edit: I disabled the Intel onboard LAN (I218V) and tried again. Now the Aquantia NIC is on en2 and the firmware update has been installed. The card is working now! Really strange but on real Macs en1 usually is the Airport card. Maybe that's the reason why it failed the first time?  :cat:

 

post-983225-0-69157000-1517339447_thumb.png

 

Edit 2: I reenabled the Intel NIC in BIOS but I haven't been able to make both NICs work at the same time. When the Aquantia NIC is working, the Intel NIC is offline (no IP address or self assigned) and when I set the Intel NIC online the Aquantia NIC goes offline and vice versa. Neither DHCP nor manual configuration are able to make both chips work at the same time although both are working on the driver level. Really strange behavior. Never seen anything like that.

 

Mieze

Edited by Mieze
Link to comment
Share on other sites

I've got bad news! I've got my card this afternoon, installed it in the machine (system definition iMac14,2), updated to 10.13.3 (from 10.13.2) but the firmware upgrade wasn't installed. No need to tell you, that it isn't working.  :(

 

attachicon.gifBildschirmfoto 2018-01-30 um 19.45.29.png

It might be the system definition, or the fact that the Aquantia card is on en1 not en0 but this needs further investigation.

 

Edit: I disabled the Intel onboard LAN (I218V) and tried again. Now the Aquantia NIC is on en2 and the firmware update has been installed. The card is working now! Really strange but on real Macs en1 usually is the Airport card. Maybe that's the reason why it failed the first time?  :cat:

 

attachicon.gifBildschirmfoto 2018-01-30 um 20.04.02.png

 

Edit 2: I reenabled the Intel NIC in BIOS but I haven't been able to make both NICs work at the same time. When the Aquantia NIC is working, the Intel NIC is offline (no IP address or self assigned) and when I set the Intel NIC online the Aquantia NIC goes offline and vice versa. Neither DHCP nor manual configuration are able to make both chips work at the same time although both are working on the driver level. Really strange behavior. Never seen anything like that.

 

Mieze

How about use 13.2 driver for AQC?

Link to comment
Share on other sites

I tried the ASUS XG-C100C in my cMP 5.1 at slot 2 and 3 with 10.13.3 but the machine did not boot. No starting chime, nothing :( Any idea why?

Yes, you need to remove the BootROM chip, or at the very least short out pins 4 and 5. See here:

https://forums.macrumors.com/threads/high-sierra-native-support-for-10gb-ethernet.2092875/page-2#

 

cMPs won't post with enabled BootROMs. Since Aquantia have not provided a utility to disable the bootROM (like Intel do with their cards) it must be physically disabled with a mod.

 

Hackintosh's don't have this problem as they are essentially PCs and will post fine with any BootROM.

  • Like 1
Link to comment
Share on other sites

How about use 13.2 driver for AQC?

That's possible but rolling back certain kexts has always been a cause for trouble. Let's wait and see how it works with 10.13.4!

 

Mieze

Link to comment
Share on other sites

I've got it running with shortened pin 4 and 5. Vendor id is 0x1d6a but device id is 0x0001. The card shows up but pretends that no cable is connected which is not true of course ;)

 

Because of the 2 nics of the cMP the interface of my Asus xg-c100c interface is en2. Like Mieze said, maybe that's the reason it does not upgrade the card. Will try hackintosh next, just need to finish some projects first.

  • Like 2
Link to comment
Share on other sites

I've got it running with shortened pin 4 and 5. Vendor id is 0x1d6a but device id is 0x0001. The card shows up but pretends that no cable is connected which is not true of course ;)

 

Because of the 2 nics of the cMP the interface of my Asus xg-c100c interface is en2. Like Mieze said, maybe that's the reason it does not upgrade the card. Will try hackintosh next, just need to finish some projects first.

The interface name turned out to be irrelevant but for the upgrade to succeed it is crucial that the Aquantia NIC is the only ethernet NIC in the system. In a Hackintosh onboard LAN can be disabled in BIOS and additional cards may be removed but you will have a hard time performing the upgrade in a MacPro as there is no way to disable onboard LAN.

 

Mieze

  • Like 3
Link to comment
Share on other sites

I've got it running with shortened pin 4 and 5. Vendor id is 0x1d6a but device id is 0x0001. The card shows up but pretends that no cable is connected which is not true of course ;)

 

Because of the 2 nics of the cMP the interface of my Asus xg-c100c interface is en2. Like Mieze said, maybe that's the reason it does not upgrade the card. Will try hackintosh next, just need to finish some projects first.

cMP only has PCIE2?  The card is running at 5G instead of 10G.  Looks like the wrong firmware ls flashed.  You might need to patch the firmware kext to get it to flash again.

Link to comment
Share on other sites

cMP only has PCIE2?  The card is running at 5G instead of 10G.  Looks like the wrong firmware ls flashed.  You might need to patch the firmware kext to get it to flash again.

Are you sure it already flashed something? And if so, what do I need to change?

 

The interface name turned out to be irrelevant but for the upgrade to succeed it is crucial that the Aquantia NIC is the only ethernet NIC in the system. In a Hackintosh onboard LAN can be disabled in BIOS and additional cards may be removed but you will have a hard time performing the upgrade in a MacPro as there is no way to disable onboard LAN.

 

Mieze

Thank you Mieze, I'll try it soon.

Link to comment
Share on other sites

10.13.3 = working AQC-107 cards.

Speeds over SMB suck, but AFP rocks, hitting same speeds I do on CentOS and Windows to my Freenas with Chelsio 10G-BaseT card.

 

If your macOS computer doesn’t have an /etc/nsmb.conf file

Open Terminal.

Use these commands to create an /etc/nsmb.conf file that has a signing_required value that’s set to “no”:

sudo -s
echo "[default]" >> /etc/nsmb.conf
echo "signing_required=no" >> /etc/nsmb.conf
exit

Disconnect and then reconnect any mounted SMB shares to make the changes take effect.

 

Enjoy full speed over SMB too. I am hitting 650 MB/s now with QNAP TS-653B with 6 x 4TB Seagate Ironwolf in Raid6.

Link to comment
Share on other sites

That's possible but rolling back certain kexts has always been a cause for trouble. Let's wait and see how it works with 10.13.4!

 

Mieze

Do you know what spi is?  These following are used to do firmware update.

 

 

 

AppleEthernetAquantiaAqtion::spi_busy()

 

AppleEthernetAquantiaAqtion::spi_cmd(unsigned char, int, int)

 

AppleEthernetAquantiaAqtion::spi_nvram_cmds_init()

AppleEthernetAquantiaAqtion::spi_nvr_wr_enable(int)

 

AppleEthernetAquantiaAqtion::spi_nvr_busy()

 

AppleEthernetAquantiaAqtion::spi_nvr_erase()

AppleEthernetAquantiaAqtion::spi_get(unsigned int, unsigned int*, unsigned long)

AppleEthernetAquantiaAqtion::spi_put(unsigned int, unsigned int*, unsigned long)

Link to comment
Share on other sites

The interface name turned out to be irrelevant but for the upgrade to succeed it is crucial that the Aquantia NIC is the only ethernet NIC in the system. In a Hackintosh onboard LAN can be disabled in BIOS and additional cards may be removed but you will have a hard time performing the upgrade in a MacPro as there is no way to disable onboard LAN.

 

Mieze

Hey Mieze!

 

I tried in on my Gigabyte Z170X-Designare with disabled onboard LAN on a clean 10.13.3 with newest clover 4392. The ASUS card was found as en0, but still has the vendor id 0x1d6a and device id 0x0001. Do you have any idea on how to force the upgrade?

Kind regards!

 

Edit: I found these lines while booting:

AppleEthernetAquantiaAqtion::reset_enet_fw:786:error
AppleEthernetAquantiaAqtionFirmware::doFirwareUpload 0.0.0
AppleEthernetAquantiaAqtion::notifyFwUploadCompleted:632 completed fw upload
Macros: status, file /BuildRoot/Library/Cahces/com.apple.xbs/Sources/AppleEthernetAquantiaAqtion/AppleEthernetAquantiaAqtion-16.40.3/AppleEthernetAquantiaAqtion/if_axge.cpp line 5??5, value 0

Copied them from a bad photo. Where do I find these lines on my Mac?

Link to comment
Share on other sites

Hey Mieze!

 

I tried in on my Gigabyte Z170X-Designare with disabled onboard LAN on a clean 10.13.3 with newest clover 4392. The ASUS card was found as en0, but still has the vendor id 0x1d6a and device id 0x0001. Do you have any idea on how to force the upgrade?

Kind regards!

 

Edit: I found these lines while booting:

 

AppleEthernetAquantiaAqtion::reset_enet_fw:786:error
AppleEthernetAquantiaAqtionFirmware::doFirwareUpload 0.0.0
AppleEthernetAquantiaAqtion::notifyFwUploadCompleted:632 completed fw upload
Macros: status, file /BuildRoot/Library/Cahces/com.apple.xbs/Sources/AppleEthernetAquantiaAqtion/AppleEthernetAquantiaAqtion-16.40.3/AppleEthernetAquantiaAqtion/if_axge.cpp line 5??5, value 0
Copied them from a bad photo. Where do I find these lines on my Mac?
Clean install 10.13.2 and update to 10.13.3 through mac app store. That will trigger the firmware update. Make sure that you have disabled onboard LAN before updating.
Link to comment
Share on other sites

Do you know what spi is?  These following are used to do firmware update.

SPI is a 4 wire serial interface, commonly used to connect flash chips. For further information please see: https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

Clean install 10.13.2 and update to 10.13.3 through mac app store. That will trigger the firmware update. Make sure that you have disabled onboard LAN before updating.

Looks like the firmware upgrade "bug" we are exploiting is only in the 10.13.3 update installer so that we have to go the long way via 10.13.2.

 

Mieze

  • Like 1
Link to comment
Share on other sites

SPI is a 4 wire serial interface, commonly used to connect flash chips. For further information please see: https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus

Looks like the firmware upgrade "bug" we are exploiting is only in the 10.13.3 update installer so that we have to go the long way via 10.13.2.

 

Mieze

Thanks for the spi reply.

 

Firmware update is in AppleEthernetAquantiaAqtion::start(IOService*)

 

c.f. http://www.insanelymac.com/forum/topic/330614-success-aqc107-10-gbe-native-support-in-high-sierra-10132/?p=2579078

 
That is were the provider class of the two firmware kext is instantiated.
Link to comment
Share on other sites

×
×
  • Create New...