Ryzen 7000 Testing

ExtremeXT

Donator
Donator
Joined
Aug 7, 2022
Messages
843
So I tried comparing the disassembled kext from both 12.2 and 12.5 but couldn't find anything, if it's helpful I have attached the disassembled C code from both of the versions.
 

Attachments

  • Aquantia Disassembled.zip
    205.4 KB · Views: 9

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
I have two Gigabyte GC-AQC113C cards:
  • One is installed in Gigabyte Z390 Designare with Intel i5-9600K
  • One is installed in Asus X670E Gene with AMD Ryzen 7 7700X
Although AppleVTD is enabled on the Gigabyte Z390, the same boot arguments were used to collect logs:
  • Standard driver from Monterey 12.6.x was used
  • ixgbe=0 to disable the DriverKit Extension (DEXT)
  • apple-axge-debug=1 to enable Aquantia debug logs
  • pci=0x3 to enable SysLog and IOLog
Operating status:
  • On the Gigabyte Z390, the Aquantia connects and works properly
  • On the Asus X670E, the Aquantia gets a self-assigned IP
  • This provides apples-to-apples logs for comparison:
    • Same version of the driver
    • Same make/model of the Aquantia card
    • Same network
Because I need to step out briefly, I'll post both sets of logs here.
  • Name of zip file: Aquantia Driver from 12.6.x
    • Subfolder 1: 12.6 driver on Intel
    • Subfolder 2: 12.6 driver on AMD
 

Attachments

  • Aquantia Driver from 12.6.x.zip
    118.3 KB · Views: 6

hvv_

Member
AMD OS X Member
Joined
Sep 8, 2022
Messages
30
@CaseySJ @ExtremeXT
I tried to compare the two myself even though I don't understand anything about it but I found this could this help any of you for a patch?


From VirtualSMC - kern_prov.cpp

C:
};

    for (size_t i = 0; i < AppleSMCBufferTotal; i++) {
        // IOMapper::gSystem is both an AppleVTD instance and an event bitset waiting until it arrives (great idea)
        // XNU decides whether IOMapper will arrive based on kHasMapper (0x2) bit in IOMapper::gSystem.
        // This bit is directly not set when dart=0/-x boot-args are passed when SIP FS protection is off.
        // Otherwise, when IOMMU is unavailable (detected by missing DMAR table), it is IOPCIFamily job
        // to unset the bit in a call to IOPCIPlatformInitialize -> AppleVTD::install.
        // In 10.12 and earlier this is done in IOPCIBridge::configOp.
        // In 10.13 and newer this is done in AppleACPIPlatformExpert::start -> ::initPCIExpressSupport (does it still race :).
        //
        // IOBufferMemoryDescriptor::inTaskWithOptions calls to IOMapper::checkForSystemMapper unless kIOMemoryMapperNone
        // is provided, which forwards the call to waitForSystemMapper if kHasMapper bit is set.
        // One may guess that IOPCIBridge::configOp is called later, and that this whole code results in an infinite
        // loop in IOMapper::waitForSystemMapper() if VTD is unavailable on macOS prior 10.13.
        //
        // A friendly fix would have been removing kHasMapper from IOMapper::gSystem, which is safe, since
        // the class instance is 8-byte aligned, yet that would result in issues on real Macs.
        // reinterpret_cast<uintptr_t &>(IOMapper::gSystem) &= ~static_cast<uintptr_t>(kWaitMask);
        // So we pass kIOMemoryMapperNone, which seems to be natural under these conditions.
        memoryDescriptors[i] = IOBufferMemoryDescriptor::inTaskWithOptions(kernel_task, kIOMemoryMapperNone, allocSizes[i], windowAligns[i]);
        if (memoryDescriptors[i]) {
            auto r = memoryDescriptors[i]->prepare();
            if (r == kIOReturnSuccess) {
                memoryMaps[i] = memoryDescriptors[i]->map();
                if (memoryMaps[i]) {
                    bzero(reinterpret_cast<void *>(memoryMaps[i]->getVirtualAddress()), allocSizes[i]);
                    DBGLOG("prov", "descriptor %lu was mapped", i);
                } else {
                    PANIC("prov", "descriptor %lu map failure", i);
                }
            } else {
                PANIC("prov", "descriptor %lu prepare failure %X", i, r);
            }
        } else {
            PANIC("prov", "descriptor %lu alloc failure", i);
        }
    }

