Jump to content

How to : set the network adapter to en0 through DSDT edit


  • Please log in to reply
23 replies to this topic

#1
Krazubu

Krazubu

    InsanelyMac Legend

  • Retired
  • 874 posts
.

Edited by Gringo Vermelho, 06 December 2011 - 04:00 AM.
Original content available @ the Project OSX forums.


#2
macgirl

macgirl

    Stargate's Pharaoh

  • Retired
  • 7,612 posts
  • Gender:Female
  • Location:Mexico City
  • Interests:Techie gadgets
Cool and thanks.

#3
DB1

DB1

    InsanelyMac Sage

  • Donators
  • 407 posts
Krazubu

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)

Attached File  IOReg.png   817.45KB   829 downloads

Attached File  dsdt_fixed.txt   296.24KB   448 downloads

Attached File  Failed_Ethernet_fix_DSDT.rtf   2.21KB   293 downloads

#4
cparm

cparm

    InsanelyMac Legend

  • Retired
  • 997 posts
  • Gender:Male
add GP9_, 1 to

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

Posted Image

but it still in en7

Posted Image

#5
DB1

DB1

    InsanelyMac Sage

  • Donators
  • 407 posts
@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:

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)
}
}
}
}



#6
Krazubu

Krazubu

    InsanelyMac Legend

  • Retired
  • 874 posts
@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

#7
DB1

DB1

    InsanelyMac Sage

  • Donators
  • 407 posts
@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.

#8
cparm

cparm

    InsanelyMac Legend

  • Retired
  • 997 posts
  • Gender:Male

@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


here is my dsdt and ioreg dump

#9
walterav

walterav

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 209 posts
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 :huh:

#10
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil

.

wow. Thanks Krazubu

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?
Attached File  880E56.png   205.03KB   313 downloads

#11
Walgus

Walgus

    InsanelyMac Protégé

  • Members
  • Pip
  • 33 posts
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.

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.

@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?

#12
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
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.

#13
downlord

downlord

    InsanelyMac Greek

  • Members
  • PipPipPip
  • 143 posts
  • Gender:Male
  • Location:Lisboa
Hey, was interested, but first post is gone. It's just me or things disappear? :huh:

#14
Beerkex'd

Beerkex'd

    Content Provider

  • Members
  • PipPipPipPipPipPipPipPipPipPipPip
  • 3,000 posts
  • Gender:Male
  • Location:Belo Horizonte - Brazil
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.

#15
Dr. Hurt

Dr. Hurt

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,485 posts
  • Gender:Male
  • Location:Cairo, Egypt and NYC, USA
  • Interests:Wandering around on the internet!! Politics, Sci/Tech, Medicine.

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
ApexDE

ApexDE

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 217 posts
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.


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
ApexDE

ApexDE

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 217 posts
I guess i got it right now:

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 :whistle:

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
KariNeko

KariNeko

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 232 posts
  • Gender:Female
  • Location:Buenos Aires, Argentina
Did you added the section that starts with "Method (DTGP, 5, NotSerialized)" ?
Your device should appear as LAN0@0 instead of ethernet.

#19
ApexDE

ApexDE

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 217 posts
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 :wacko:

#20
KariNeko

KariNeko

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 232 posts
  • Gender:Female
  • Location:Buenos Aires, Argentina
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

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy