08-31-2009, 01:59 PM
|
Panther
|
|
Join Date: Aug 2009
Posts: 148
|
|
I've my onboard 8111 working by using dsdt. No kext needed. You will need to know where to inject the code by looking at IOreg dump.
Code:
| | +-o P0P4@1C <class IOPCIDevice, id 0x10000018e, registered, matched,$
| | | +-o IOPCI2PCIBridge <class IOPCI2PCIBridge, id 0x1000001cd, regist$
| | | +-o JMB0@0 <class IOPCIDevice, id 0x10000018f, registered, match$
| | | +-o JMicronATAPCIRoot <class JMicronATAPCIRoot, id 0x1000001e6$
| | | +-o IDE0@0 <class JMicronATAChannel, id 0x100000190, registe$
| | | | +-o JMicronATA <class JMicronATA, id 0x1000001f1, register$
| | | | +-o ATADeviceNub@0 <class ATADeviceNub, id 0x1000001ff, $
| | | | | +-o IOATAPIProtocolTransport <class IOATAPIProtocolTra$
| | | | | +-o IOSCSIPeripheralDeviceNub <class IOSCSIPeriphera$
| | | | | +-o IOSCSIPeripheralDeviceType05 <class IOSCSIPeri$
| | | | | +-o IODVDServices <class IODVDServices, id 0x100$
| | | | | +-o IODVDBlockStorageDriver <class IODVDBlockS$
| | | | | +-o SCSITaskUserClientIniter <class SCSITaskUs$
| | | | +-o ATADeviceNub@1 <class ATADeviceNub, id 0x100000201, $
| | | | +-o IOATAPIProtocolTransport <class IOATAPIProtocolTra$
| | | | +-o IOSCSIPeripheralDeviceNub <class IOSCSIPeriphera$
| | | | +-o IOSCSIPeripheralDeviceType05 <class IOSCSIPeri$
| | | | +-o IODVDServices <class IODVDServices, id 0x100$
| | | | +-o IODVDBlockStorageDriver <class IODVDBlockS$
| | | +-o IDE1@1 <class JMicronATAChannel, id 0x100000193, registe$
| | | +-o JMicronATA <class JMicronATA, id 0x1000001f2, register$
| | +-o P0P9@1C,5 <class IOPCIDevice, id 0x1000001a1, registered, matche$
| | | +-o IOPCI2PCIBridge <class IOPCI2PCIBridge, id 0x1000001e2, regist$
| | | +-o LAN@0 <class IOPCIDevice, id 0x1000001a2, registered, matche$
| | | +-o AppleRTL8169Ethernet <class AppleRTL8169Ethernet, id 0x100$
| | | +-o IOEthernetInterface <class IOEthernetInterface, id 0x100$
| | | +-o IONetworkStack <class IONetworkStack, id 0x1000002d5, $
| | | +-o IONetworkStackUserClient <class IONetworkStackUserCl$
Above is a section of my ioreg output. Notice that my ethernet is at location P0P9. Now open up dsdt.dsl and search for P0P9 (think thats a zero instead of an "OH"). Insert the following code under it:
Code:
Device (LAN)
{
Name (_ADR, Zero)
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"built-in",
Buffer (One)
{
0x01
},
"device_type",
Buffer (0x09)
{
"ethernet"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
My resulting P0P9 looks like this:
Code:
Device (P0P9)
{
Name (_ADR, 0x001C0005)
Method (_PRW, 0, NotSerialized)
{
Return (GPRW (0x09, 0x04))
}
Method (_PRT, 0, NotSerialized)
{
If (PICM)
{
Return (AR09)
}
Return (PR09)
}
Device (LAN)
{
Name (_ADR, Zero)
Name (_PRW, Package (0x02)
{
0x0B,
0x04
})
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"built-in",
Buffer (One)
{
0x01
},
"device_type",
Buffer (0x09)
{
"ethernet"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
Core2Quad / MSI P45 Neo2-FR / HD4870 / Snow Leopard
|