Ryzen 7000 Testing

ExtremeXT

Donator
Donator
Joined
Aug 7, 2022
Messages
843
Hi Casey, I decided to join the AM5 fray and parts are on the way. I decided to go with the same Asus board you are using in the end. For me it was always either the Asus Rog Crosshair X670E Gene or the Rog Strix X670E-I wifi as I prefer smaller form factor PCs. The Gene will fit perfectly into one of the small footprint Silverstone Alta G1M case my X570 system is currently in. Would you mind sharing the current state of your EFI folder in the Ventura flavor? Thanks in advance
I'd strongly recommended making your own EFI. Of course, we will help you here with any issues.
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
Hi Casey, I decided to join the AM5 fray and parts are on the way. I decided to go with the same Asus board you are using in the end. For me it was always either the Asus Rog Crosshair X670E Gene or the Rog Strix X670E-I wifi as I prefer smaller form factor PCs. The Gene will fit perfectly into one of the small footprint Silverstone Alta G1M case my X570 system is currently in. Would you mind sharing the current state of your EFI folder in the Ventura flavor? Thanks in advance
Hi @leesurone,

Glad to hear it and welcome to the party... ;)

Because I'm still actively working on the OpenCore EFI, I've sent you a copy by private message. I prefer not to make it public at this time.
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
Interim Update #19:
  • The AppleEthernetAquantiaAqtion driver generates detailed logs only when boot argument apple-axge-debug=0x1 is applied
  • After finding and applying this boot flag, I've generated two sets of logs as follows:
    • Set 1: With non-working driver from Monterey 12.6.x
    • Set 2: With working driver from Monterey 12.2.x
  • Each set contains three files
    • Set 1 contains:
      • aeaa-NotWorking--Boot-no-wire-connected.log
      • aeaa-NotWorking--Connect-wire.log
      • aeaa-NotWorking--Connected-with-Self-Assigned-IP.log
    • Set 2 contains:
      • aeaa-Working--Boot-no-wire-connected.log
      • aeaa-Working--Connect-wire.log
      • aeaa-Working--Connected-with-Real-IP-Address.log
    • These logs are generated from system log, not from dmesg
    • The first log in each set starts from system boot
    • The 2nd log starts after 1st log (after Ethernet cable is connected, but before an IP is assigned)
    • The 3rd log starts after 2nd log (after an IP or self-assigned IP is assigned)
    • aeaa refers to AppleEthernetAquantiaAqtion, which Apple also uses in their code
Some Observations:
  • Let's start by looking at the 2nd log first, which starts as soon as Ethernet cable is manually plugged in...
  • For both the Working and NotWorking driver, we see the following:
Bash:
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::interrupt_msi_handler
kernel: (AppleEthernetAquantiaAqtion) reg_get32(<private>, 0x01000000)
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::medium_changed
kernel: (AppleEthernetAquantiaAqtion) reg_get32(<private>, 0x00000f31)
kernel: (AppleEthernetAquantiaAqtion) AppleEthernetAquantiaAqtion113::readXgmiiResolution() fw link_status f31
  • Just as suspected in an earlier post, an interrupt takes place when Ethernet cable is connected
  • The interrupt, of course, notifies macOS to begin handling the cable connection event
  • Notice that the function medium_changed gets called by the interrupt handler, just as we expected
  • And then the link status changes to f31 which probably means that system has sensed a cable connection and responded
Now let's see what happens a few moments later as the driver proceeds to assign an IP address:
  • If we look at the 3rd log in the NotWorking set, we see what clearly looks like a problem
  • Here is a small part of the 3rd log from the non-Working driver from 12.6.x:
Bash:
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::outputStart
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::tx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) hw_ring_index = 0
kernel: (AppleEthernetAquantiaAqtion) head = 0 tail = 23
kernel: (AppleEthernetAquantiaAqtion) numsegs = 1
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addr <private> 0x00000007ef2b4800
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd <private> 0x0000000000801561
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd.buf_len = 0x00000156
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addr <private> 0x00000007ef2b4800
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd <private> 0x0055800008a01561
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd.pkt_len = 0x00000156
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->addr <private> 0x00000007ef2b4800
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->cmd <private> 0x0055800008a01561
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->cmd.pkt_len = 0x00000156
kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::tx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) reg_put32(<private>, 0x00000018)
kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::outputStart kstatus = 0x00000000

kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::interrupt_msi_handler index=0
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::rx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::allocate_mbuf
kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::allocate_mbuf mbuf=<private>
kernel: (AppleEthernetAquantiaAqtion) reg_put32(<private>, 0x00000012)
kernel: (AppleEthernetAquantiaAqtion) Flushing input queue.
kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::rx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) reg_put32(<private>, 0x00000001)

kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::interrupt_msi_handler
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::interrupt_msi_handler index=0
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::rx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::allocate_mbuf
kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::allocate_mbuf mbuf=<private>
kernel: (AppleEthernetAquantiaAqtion) reg_put32(<private>, 0x00000013)
kernel: (AppleEthernetAquantiaAqtion) Flushing input queue.
kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::rx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) reg_put32(<private>, 0x00000001)

kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::interrupt_msi_handler
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::interrupt_msi_handler index=0
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::rx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::allocate_mbuf
kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::allocate_mbuf mbuf=<private>
kernel: (AppleEthernetAquantiaAqtion) reg_put32(<private>, 0x00000014)
kernel: (AppleEthernetAquantiaAqtion) Flushing input queue.
  • This goes on and on and on. No wonder the port does not actually transmit or receive anything
  • What we see above is an attempt to transmit some information (probably a request to DHCP server to obtain IP), but the attempt fails in a string of presumably bogus interrupts (tx_packet_queue)
 

Attachments

  • NotWorking Driver Logs.zip
    66.7 KB · Views: 4
  • Working Driver Logs.zip
    112.7 KB · Views: 3
Last edited:

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
  • Now let's look at the 3rd log from the Working driver taken from 12.2.x:
Bash:
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::outputStart
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::tx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) hw_ring_index = 0
kernel: (AppleEthernetAquantiaAqtion) head = 0 tail = 34
kernel: (AppleEthernetAquantiaAqtion) numsegs = 1
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addr <private> 0x00000000275ce000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addrLSW <private> 0x275ce000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addrMSW <private> 0x00000000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd <private> 0x0000000000800ed1
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd.buf_len = 0x000000ed
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue 5363
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addr <private> 0x00000000275ce000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd <private> 0x003b40000aa00ed1
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd.pkt_len = 0x000000ed
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->addr <private> 0x00000000275ce000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->cmd <private> 0x003b40000aa00ed1
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->cmd.pkt_len = 0x000000ed
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue 5409
kernel: (AppleEthernetAquantiaAqtion) reg_put32(<private>, 0x00000023)
kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::tx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::tx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) hw_ring_index = 0
kernel: (AppleEthernetAquantiaAqtion) head = 0 tail = 35
kernel: (AppleEthernetAquantiaAqtion) numsegs = 1
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addr <private> 0x00000000275cf000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addrLSW <private> 0x275cf000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addrMSW <private> 0x00000000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd <private> 0x0000000000800f51
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd.buf_len = 0x000000f5
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue 5363
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addr <private> 0x00000000275cf000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd <private> 0x003d40000aa00f51
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd.pkt_len = 0x000000f5
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->addr <private> 0x00000000275cf000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->cmd <private> 0x003d40000aa00f51
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->cmd.pkt_len = 0x000000f5
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue 5409
kernel: (AppleEthernetAquantiaAqtion) reg_put32(<private>, 0x00000024)
kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::tx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::outputStart kstatus = 0x00000000
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::outputStart
kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::tx_pkt_queue
kernel: (AppleEthernetAquantiaAqtion) hw_ring_index = 0
kernel: (AppleEthernetAquantiaAqtion) head = 0 tail = 36
kernel: (AppleEthernetAquantiaAqtion) numsegs = 1
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addr <private> 0x00000000275d0000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addrLSW <private> 0x275d0000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addrMSW <private> 0x00000000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd <private> 0x0000000000800641
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd.buf_len = 0x00000064
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue 5363
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->addr <private> 0x00000000275d0000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd <private> 0x001900000aa00641
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_descp->cmd.pkt_len = 0x00000064
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->addr <private> 0x00000000275d0000
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->cmd <private> 0x001900000aa00641
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue tx_tail_descp->cmd.pkt_len = 0x00000064
kernel: (AppleEthernetAquantiaAqtion) tx_pkt_queue 5409
kernel: (AppleEthernetAquantiaAqtion) reg_put32(<private>, 0x00000025)
  • This shows that every attempt to transmit a packet is successful (tx_pkt_queue)
  • There are no interrupts going off

Update:
  • After further review of the logs, my comments about bogus interrupts taking place turns out to be incorrect
  • The old driver uses dma_map_mbuf, whereas the new driver uses dma_map_bounce_buf
  • The "bogus" interrupts are primarily asking the system to allocate space for or return the location of these bufs or buffers
 
Last edited:

DarkSilentSC

Active member
AMD OS X Member
Joined
Jun 4, 2021
Messages
122
So just to re-cap: Perform surgery on AquantiaAqtion.kext, toggle on ForceEnableAquantiaEthernet, and it works natively, and need to find a way to apply an entry to OC>Kernel>Patch?
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
So just to re-cap: Perform surgery on AquantiaAqtion.kext, toggle on ForceEnableAquantiaEthernet, and it works natively, and need to find a way to apply an entry to OC>Kernel>Patch?
I've updated the surgical procedure based on latest information about boot arguments. Now we're trying to either (a) create a patch or (b) find a way to inject an older version of AppleEthernetAquantiaAqtion.
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
I think I have both copies of the SSDT saved somewhere but IIRC I used the one from the thread that I linked to.

I will say, it's tough crowd in here.. everyone's a critic!

A month ago in the discord I was telling people how I had to use a special SSDT to get my PowerColor RDU 6900XT to work, and I was chided for using a "suboptimal" SSDT.

sometimes I wish we would notice that "It just works" and call it a day.

/vent
You are very welcome to use any SSDT you choose and subscribe to any point of view you choose.

This thread shall remain welcoming to everyone. We succeed when we work together and not against each other.
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
Hi Casey, I decided to join the AM5 fray and parts are on the way. I decided to go with the same Asus board you are using in the end. For me it was always either the Asus Rog Crosshair X670E Gene or the Rog Strix X670E-I wifi as I prefer smaller form factor PCs. The Gene will fit perfectly into one of the small footprint Silverstone Alta G1M case my X570 system is currently in. Would you mind sharing the current state of your EFI folder in the Ventura flavor? Thanks in advance
Someone mentioned that the wireless module on Asus X670E-I (mini-ITX) is soldered and not removable. That would be a deal breaker because we wouldn’t be able to install a natively supported Broadcom alternative. The Gene at least has an extra PCIe slot. I haven’t checked whether its on-board wireless module is removable.

The Gene also uses a Gen Z slot that accommodates two additional NVMe SSDs for a total of 3. The mini-ITX board uses a stacked chamber for a total of 2 NVMe SSDs. Installing a drive in the lower chamber is tricky. If the screws are too tight or too loose, the drive won’t be recognized in BIOS. With the Gen Z slot on Gene there is no such problem.
 

etorix

Active member
AMD OS X Member
Joined
Oct 7, 2022
Messages
72
the wireless module on Asus X670E-I (mini-ITX) is soldered and not removable. That would be a deal breaker
Honestly, X670(E) on mini-ITX should be a non-starter. It is not a reasonable design to force two PCH chips on a tiny motherboard which cannot possibly expose all of the I/O that X670 provides. B650 is more than enough in this size—save for bragging rights.
 

PoMpIs

Well-known member
AMD OS X Member
Joined
Jul 8, 2021
Messages
292
Someone mentioned that the wireless module on Asus X670E-I (mini-ITX) is soldered and not removable. That would be a deal breaker because we wouldn’t be able to install a natively supported Broadcom alternative. The Gene at least has an extra PCIe slot. I haven’t checked whether its on-board wireless module is removable.

The Gene also uses a Gen Z slot that accommodates two additional NVMe SSDs for a total of 3. The mini-ITX board uses a stacked chamber for a total of 2 NVMe SSDs. Installing a drive in the lower chamber is tricky. If the screws are too tight or too loose, the drive won’t be recognized in BIOS. With the Gen Z slot on Gene there is no such problem.

Yes, on the x670e Gene is like my x670e Hero, you can change the built-in WIFI without problems (y)

Captura de pantalla_20221125_192742.png

And in the x670e - I mini-itx can also be changed

Captura de pantalla_20221125_193520.png
 
Last edited:

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
Yes, on the x670e Gene is like my x670e Hero, you can change the built-in WIFI without problems (y)