Then I searched IOMapper:: in the two files from @ExtremeXT and I found this.

From x86-64-cpu0x3 - Monterey 12.2.c

C:
LAB_00001ddc:
        _kprintf(pcVar11,"start");
      }
    }
    else {
      (**(code **)(*plVar6 + 0x20))(plVar6);
      uVar7 = IOMapper::copyMapperForDevice(*(IOService **)(this + 0x130));
      *(undefined8 *)(this + 0x138) = uVar7;
      IOEthernetController::setAVBPacketMapper((IOMapper *)this);
      iVar5 = setup_slave_io(this);
      if (iVar5 == 0) {
        uVar10 = *arg_ptr;
        if ((uVar10 & 2) != 0) {
          _IOLog("%s - AXGE version check fail\n","start");
          uVar10 = *arg_ptr;
        }
        if ((uVar10 & 1) != 0) {
          pcVar11 = "%s - AXGE version check fail\n";
          goto LAB_00001ddc;
        }
      }

From x86-64-cpu0x3 - Monterey 12.5.1.c

C:
LAB_000020fa:
      _kprintf(pcVar11,"start");
    }
  }
  else {
    (**(code **)(*plVar6 + 0x20))(plVar6);
    uVar7 = IOMapper::copyMapperForDevice(*(IOService **)(this + 0x128));
    *(undefined8 *)(this + 0x130) = uVar7;
    IOEthernetController::setAVBPacketMapper((IOMapper *)this);
    iVar4 = setup_slave_io(this);
    if (iVar4 == 0) {
      uVar10 = *arg_ptr;
      if ((uVar10 & 2) != 0) {
        _IOLog("%s - AXGE version check fail\n","start");
        uVar10 = *arg_ptr;
      }
      if ((uVar10 & 1) != 0) {
        pcVar11 = "%s - AXGE version check fail\n";
        goto LAB_000020fa;
      }
    }
 

hvv_

Member
AMD OS X Member
Joined
Sep 8, 2022
Messages
30
What I also found is this? - Disable AppleVTD - Boot Arg


Which states:

Disabling VT-d​

When debugging PCIe device drivers, it is often useful to temporarily disable VT-d so that I/O addresses are the same as the corresponding physical addresses. To disable VT-d, add the following to your kernel boot args:

dart=0x0
If the problem you are debugging goes away in this mode, it usually indicates one of the following mistakes:

  • Some part of your code is incorrectly passing a physical address in RAM to your device for DMA purposes instead of an I/O address.
  • Your code failed to call prepare or called prepare incorrectly on an IOMemoryDescriptor object before using it to perform DMA.
 

ExtremeXT

Donator
Donator
Joined
Aug 7, 2022
Messages
843
What I also found is this? - Disable AppleVTD - Boot Arg


Which states:
I doubt the boot arg would actually do anything if it just disables VT-d which is already unavailable, but I guess you could try.
 

hvv_

Member
AMD OS X Member
Joined
Sep 8, 2022
Messages
30
I doubt the boot arg would actually do anything if it just disables VT-d which is already unavailable, but I guess you could try.
Is there anyone who could try this I cannot try for the next week on my hackintosh because I am on vacation.
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
A significant update to Asahi Linux for Apple Silicon Macs was announced recently. In their lengthy blog post is this little gem that explains the PHY or physical layer driver. The information below may not be directly relevant to our patch discovery effort, but it may shed some additional tidbit of insight into how these drivers work.

I wonder if those who worked on IntelMausiEthernet could be helpful to us…

M1 and later Apple Silicon machines use Apple-designed (or Apple-customized?) PHY hardware called “Apple Type-C PHY” (ATCPHY) that supports USB3, DisplayPort, and TB3/USB4 modes. This piece of hardware is in charge of turning the USB3/DP/TB protocol data into signals on the wires. Since we’re dealing with very high-speed signals (up to 20Gbps per pair), the PHY has to be very complex and there are a lot of analog knobs that need to be individually calibrated. With USB2, you can get away with having universal settings that work for every device, but that won’t work for USB3 and other higher-speed protocols!

The job of the PHY driver is to configure the physical hardware with settings specific to your particular chip, which are calibrated at the factory, and to manage reconfiguration of the entire PHY hardware as different modes are switched in and out. In practice, this means a huge number of “magic” register pokes, including some with variable data that comes from factory-written eFuses.
 

DarkSilentSC

Active member
AMD OS X Member
Joined
Jun 4, 2021
Messages
122
What I also found is this? - Disable AppleVTD - Boot Arg


Which states:
Tried and this tweak is a no-go. At least it didn't cause any KPs but the network connection got only as far up to Self Assigned IP.
 

hvv_

Member
AMD OS X Member
Joined
Sep 8, 2022
Messages
30
Tried and this tweak is a no-go. At least it didn't cause any KPs but the network connection got only as far up to Self Assigned IP.
Do you have DisableIoMapper => disabled in OC config.plist
 

hvv_

Member
AMD OS X Member
Joined
Sep 8, 2022
Messages
30
@CaseySJ Do you have an update on a possibility of patching yet?


What in the kext's code should we actually be looking for? Where it says to use appleVTD?
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
@CaseySJ Do you have an update on a possibility of patching yet?


What in the kext's code should we actually be looking for? Where it says to use appleVTD?
Without source code it’s more difficult to pinpoint the issue, but the disassembled C code posted by @ExtremeXT is helping considerably. I’ve found at least two differences in the debug logs from the same card on AMD and on Intel.
  1. When ::start is called, it invokes a function that creates a linked list of receive-ring buffers for both standard packets and AVB packets (AVB is Audio Video Bridging). In the non-working log we find two times as many buffers compared to both the Monterey 12.2 (working) log on AMD and the Monterey 12.6 (working) log on Intel.
  2. When packets are transmitted, there is a head and tail entry in the log that indicates the position within the linked list where packet data is stored. In both of the working logs, the head position changes, but in the non-working log the head position is always 0 while the tail position increments. In the working Intel log, the head and tail positions increment with each transmitted packet. In the working AMD log the tail position increments every time but the head position begins to increment near the end of the log. And in the non-working AMD log, the head position stays at 0. I need to check more of these logs to see whether the head position does increment after more packets have been sent. So currently this is inconclusive.
I don’t know whether the 2x receive ring is of any consequence, but I have isolated the code where the loop occurs. In several places the driver invokes functions indirectly through function pointers. This makes it harder but not impossible to isolate the exact line. IOPCIFamily uses function pointers quite frequently.
 
Last edited:

hvv_

Member
AMD OS X Member
Joined
Sep 8, 2022
Messages
30

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269

hvv_

Member
AMD OS X Member
Joined
Sep 8, 2022
Messages
30
I can, but it won’t help. The cause is much deeper hidden.
At this point, do you think it could still succeed in making a patch? this is not to be negative
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
At this point, do you think it could still succeed in making a patch? this is not to be negative
That’s a fair question, not negative but reasonable. I think it’s still too early. I’ll collect more logs, and turn on AppleVTD logs as well. We do have the source code for AppleVTD, which is part of IOPCIFamily.

We know that just replacing the AquantiaAqtion driver fixes the problem, which means the solution may lie entirely within it. But the new version of this driver has some significant differences.
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
Can you send where in the code that happens?

I can, but it won’t help. The cause is much deeper hidden.
FYI, this is the do-while loop where buffers are allocated by alloc_rx_ring.

Screen Shot 2022-11-26 at 11.21.57 AM.png

I have collected much more interesting logs. Will share them momentarily.
 

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
Log Analysis 1 of N

Conditions:
  • AMD platform
  • Aquantia driver from 12.2.x that works
  • We can see that DHCP successfully assigns an IP address
Bash:
2022-11-27 10:35:49.601408-0800  configd: [com.apple.SystemConfiguration:QoSMarking] QoS marking policy: en1: enable (default)
2022-11-27 10:35:49.653981-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: start
2022-11-27 10:35:49.654128-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] en1 link INACTIVE
2022-11-27 10:35:49.758002-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] en1: link inactive timer fired
2022-11-27 10:35:49.758047-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: status = 'media inactive'
2022-11-27 10:35:49.758105-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INACTIVE
2022-11-27 10:35:49.758107-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: Inactive
2022-11-27 10:35:49.758127-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: Inactive
2022-11-27 10:35:49.758147-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] AUTOMATIC-V6 en1: status = 'media inactive'

CABLE CONNECTED:

2022-11-27 10:36:54.436575-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] en1 link ACTIVE
2022-11-27 10:36:54.436668-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT
2022-11-27 10:36:54.436876-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 0 for 1.951757
2022-11-27 10:36:54.436928-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: link-local address is ready, starting
2022-11-27 10:36:54.436928-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: Solicit
2022-11-27 10:36:54.436963-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: sending Router Solicitation (1 of 3)
2022-11-27 10:36:56.390407-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 2 for 2.794896
2022-11-27 10:36:59.185408-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 5 for 4.789545
2022-11-27 10:36:59.353603-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: sending Router Solicitation (2 of 3)
2022-11-27 10:36:59.358641-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: Acquired
2022-11-27 10:36:59.358682-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCPv6ClientStart(en1): use permanent address
2022-11-27 10:36:59.359029-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] AUTOMATIC-V6 en1: publish success { IPv6, DNS } [PLATDiscovery]
2022-11-27 10:36:59.359030-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] en1: DHCPv6 client still active
2022-11-27 10:36:59.360586-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] AUTOMATIC-V6 en1: publish success { IPv6, DNS } [PLATDiscovery]
2022-11-27 10:36:59.360588-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] en1: DHCPv6 client still active
2022-11-27 10:36:59.363651-0800  configd: [com.apple.SystemConfiguration:IPMonitor] network changed: v4(en2:192.168.1.115) v6(en1+:—REDACTED—, en2) DNS! Proxy! SMB
2022-11-27 10:36:59.387422-0800  configd: [com.apple.SystemConfiguration:IPMonitor] Publishing data to agent DNSAgent-@en1 (102 bytes)
2022-11-27 10:36:59.926686-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: all autoconf addresses detached/deprecated
2022-11-27 10:36:59.926812-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] AUTOMATIC-V6 en1: publish success { IPv6, DNS } [PLATDiscovery]
2022-11-27 10:36:59.926813-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] en1: DHCPv6 client still active
2022-11-27 10:36:59.973915-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: all autoconf addresses detached/deprecated
2022-11-27 10:36:59.974135-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] AUTOMATIC-V6 en1: publish success { IPv6, DNS, DHCPv6 } [PLATDiscovery]
2022-11-27 10:36:59.975754-0800  configd: [com.apple.SystemConfiguration:IPMonitor] network changed: v4(en2:192.168.1.115) v6(en1:—REDACTED—, en2) DNS! Proxy SMB
2022-11-27 10:37:00.004092-0800  configd: [com.apple.SystemConfiguration:IPMonitor] Publishing data to agent DNSAgent-@en1 (145 bytes)
2022-11-27 10:37:00.029763-0800  configd: [com.apple.SystemConfiguration:IPMonitor] en1: nat64 prefix unavailable
2022-11-27 10:37:00.029780-0800  configd: [com.apple.SystemConfiguration:IPMonitor] en1: nat64 prefixes updated
2022-11-27 10:37:00.029997-0800  configd: [com.apple.SystemConfiguration:IPMonitor] en1: PLAT discovery complete {
2022-11-27 10:37:00.359079-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: all autoconf addresses detached/deprecated
2022-11-27 10:37:00.359399-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] AUTOMATIC-V6 en1: publish success { IPv6, DNS, DHCPv6 } [PLATDiscovery]
2022-11-27 10:37:03.211079-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT gathering began at 9
2022-11-27 10:37:04.211150-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: SELECT
2022-11-27 10:37:04.211323-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: SELECT waiting at 10 for 1.000000
2022-11-27 10:37:04.216097-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: BOUND

# IP address received and assigned:
2022-11-27 10:37:05.824266-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: setting 192.168.1.75 netmask 255.255.255.0 broadcast 192.168.1.255
2022-11-27 10:37:05.834106-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] dhcp_bound(en1) 192.168.1.75

2022-11-27 10:37:05.844900-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: publish success { IPv4, DNS, DHCP }
2022-11-27 10:37:05.847625-0800  configd: [com.apple.SystemConfiguration:IPMonitor] network changed: v4(en1+:192.168.1.75, en2) v6(en1:—REDACTED—, en2) DNS! Proxy SMB
2022-11-27 10:37:05.862762-0800  configd: [com.apple.SystemConfiguration:IPMonitor] Publishing data to agent DNSAgent-@en1 (159 bytes)
2022-11-27 10:37:07.448430-0800  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] LINKLOCAL en1: status = 'success'
 
Last edited:

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
Log Analysis 2 of N

Conditions:
  • AMD platform
  • Aquantia driver from 12.6.x that does not work
  • We can see that DHCP fails and self-assigned IP is applied: 169.254.147.64
Bash:
2022-11-27 09:59:59.658970-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: start
2022-11-27 09:59:59.659216-0800 0x36d  configd: [com.apple.SystemConfiguration:QoSMarking] QoS marking policy: en1: enable (default)
2022-11-27 09:59:59.659421-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] en1 link INACTIVE
2022-11-27 09:59:59.762880-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] en1: link inactive timer fired
2022-11-27 09:59:59.762923-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: status = 'media inactive'
2022-11-27 09:59:59.762986-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INACTIVE
2022-11-27 09:59:59.762988-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: Inactive
2022-11-27 09:59:59.763007-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: Inactive
2022-11-27 09:59:59.763027-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] AUTOMATIC-V6 en1: status = 'media inactive'

CABLE CONNECTED:

2022-11-27 10:01:15.716515-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] en1 link ACTIVE
2022-11-27 10:01:15.757407-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT
2022-11-27 10:01:15.757685-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 0 for 1.983972
2022-11-27 10:01:15.757715-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: link-local address is ready, starting
2022-11-27 10:01:15.757715-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: Solicit
2022-11-27 10:01:15.757738-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: sending Router Solicitation (1 of 3)
2022-11-27 10:01:17.743080-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 2 for 2.128184
2022-11-27 10:01:19.872462-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 4 for 4.320026
2022-11-27 10:01:20.523625-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: sending Router Solicitation (2 of 3)
2022-11-27 10:01:24.193219-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: ARP router: No leases to query for
2022-11-27 10:01:24.193371-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 9 for 8.150812
2022-11-27 10:01:24.999514-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] RTADV en1: sending Router Solicitation (3 of 3)
2022-11-27 10:01:32.344252-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: ARP router: No leases to query for
2022-11-27 10:01:32.344367-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 17 for 8.328620

# Here a self-assigned IP is applied:
2022-11-27 10:01:33.948508-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] LINKLOCAL en1: setting 169.254.147.64 netmask 255.255.0.0 broadcast 169.254.255.255

2022-11-27 10:01:33.958734-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] LINKLOCAL en1: publish success { IPv4 }
2022-11-27 10:01:40.675818-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: ARP router: No leases to query for
2022-11-27 10:01:40.675942-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 25 for 8.347753
2022-11-27 10:01:49.023821-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: ARP router: No leases to query for
2022-11-27 10:01:49.023912-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: reported address acquisition failure symptom
2022-11-27 10:01:49.024084-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 34 for 8.237974
2022-11-27 10:01:57.262803-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: ARP router: No leases to query for
2022-11-27 10:01:57.262928-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 42 for 8.991415
2022-11-27 10:02:06.256376-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: ARP router: No leases to query for
2022-11-27 10:02:06.256543-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 51 for 8.191725
2022-11-27 10:02:14.449982-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: ARP router: No leases to query for
2022-11-27 10:02:14.450143-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: INIT waiting at 59 for 8.852795
2022-11-27 10:02:23.306220-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: ARP router: No leases to query for
2022-11-27 10:02:23.306485-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] LINKLOCAL en1: publish success { IPv4 }
2022-11-27 10:02:23.306486-0800 0x36d  configd: (IPConfiguration) [com.apple.IPConfiguration:Server] DHCP en1: status = 'no server'
 
