Jump to content

Intel 82574L


Pavo
 Share

10 posts in this topic

Recommended Posts

I have figured out how to make this NIC use the native kexts without any modification of the NIC firmware as suggested in other threads.

 

Add the following to Clover config:

<key>ForceKextsToLoad</key>
<array>
<string>\System\Library\Extensions\IONetworkingFamily.kext\Contents\PlugIns\Intel82574L.kext</string>
</array>

And the following to the KextsToPatch section:

<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>Remove IOPCISecondaryMatch</string>
<key>Disabled</key>
<false/>
<key>Find</key>
<data>
SU9QQ0lTZWNvbmRhcnlNYXRjaA==
</data>
<key>InfoPlistPatch</key>
<true/>
<key>Name</key>
<string>Intel82574L</string>
<key>Replace</key>
<data>
SURPTk9Ud2FudHRvbG9hZHRoaQ==
</data>
</dict>
</array>

Then either add this to your DSDT or make a SSDT:

Device (_SB.PCI0.PEX0.ETH0)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03                                           
                })
            }

            Store (Package (0x14)
                {
                    "AAPL,slot-name", 
                    "Built In", 
                    "model", 
                    Buffer (0x0D)
                    {
                        "Intel 82574L"
                    }, 

                    "built-in", 
                    Buffer (One)
                    {
                         0x00                                           
                    }, 

                    "device-id", 
                    Buffer (0x04)
                    {
                         0xF6, 0x10, 0x00, 0x00                         
                    }, 

                    "vendor-id", 
                    Buffer (0x04)
                    {
                         0x86, 0x80, 0x00, 0x00                         
                    }, 

                    "subsystem-vendor-id", 
                    Buffer (0x04)
                    {
                         0x00, 0x00, 0x00, 0x00                         
                    }, 

                    "subsystem-id", 
                    Buffer (0x04)
                    {
                         0x00, 0x00, 0x00, 0x00                         
                    }, 

                    "device_type", 
                    Buffer (0x09)
                    {
                        "ethernet"
                    }, 

                    "location", 
                    Buffer (0x02)
                    {
                        "1"
                    }, 

                    "name", 
                    Buffer (0x09)
                    {
                        "ethernet"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }

This will use the native kext from macOS located in /System/Library/Extensions/IONetworkingFamily.kext/Contents/Plugins/Intel82574L.kext

  • Like 9
Link to comment
Share on other sites

Hello you know create a patch for my hardware?

Thankful.

 

Gigabyte GA-Z77X-UD5H

Gigabyte dual Ethernet

 

Atheros AR8151 v2.0

Intel 82579V

Give me a screenshot of DPCIManager for all the PCI List, but the Intel 82579V should work without issues with Mieze's http://www.insanelymac.com/forum/files/download/396-intelmausiethernet/

Link to comment
Share on other sites

  • 3 months later...

Hi @Pavo,

 

Thanks for this info!

 

My motherboard has 4 Intel 82574L NICs, DPCIManager screenshot:

 

1239500090_ScreenShot2018-05-23at4_33_00AM.png.5954c57877fef07fcde45863af608c4c.png

 

Do I need a SSDT for each interface?

 

 

 

When the Intel 82754L Ethernet is heavily loaded (~10k packets/s) [OS X 10.11.6] I'm seeing this flood the console.

kernel[0]: 0x<ptr>, 0x<ptr>  Intel82574L::outputStart - NoResources from txFrame - pkt tossed
kernel[0]: 0x<ptr>, 0x<ptr>  Intel82574L::outputStart - NoResources from txFrame - pkt tossed
kernel[0]: 0x<ptr>, 0x<ptr>  Intel82574L::outputStart - NoResources from txFrame - pkt tossed

Hoping this will fix the issue. Will report back after giving this a try.

Edited by e97
Link to comment
Share on other sites

  • 2 weeks later...

 

 

@Pavo 

 

I'm trying to create the SSDT and running into the following errors when trying to compile:

*update* made some progress

75, 4064, Object does not exist (DTGP)

 

 

Here my SSDT

DefinitionBlock ("", "SSDT", 1, "Pavo", "eth82574l", 0x? ) 
                                                    // not sure how to find this address
  													// value from gfx hdmi audio ssdt: 0x00003000
{

Device (\_SB.PCI0.PEX0.ETH0) // pretty sure I'm on the wrong device path
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                     0x03                                           
                })
            }

            Store (Package (0x14)
                {
                    "AAPL,slot-name", 
                    "Built In", 
                    "model", 
                    Buffer (0x0D)
                    {
                        "Intel 82574L"
                    }, 

                    "built-in", 
                    Buffer (One)
                    {
                         0x00                                           
                    }, 

                    "device-id", 
                    Buffer (0x04)
                    {
                         0xF6, 0x10, 0x00, 0x00                         
                    }, 

                    "vendor-id", 
                    Buffer (0x04)
                    {
                         0x86, 0x80, 0x00, 0x00                         
                    }, 

                    "subsystem-vendor-id", 
                    Buffer (0x04)
                    {
                         0x00, 0x00, 0x00, 0x00                         
                    }, 

                    "subsystem-id", 
                    Buffer (0x04)
                    {
                         0x00, 0x00, 0x00, 0x00                         
                    }, 

                    "device_type", 
                    Buffer (0x09)
                    {
                        "ethernet"
                    }, 

                    "location", 
                    Buffer (0x02)
                    {
                        "1"
                    }, 

                    "name", 
                    Buffer (0x09)
                    {
                        "ethernet"
                    }
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }
}

 

Edited by e97
progress
Link to comment
Share on other sites

Got the PCI-E locations from IOReg:

 

1189779022_ScreenShot2018-06-01at2_38_16AM.png.9e08e4872815dbc425395984d922cda4.png

 

my

ACPI/origin/dsdt.aml

doesnt have a DTGP key..

edit: nvm this is added by a Clover Config option or can be manually added, would still prefer DSDT

 

Need to figure out how to convert DSDT -> SSDT.

Edited by e97
update adding DTGP
Link to comment
Share on other sites

5 hours ago, e97 said:

Got the PCI-E locations from IOReg:

 

1189779022_ScreenShot2018-06-01at2_38_16AM.png.9e08e4872815dbc425395984d922cda4.png

 

my


ACPI/origin/dsdt.aml

doesnt have a DTGP key..

edit: nvm this is added by a Clover Config option or can be manually added, would still prefer DSDT

 

Need to figure out how to convert DSDT -> SSDT.

 

 

На пробуй.

 

ETHX.aml.zip

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

  • 2 years later...
 Share

×
×
  • Create New...