Edited by Gringo Vermelho, 06 December 2011 - 04:00 AM.
Original content available @ the Project OSX forums.
How to : set the network adapter to en0 through DSDT edit
Started by Krazubu, Dec 08 2008 11:40 PM
23 replies to this topic
#1
Posted 08 December 2008 - 11:40 PM
.
#2
Posted 14 December 2008 - 07:27 AM
Cool and thanks.
#3
Posted 14 December 2008 - 05:55 PM
Did not work for me (Asus P5k VM built in Gigabit 88E8056 ethernet) - 5 errors "Object does not exist (GP9_)" so does not compile to make aml - maybe I done something wrong!
Attached IOReg, DSDT Fixed, & terminal output. (note 6 warnings don't cause any problems in current DSDT, optimizations increase by 6 but no aml created)
IOReg.png 817.45K
819 downloads
dsdt_fixed.txt 296.24K
428 downloads
Failed_Ethernet_fix_DSDT.rtf 2.21K
275 downloads
#4
Posted 15 December 2008 - 01:01 PM
add GP9_, 1 to
dont forget to the change the field limit (OperationRegion (GPIO, SystemIO, 0x0800, 0x06) ............)
EDIT :
@Krazubu
the network device is now gige@0

but it still in en7
OperationRegion (GPIO, SystemIO, 0x0800, 0x06)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
GO01, 8,
GO02, 8,
GO03, 8,
GO04, 8,
GO05, 8,
GP9_, 1
}
dont forget to the change the field limit (OperationRegion (GPIO, SystemIO, 0x0800, 0x06) ............)
EDIT :
@Krazubu
the network device is now gige@0

