For TL-WN881ND (Atheros 9287), apply one of these patches. Clover's kext to patch method not described here.
Kext patch (Lost with any major update excluding security updates):
Copy IO80211Family.kext from S/L/E to desktop. Add the device id to info plist.
Path: IO80211Family.kext/Contents/PlugIns/AirPortAtheros40.kext/Contents/Info.plist
Add (or edit) any one of the following strings to info.plist in the appropriate location, where similar strings are present.
<string>pci168c,2e</string>
or
<string>pci168c,30a4</string>
Install the modified kext. Need to repeat for every update. Detailed description
here.
Have a look
#1
Clover DSDT patch - Upto El Capitan (10.11)
This injects fake id (pci168c,2a) for the wireless card, a vanilla approach. If using clover then it is very simple by using inbuilt clover patch. Open config plist using clover configurator. Under ACPI —> DSDT fixes —> AddDTGP & FixAirport. These two fixes will make WN881ND work with MacOS versions upto El capitan (10.11).
For 10.12+, use SSDT method (described below). If u are injecting DSDT, then u can add these patches manually to DSDT in the appropriate location, which will work similar to SSDT method (in all macOS versions).
SSDT method (Vanilla method - Recommended)
- Upto High Sierra (10.13) => SSDT (attached below)
- Mojave (10.14) => SSDT + AirportAtheros40.kext
- Catalina (10.15) => SSDT + IO80211Family.kext (Internet sharing may be buggy)
I am using this method in Mojave with OpenCore bootloader in my Haswell build.
Note:
- AirportAtheros40.kext & IO80211Family.kext (attached below) are vanilla kexts from High Sierra (10.13.6). Copy the required kext to Desktop & use KextBeast to install it in Library/Extensions.
- Verify the paths (_SB_.PCI0, _SB_.PCI0.RP04.PXSX) in the attached SSDT by comparing with DSDT. Needs path edit before installation. For example, if the Atheros card is installed in RP06, Replace all RP04 with RP06 (two locations).