Last edited:

CaseySJ

Guru
Guru
Donator
Joined
May 10, 2020
Messages
1,269
Log Analysis 3 of N

Conditions:
  • This is a comparison of how interrupts are set up
  • AMD platform with driver from 12.6.x that does not work
Bash:
# alloc_rx_rings just finished as we can see by the "exit" sign <==
2022-11-27 09:59:59.584078-0800  kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::alloc_rx_rings:0x00000001

# setup_intr function now begins as we can see by the 'entry' sign ==>
2022-11-27 09:59:59.584079-0800  kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::setup_intr
2022-11-27 09:59:59.584170-0800  kernel: (IOPCIFamily) setTunnelL1Enable(0x100000281) 2->0
2022-11-27 09:59:59.584172-0800  kernel: (IOPCIFamily) setTunnelL1Enable(0x100000281) 2->0
2022-11-27 09:59:59.584176-0800  kernel: (IOPCIFamily) setTunnelL1Enable(0x100000281) 2->0
2022-11-27 09:59:59.584177-0800  kernel: (IOPCIFamily) setTunnelL1Enable(0x100000281) 2->0
2022-11-27 09:59:59.584191-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - MSI Interrupt found. Line = 0x00000000, type = 0x00010000
2022-11-27 09:59:59.584212-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - MSI Interrupt found. Line = 0x00000001, type = 0x00010000
2022-11-27 09:59:59.584218-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - MSI Interrupt found. Line = 0x00000002, type = 0x00010000
2022-11-27 09:59:59.584223-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - MSI Interrupt found. Line = 0x00000003, type = 0x00010000
2022-11-27 09:59:59.584229-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - MSI Interrupt found. Line = 0x00000004, type = 0x00010000
2022-11-27 09:59:59.584234-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - MSI Interrupt found. Line = 0x00000005, type = 0x00010000
2022-11-27 09:59:59.584240-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - MSI Interrupt found. Line = 0x00000006, type = 0x00010000
2022-11-27 09:59:59.584249-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - Interrupt source registered
2022-11-27 09:59:59.584249-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - Interrupt source registered
2022-11-27 09:59:59.584250-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - Interrupt source registered
2022-11-27 09:59:59.584250-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - Interrupt source registered
2022-11-27 09:59:59.584251-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - Interrupt source registered
2022-11-27 09:59:59.584251-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - Interrupt source registered
2022-11-27 09:59:59.584252-0800  kernel: (AppleEthernetAquantiaAqtion) setup_intr - Interrupt source registered

# success
2022-11-27 09:59:59.584252-0800  kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::setup_intr status = 0x00000001

# now the next step starts, which is initializing the hardware
2022-11-27 09:59:59.584253-0800  kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::init_enet_hw
  • This is the same AMD system with 12.2.x driver that works.
  • Yes only a single interrupt is assigned, but that's all we need.
Bash:
# alloc_rx_rings just finished as we can see by the "exit" sign <==
2022-11-27 10:35:49.589065-0800 0x1a4 kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::alloc_rx_rings:0x00000001

# setup_intr function now begins as we can see by the 'entry' sign ==>
2022-11-27 10:35:49.589066-0800 0x1a4 kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::setup_intr
2022-11-27 10:35:49.589068-0800 0x1a4 kernel: (AppleEthernetAquantiaAqtion) setup_intr - MSI Interrupt found. Line = 0x00000001, type = 0x00010000
2022-11-27 10:35:49.589152-0800 0x1a4 kernel: (AppleEthernetAquantiaAqtion) setup_intr - Interrupt source registered

# success
2022-11-27 10:35:49.589153-0800 0x1a4 kernel: (AppleEthernetAquantiaAqtion) <== AppleEthernetAquantiaAqtion::setup_intr status = 0x00000001

# now the next step starts, which is initializing the hardware
2022-11-27 10:35:49.589154-0800 0x1a4 kernel: (AppleEthernetAquantiaAqtion) ==> AppleEthernetAquantiaAqtion::init_enet_hw
 
Last edited:
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.