View Single Post
 
Old 08-31-2009, 01:59 PM
mormegil mormegil is offline
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
Reply With Quote