Jump to content

Dell e7470: OC Not Injecting Wi-Fi Patch


TechAndrew

Recommended Posts

Hello,

I'm having an issue where a DeviceProperties patch doesn't seem to be injected, as when I look at the device under IORegistryExplorer, not even the pci-aspm-default is changing nor is the device associated with a kext...

Perhaps this explains the startup issue related to the DW1820A that I brought up in an earlier post, where my system often doesn't boot or takes 5+ minutes (stalls at PXSX), unless I disable Wi-Fi or boot out of luck.

What could be causing this?

1970723810_ScreenShot2022-01-26at11_29_03PM.thumb.png.96ab3ce9ec7bc591c06dd13de0a5a789.png

Thanks!

config.plist.zip

Link to comment
Share on other sites

  • Administrators

Posted config file appears incorrect and cannot be opened with usual OC tools. Line 1246 carries a syntax error/

<string><>/string>

Should be!

<string></string>

 

According to the IOReg screenshot you posted, none of the desired properties appear injected for the DW820A at the desired location 1C,0. That explains why you're not able to boot unless you disable wireless in BIOS. So, there's definitely something wrong in your config file. Check it out thoroughly and use the config verification tools. Please note that you should not require AirportBrcmFixup nor its PlugIns for the DW1820A, even in. Monterey.

Link to comment
Share on other sites

Apologies, that syntax error was made in the process of removing my serial number, etc.

 

I have tried using an SSDT file instead, (adding it to config.plist too of course) but it is not loading/patching correctly at boot either, with an AE_ALREADY_EXISTS error:

32D8DD13-E495-43A9-8BC7-DFA7A0A8305C.thumb.jpeg.e1f36e7616ac433632b7420749d475c5.jpeg

 

SSDT-BCM4350.zip

Edited by Hervé
Removed unnecessary quoting
Link to comment
Share on other sites

  • Administrators

If you wish to try the SSDT method, you need to declare device PXSX as eternal too because it already exists in the DSDT. If you don't declare it as external, your DSDT basically attempts to create a duplicate of a valid existing one and this is rejected. And, of course, if you inject AirportBrcmFixup or rename your wireless ACPI device as seems to be the case, device PXSX gets renamed to ARPT... So, you're basically shooting blanks for the time being.

 

NB: as per our published rules, no systematic quoting to post replies please. Forum offers Reply boxes at the bottom of every page for that very specific purpose so please use that.

Link to comment
Share on other sites

I believe the device is still named PXSX in my case, even if AirportBrcmFixup is enabled, when I checked under IORegistry Explorer.

 

Also, I am still getting the same error... Have I declared it as External correctly??

DefinitionBlock ("", "SSDT", 2, "ARPT ", "BCM4350", 0x00000000)
{
    External (_SB_.PCI0.RP05, DeviceObj)
    Device (_SB.PCI0.RP05)
    {
        Device (PXSX)
        {
            Name (_ADR, Zero)  // _ADR: Address
            Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
            {
                If ((Arg2 == Zero))
                {
                    Return (Buffer (One)
                    {
                         0x03                                             // .
                    })
                }
                Return (Package (0x0C)
                {
                    "AAPL,slot-name", 
                    Buffer (0x05)
                    {
                        "WLAN"
                    }, 
                    "compatible", 
                    Buffer (0x0D)
                    {
                        "pci14e4,43a0"
                    }, 
                    "device_type", 
                    Buffer (0x08)
                    {
                        "AirPort"
                    }, 
                    "model", 
                    Buffer (0x24)
                    {
                        "Dell DW1820A 802.11ac Wireless Card"
                    }, 
                    "name", 
                    Buffer (0x10)
                    {
                        "AirPort Extreme"
                    }, 
                    "pci-aspm-default", 
                    Buffer (One)
                    {
                         0x00                                             // .
                    }
                })
            }
        }
    }
}

 

 

Link to comment
Share on other sites

  • Administrators

No, you have not.

 

You need declare RP05 AND its PXSX child as external. Ok, it's the SSDT table that you've named ARPT. And I'm pretty sure you need to use SCOPE for your target rather than DEVICE since we're dealing with existing ACPI objects, not new ones you wish to create. Original objets need to be renamed if you wish to replace them by new entries, otherwise your code is just ignored as I suspect yours is ('noticed the " 1 table load failures"  error message?). Hence why renaming such as X--- or ---X can be found in Bootloader's configs to accompany pathed SSDTs. Eg: _OSI renamed to XOSI, OSID renamed to XSID, HPET renamed to XPET, etc. that complement specific patched SSDTs that redefine the original objects.

 

To me, your SSDT should look like:

external (xxxx.RP05.PXSX, DeviceObj)

Scope (xxxxx.RP05.PXSX)
{
    Method (_DSM, 4, NotSerialized)
    {
        [...]
    }
}

assuming, of course, that there's no existing _DSM method under RP05.PXSX in your vanilla DSDT.

Link to comment
Share on other sites

Thanks! It's injecting successfully now. However, whether or not I'm enabling the kexts AirportBrcmFixup, BrcmFirmwareData, etc., it's now freezing at the same point as in my last thread: 

https://osxlatitude.com/forums/topic/17059-e7470-not-booting-after-updating-to-monterey-121

 

If I revert to the original configuration, it takes 5+ minutes to boot with multiple "PXSX stalls".

Link to comment
Share on other sites

×
×
  • Create New...