And in the x670e - I mini-itx can also be changed
Awesome! It was hard to believe that the module would be soldered. Thanks for confirming that it's not.
 

Galve2000

Donator
Donator
AMD OS X Member
Joined
Sep 19, 2020
Messages
234
Noob Question for today:

does USB4/ThunderBolt work on the AM4. AM5 platform without patching?

I note that the ACPI folder for all the EFIs I have from 7000 systems do not have any TB related SSDTs.

are these no longer necessary?

as much as hot plug would be nice, I have super-fast speeds on my X570/5950X system as long as the TB device is installed at power on, which is fine for my needs.

TB makes sleep worse on my system (or at least the "wake" portion, so I generally avoid putting my system to sleep unless I want to do some testing.
 
Last edited:

leesurone

Donator
Donator
AMD OS X Member
Joined
May 6, 2020
Messages
328
Awesome! It was hard to believe that the module would be soldered. Thanks for confirming that it's not.
Got the board today, the processor is due end of next week, but I'll start setting up the case tomorrow morning. Had to peek but it looks like the module is accessible as usual by removal of the I/O Shield Heat Sink. Also of note there are two small round headed silver screws in the usual place on the bottom of the board that are used to hold the card enclosure in place.
 
Last edited:

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
Noob Question for today:

does USB4/ThunderBolt work on the AM4 platform without patching?
Are you referring to AM5 (not AM4)?

My experience with USB4/Thunderbolt on the Asus X670E Gene has been problematic thus far. I'll investigate issues after we're done with Aquantia.

On my AM4 system (Gigabyte B550 Vision D) I've flashed a modified version of NVM33 and it works very well. But it's Titan Ridge, so the controller is natively supported.
 

Galve2000

Donator
Donator
AMD OS X Member
Joined
Sep 19, 2020
Messages
234
Are you referring to AM5 (not AM4)?

OMG yes. that was a typo.

I was asking about AM5.

I may have to use the TB SSDT from my X570 Creator EFI to my X670 Creator EFI

I don't really NEED 40 megabit per second transfer speeds, but.. it is nice to have, no?
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
OMG yes. that was a typo.

I was asking about AM5.

I may have to use the TB SSDT from my X570 Creator EFI to my X670 Creator EFI

I don't really NEED 40 megabit per second transfer speeds, but.. it is nice to have, no?
The SSDT is for hot plug only, which has been rather problematic on my X670E Gene. If you connect your devices before boot, they should work. I've already tested my Belkin Thunderbolt 3 dock, and it works quite well.
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
** Found a Way to Inject AppleEthernetAquantiaAqtion into Monterey **

Testers Wanted


After a number of failed attempts at patching the Aquantia driver, I decided to look for a way to inject it via OpenCore. I believe I found a way, but would like other Aquantia users to validate the methodology. The previous surgical procedure can be avoided altogether.

The procedure below injects AppleEthernetAquantiaAqtion from Monterey 12.2.x into any recent version of Monterey such as 12.6.x. This does not work in Ventura because OpenCore is unable to modify the pre-linked kernel cache (KC) at this time. There is, however, an ongoing effort to resolve this.

Procedure:
  1. Download the attached version of AppleEthernetAquantiaAqtion.kext and copy it into the EFI/OC/Kexts folder
    • Only the attached version will work
    • It has been pre-patched with the ForceAquantiaEthernet quirk
  2. In the Kernel --> Add section of config.plist we need to add an entry for AppleEthernetAquantiaAqtion as follows:
    • BundlePath: AppleEthernetAquantiaAqtion.kext
    • Comment: From Monterey 12.2.x
    • Executable Path: Contents/MacOS/AppleEthernetAquantiaAqtion
    • PlistPath: Contents/Info.plist
    • MinKernel: 21.0.0
    • MaxKernel: 21.99.99
    • Enabled: True
  3. Also in the Kernel section, disable or uncheck the quirk ForceAquantiaEthernet
    • The quirk is not needed because it is pre-applied to the attached kext
  4. In the Kernel --> Block section of config.plist we need to disable the existing version as follows:
    • Arch: x86_64
    • Identifier: com.apple.driver.AppleEthernetAquantiaAqtion
    • MinKernel: 21.0.0
    • MaxKernel: 21.99.99
    • Strategy: Exclude
    • Enabled: True
  5. Add this to boot-args: ixgbe=0
After making these changes:
  • Save the modified config.plist
  • Shutdown the computer
  • Flip power switch on PSU to OFF for 10 seconds
    • This step is necessary only once
    • However, if you switch to Windows it may be necessary to perform this step again
  • Power back up and boot into Monterey
  • Connect Ethernet cable to Aquantia port
  • Does it connect and work?
Screen Shot 2022-11-25 at 4.40.38 PM.pngScreen Shot 2022-11-25 at 4.42.52 PM.pngScreen Shot 2022-11-25 at 4.44.54 PM.png
Footnote:
  • Finding a patch for AppleEthernetAquantiaAqtion would be a much cleaner solution
  • I don't think we should give up quite yet on the patch idea
 

Attachments

  • AppleEthernetAquantiaAqtion.kext.zip
    273.8 KB · Views: 9
Last edited:

DarkSilentSC

Active member
AMD OS X Member
Joined
Jun 4, 2021
Messages
122
WELL I'LL BE DAMNED!
Confirmed AQC107 is working again with your suggestion. Motherboard is GIGABYTE X570 Aorus Xtreme. Also, I just visited Windows and came back again here and the internet still works. However, my previously working I211 is now indicating as Self-Assigned IP. Now continuously running internet and see if I run into long term issues...

1669426081480.png
** Found a Way to Inject AppleEthernetAquantiaAqtion in Monterey **

Testers Wanted


After a number of failed attempts at patching the Aquantia driver, I decided to look for a way to inject it via OpenCore. I believe I found a way, but I would like other Aquantia users to validate the methodology. The previous surgical procedure can be avoided altogether.

The procedure below injects AppleEthernetAquantiaAqtion from Monterey 12.2.x into any recent version of Monterey such as 12.6.x. This does not work in Ventura because OpenCore is unable to modify the pre-linked cache at this time. There is, however, an ongoing effort to resolve this.

Procedure:
  1. Download the attached version of AppleEthernetAquantiaAqtion.kext and copy it into the EFI/OC/Kexts folder
    • Only the attached version will work
    • It has been pre-patched with the ForceAquantiaEthernet quirk
  2. In the Kernel --> Add section of config.plist we need to add an entry for AppleEthernetAquantiaAqtion as follows:
    • BundlePath: AppleEthernetAquantiaAqtion.kext
    • Comment: From Monterey 12.2.x
    • Executable Path: Contents/MacOS/AppleEthernetAquantiaAqtion
    • PlistPath: Contents/Info.plist
    • MinKernel: 21.0.0
    • MaxKernel: 21.99.99
    • Enabled: True
  3. Also in the Kernel section, disable or uncheck the quirk ForceAquantiaEthernet
    • The quirk is not needed because it is pre-applied to the attached kext
  4. In the Kernel --> Block section of config.plist we need to disable the existing version as follows:
    • Arch: x86_64
    • Identified: com.apple.driver.AppleEthernetAquantiaAqtion
    • MinKernel: 21.0.0
    • MaxKernel: 21.99.99
    • Strategy: Exclude
    • Enabled: True
  5. Add this to boot-args: ixgbe=0
After making these changes:
  • Save the modified config.plist
  • Shutdown the computer
  • Flip power switch on PSU to OFF for 10 seconds
    • This step is necessary only once
    • However, if you switch to Windows it may be necessary to perform this step again
  • Power back up and boot into Monterey
  • Connect Ethernet cable to Aquantia port
  • Does it connect and work?
View attachment 8784View attachment 8783View attachment 8785
Footnote:
  • Finding a patch for AppleEthernetAquantiaAqtion would be a much cleaner solution
  • I don't think we should give up quite yet on the patch idea
 
Last edited:

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
Last edited:

DarkSilentSC

Active member
AMD OS X Member
Joined
Jun 4, 2021
Messages
122
And I just tried disconnecting and reconnecting to different NIC and back to AQC107 again. All working well as it should be. No Kernel Panics, No system freezes.
Wish I could be able to troubleshoot and understand how to create patches like you! Wow this is awesome!
 
Back
Top Bottom
  AdBlock Detected
Sure, ad-blocking software does a great job at blocking ads, but it also blocks some useful and important features of our website. For the best possible site experience please take a moment to disable your AdBlocker.