I have wake-from-sleep problems. Atheros is not an integrated chip but on a PCIe card from TP-Link. I add DSDT fix under the right pcie slot and it is somewhat working, but it cannot wake from sleep. It gives me this error in kernel.log
kernel[0]: pci restore waited for ARPT (55273) fail
kernel[0]: ----- ar5416Reset[192] ---- Unable to set powe mode ----
kernel[0]: ath_open: unable to reset hardware; hal status 4294967167 (freq 2472 flags 0xc0)
kernel[0]: ----- ar5416Reset[192] ---- Unable to set powe mode ----
kernel[0]: ath_reset: unable to reset hardware; hal status 4294967167
kernel[0]: ----- ar5416Reset[192] ---- Unable to set powe mode ----
kernel[0]: ath_do_pwrworkaround: unable to reset hardware; hal status 4294967167
kernel[0]: ----- ar5416Reset[192] ---- Unable to set powe mode ----
kernel[0]: ath_open: unable to reset hardware; hal status 4294967167 (freq 2472 flags 0xc0)
kernel[0]: ----- ar5416Reset[192] ---- Unable to set powe mode ----
kernel[0]: ath_reset: unable to reset hardware; hal status 4294967167
kernel[0]: ----- ar5416Reset[192] ---- Unable to set powe mode ----
kernel[0]: ath_open: unable to reset hardware; hal status 4294967167 (freq 2472 flags 0xc0)
kernel[0]: ----- ar5416Reset[192] ---- Unable to set powe mode ----
kernel[0]: ath_reset: unable to reset hardware; hal status 4294967167
Device under PCIe slot
Device (MRP9)
{
Name (_ADR, 0x00090000)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x09,
0x04
})
}
Device (ARPT)
{
Name (_ADR, Zero)
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0B,
0x05
})
}
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"AAPL,slot-name",
Buffer (0x08)
{
"AirPort"
},
"device-id",
Buffer ()
{
0x2A, 0x00, 0x00, 0x00
},
"device_type",
Buffer (0x08)
{
"AirPort"
},
"model",
Buffer (0x34)
{
"Atheros 9285 8802.11 b/g/n Wireless Network Adapter"
},
"subsystem-id",
Buffer (0x04)
{
0x8F, 0x00, 0x00, 0x00
},
"subsystem-vendor-id",
Buffer (0x04)
{
0x6B, 0x10, 0x00, 0x00
}
}, Local0)
MCDP (Arg2, RefOf (Local0))
Return (Local0)
}
}
OperationRegion (IPE9, PCI_Config, Zero, 0xFF)
Scope (\)
{
Field (\_SB.PCI0.MRP9.IPE9, ByteAcc, NoLock, Preserve)
{
IVI9, 16,
Offset (0xB2),
IRS9, 8
}
}
Name (IPC9, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
LNKA,
Zero
},
Package (0x04)
{
0xFFFF,
One,
LNKB,
Zero
},
Package (0x04)
{
0xFFFF,
0x02,
LNKC,
Zero
},
Package (0x04)
{
0xFFFF,
0x03,
LNKD,
Zero
}
})
Name (IAC9, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x10
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x11
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x12
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x13
}
})
Name (ISC9, Package (0x04)
{
Package (0x04)
{
0xFFFF,
Zero,
Zero,
0x20
},
Package (0x04)
{
0xFFFF,
One,
Zero,
0x2A
},
Package (0x04)
{
0xFFFF,
0x02,
Zero,
0x2F
},
Package (0x04)
{
0xFFFF,
0x03,
Zero,
0x29
}
})
Method (_PRT, 0, NotSerialized)
{
If (LNot (PICF))
{
Return (IPC9)
}
If (LEqual (PIOH, One))
{
Return (ISC9)
}
Return (IAC9)
}
}
How can i fix this ?