but it still in en7
#5
Posted 15 December 2008 - 05:17 PM
@cparm - thanks very much that did the trick.
IOREG does not show anything different to previous (ie no GIGE@0) but did compile and enable removal of patched IONetworkingFamily.kext from Extra>Extensions and ethernet works fine. In system profiler shows ethernet en0.
Tried addition in both GIGE section & P0P9 section - no difference.
This what I have currently working:
IOREG does not show anything different to previous (ie no GIGE@0) but did compile and enable removal of patched IONetworkingFamily.kext from Extra>Extensions and ethernet works fine. In system profiler shows ethernet en0.
Tried addition in both GIGE section & P0P9 section - no difference.
This what I have currently working:
Quote
Device (GIGE)
{
Name (_ADR, 0x00)
OperationRegion (GPIO, SystemIO, 0x0800, 0x06)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
GO01, 8,
GO02, 8,
GO03, 8,
GO04, 8,
GO05, 8,
GP9_, 1
}
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Method (EWOL, 1, NotSerialized)
{
If (LEqual (Arg0, 0x01))
{
Or (GP9, 0x01, GP9)
}
Else
{
And (GP9, 0x00, GP9)
}
If (LEqual (Arg0, GP9))
{
Return (0x00)
}
Else
{
Return (0x01)
}
}
}
}
{
Name (_ADR, 0x00)
OperationRegion (GPIO, SystemIO, 0x0800, 0x06)
Field (GPIO, ByteAcc, NoLock, Preserve)
{
GO01, 8,
GO02, 8,
GO03, 8,
GO04, 8,
GO05, 8,
GP9_, 1
}
Name (_PRW, Package (0x02)
{
0x09,
0x03
})
Method (EWOL, 1, NotSerialized)
{
If (LEqual (Arg0, 0x01))
{
Or (GP9, 0x01, GP9)
}
Else
{
And (GP9, 0x00, GP9)
}
If (LEqual (Arg0, GP9))
{
Return (0x00)
}
Else
{
Return (0x01)
}
}
}
}
#6
Posted 16 December 2008 - 02:37 PM
@DB1
I don't get your problem, the added data doesn't contain any GP9_ device, it's GP9 and it's not the same thing. So in the worst case the compiler would complain about GP9. However cparm is right, the object has to be added because it's absent from your DSDT, but I'd better add GP9 and not GP9_
It seems it's running fine for you now tho, then I'd say just don't touch it lol.
I already had the GP9 object in my DSDT, probably because I have a close NIC.
@cparm
It seems you did the stuff properly, but looking at your dev ID, you seem to have a realtek network adapter. Maybe that just doesn't work with it or needs different values in the DSDT. I don't know if there is any mac with a realtek NIC. If there is I'd need the DSDT and an IOReg from it to figure and extract this data.
Everything is running smooth here, ethernet is fixed to en0, and it survived to the update to 10.5.6 which installed a new IONetworkingFamily.kext
I don't get your problem, the added data doesn't contain any GP9_ device, it's GP9 and it's not the same thing. So in the worst case the compiler would complain about GP9. However cparm is right, the object has to be added because it's absent from your DSDT, but I'd better add GP9 and not GP9_
It seems it's running fine for you now tho, then I'd say just don't touch it lol.
I already had the GP9 object in my DSDT, probably because I have a close NIC.
@cparm
It seems you did the stuff properly, but looking at your dev ID, you seem to have a realtek network adapter. Maybe that just doesn't work with it or needs different values in the DSDT. I don't know if there is any mac with a realtek NIC. If there is I'd need the DSDT and an IOReg from it to figure and extract this data.
Everything is running smooth here, ethernet is fixed to en0, and it survived to the update to 10.5.6 which installed a new IONetworkingFamily.kext
#7
Posted 17 December 2008 - 12:15 AM
@Krazubu
Problem was in my first post (i.e. did not have the text in red (second post) in original DSDT, therefore no GP9 object), I added it as given by @cparm and it works. Have since changed from GP9_ to GP9. Does not show as GIGE in IOReg (not an issue because it just works), is ethernet en0 in there and profiler.
Working fine with 10.5.6
Thanks both.
Problem was in my first post (i.e. did not have the text in red (second post) in original DSDT, therefore no GP9 object), I added it as given by @cparm and it works. Have since changed from GP9_ to GP9. Does not show as GIGE in IOReg (not an issue because it just works), is ethernet en0 in there and profiler.
Working fine with 10.5.6
Thanks both.
#8
Posted 20 December 2008 - 06:24 PM
Krazubu, on Dec 16 2008, 03:37 PM, said:
@cparm
It seems you did the stuff properly, but looking at your dev ID, you seem to have a realtek network adapter. Maybe that just doesn't work with it or needs different values in the DSDT. I don't know if there is any mac with a realtek NIC. If there is I'd need the DSDT and an IOReg from it to figure and extract this data.
Everything is running smooth here, ethernet is fixed to en0, and it survived to the update to 10.5.6 which installed a new IONetworkingFamily.kext
It seems you did the stuff properly, but looking at your dev ID, you seem to have a realtek network adapter. Maybe that just doesn't work with it or needs different values in the DSDT. I don't know if there is any mac with a realtek NIC. If there is I'd need the DSDT and an IOReg from it to figure and extract this data.
Everything is running smooth here, ethernet is fixed to en0, and it survived to the update to 10.5.6 which installed a new IONetworkingFamily.kext
here is my dsdt and ioreg dump
#9
Posted 26 December 2008 - 10:56 PM
P5K-E/WIFI-AP
Only thing changed was ioreg -lw0 reports GIGE@0 instead of ethernet@0, but adapter still doesn't show as 'built-in' in 'system preferences'
Nothing changed really with this patch, still need to edit the yukon2 kext for the device-id "LegacyYukon2.kext plist injector" like you noted in the beginning of this thread...
also needed to use the _GP9 edit otherwise IASL compiler error
answer must be somewhere in this DSDT stuff, thanks anyway
Only thing changed was ioreg -lw0 reports GIGE@0 instead of ethernet@0, but adapter still doesn't show as 'built-in' in 'system preferences'
Nothing changed really with this patch, still need to edit the yukon2 kext for the device-id "LegacyYukon2.kext plist injector" like you noted in the beginning of this thread...
also needed to use the _GP9 edit otherwise IASL compiler error
answer must be somewhere in this DSDT stuff, thanks anyway
#10
Posted 19 March 2009 - 12:24 AM
Krazubu, on Dec 8 2008, 09:40 PM, said:
.
I used google cached version of the first post and was able to apply the fix on ASUS P5Q-E with 88E8056 in the same location (P0P9@1C,5).
I had the same problem as DB1 and had to add _GP9 (thanks cparm). Didn't take the time to read the rest because I was too excited so I'll try taking the underscore out later. But it works as it is and is recognized as GIGE@0 in ioreg.
P5Q-E has two LAN ports, other one is 88E8001, using skge.kext. I was using that as internal en0 before.
Something really nice happened: Sticking this in the DSDT, disabling the 88E8001 and deleting skge.kext somehow got rid of all the 'Family Specific Matching Fails' messages I was seeing on bootup, for (I think) every single device on the motherboard. poof, gone, almost cut my boot time in half.
I was never able to get 88E8056 to work 100% as en0 with just a device-property string before (Platform UUID and other errors) and had to use more patches or the 88E8001. But now it works.
Another thing that puzzles me here is that you say the 88E8056 can work with vanilla IONetworkingFamily.kext - but how is that possible when there is no entry for it in the Yukon2 plist? Is that why you deleted your post?
880E56.png 205.03K
312 downloads
#11
Posted 08 May 2009 - 12:09 PM
Can anyone else re-post what have been written by the op in the first post? or its not worth it? The google cache version has been updated with the deleted post :S
I'd also like to get rid of the UUID.kext and the only way to do this would be to have the ethernet detected as built-in, afaik.
Thanks.
@Beerkex'd: When you say you disabled the 88E8001 aka secondary onboard nic, did you do it through the bios or through some DSDT hacking?
I'd also like to get rid of the UUID.kext and the only way to do this would be to have the ethernet detected as built-in, afaik.
Thanks.
Beerkex'd, on Mar 19 2009, 12:24 AM, said:
Something really nice happened: Sticking this in the DSDT, disabling the 88E8001 and deleting skge.kext somehow got rid of all the 'Family Specific Matching Fails' messages I was seeing on bootup, for (I think) every single device on the motherboard. poof, gone, almost cut my boot time in half.
#12
Posted 08 May 2009 - 02:21 PM
It's permanently disabled in the BIOS. I don't need two LAN ports and I've found the 88E8056 to be more compatible.
---
This fixes the famous UUID 35 error - using only a legacy kext and Time Machine fix via Device Properties string doesn't.
Now I can boot a retail install DVD with my Chameleon 2.0 boot CD with the 88E08056 injected via Device Properties and a patched AppleYukon2.kext in /extra, so it's recognized as en0 and internal from the get go, eliminating the issues I talked about above.
---
This fixes the famous UUID 35 error - using only a legacy kext and Time Machine fix via Device Properties string doesn't.
Now I can boot a retail install DVD with my Chameleon 2.0 boot CD with the 88E08056 injected via Device Properties and a patched AppleYukon2.kext in /extra, so it's recognized as en0 and internal from the get go, eliminating the issues I talked about above.
#13
Posted 08 May 2009 - 03:05 PM
Hey, was interested, but first post is gone. It's just me or things disappear?
#14
Posted 09 May 2009 - 03:36 AM
I copied it before it disappeared in the void but then I lost it in a freak hibernate file accident.
Combine what you can find in this thread with what you can find in koalala's ACPIPatcher thread and you're more than halfway there.
Start by extracting and decompiling your DSDT so that you can examine it.
Combine what you can find in this thread with what you can find in koalala's ACPIPatcher thread and you're more than halfway there.
Start by extracting and decompiling your DSDT so that you can examine it.
#15
Posted 28 July 2009 - 06:26 PM
ApexDE, on Jul 28 2009, 07:48 PM, said:
I stumbled over this thread in need to fix a UUID Error. Someone gave me a entry for the dsdt_fixed.txt. But i don't know what do adapt for my setup.
I don't understand your question. Just add this code to your DSDT.dsl and compile it.
This will not fix the UUID error.
Adding an ethernet entry in the boot.plist will reduce the number of times the error message is given, and SOMETIMES get rid of it.
The only way to completely get rid of the UUID error is UUID.kext
Maybe in the future Chameleon or BootThink will support UUID injection instead of using this kext.
#16
Posted 28 July 2009 - 06:32 PM
I need to adapt that DSDT Entry for MY setup. I thought figured out "where" my NIC is located (HUB0@1E) and made the following entry to the DSDT, but it doesn't work, the NIC is not listed as Built-In in Systemprofiler, hence no UUID is generated.
Anyone knows what i am doing wrong? Mybe it should be Device (ethernet)? I have attached another Screenshot.
Thanks!
Device (HUB0)
{
Name (_ADR, 0x001E0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"built-in",
Buffer (0x01)
{
0x01
},
"device_type",
Buffer (0x09)
{
"ethernet"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Anyone knows what i am doing wrong? Mybe it should be Device (ethernet)? I have attached another Screenshot.
Thanks!
Attached Files
#17
Posted 29 July 2009 - 03:55 PM
I guess i got it right now:
I am sure above entry MUST be right, but it doesn't work
As far as i understand it, my Ethernet NIC has to be created as a "sub"device under HUB0? HUB0 is a PCI Bridge to which my PCI NIC is connected. My IORegistryexplorer output is in the prevous post.
ANY comments would be helpful, thanks guys.
Device (HUB0)
{
Name (_ADR, 0x001E0000)
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}
//NIC RTL 8139 on PCI Slot start
Device (LAN)
{
Name (_ADR, 0x01)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"built-in",
Buffer (0x01)
{
0x01
},
"device_type",
Buffer (0x09)
{
"ethernet"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
//NIC RTL 8139 on PCI Slot end
......
......
......
I am sure above entry MUST be right, but it doesn't work
As far as i understand it, my Ethernet NIC has to be created as a "sub"device under HUB0? HUB0 is a PCI Bridge to which my PCI NIC is connected. My IORegistryexplorer output is in the prevous post.
ANY comments would be helpful, thanks guys.
#18
Posted 19 August 2009 - 02:02 AM
Did you added the section that starts with "Method (DTGP, 5, NotSerialized)" ?
Your device should appear as LAN0@0 instead of ethernet.
Your device should appear as LAN0@0 instead of ethernet.
#19
Posted 19 August 2009 - 08:40 AM
Yes, i added that Method. It appears as LAN, i just changed Device ethernet to LAN before posting. Only problem is that the built-in flag just is not set
#20
Posted 19 August 2009 - 09:44 PM
ApexDE, mine is also not listed as Built-In in Systemprofiler, but at NetworkInterfaces.plist it's show as
<string>en0</string> <key>IOBuiltin</key> <true/>
0 user(s) are reading this topic
0 members, 0 guests, 0 anonymous users



Sign In
Create Account










