Jump to content

AppleIntelE1000e.kext for 10.8/10.7/10.6/10.5


hnak
 Share

751 posts in this topic

Recommended Posts

hi hnak, thanks post!

 

i tried to intel 82578DC(VEN_ID 8086, DEV_ID 10f0) of DFI P55-T36. but not runned on both 32/64bit.

 

error is "Self-Assigned IP". so ip address is invalid.

 

screen shot is below.

img20100106162544.png

 

dmesg is below.

10/01/06 16:12:22	kernel	DSMOS has arrived
10/01/06 16:12:22	kernel	AppleIntelE1000e: Ethernet address 00:01:29:00:ef:db
10/01/06 16:12:22	kernel	enable success.
10/01/06 16:12:22	kernel	AppleTyMCEDriver::start coreVIDPID = 0xffffffff Number of packages = 1 Number of cpus = 8 memory monitor trough PCI
10/01/06 16:12:25	com.apple.usbmuxd[28]	usbmuxd-176 built for iTunesNineDot on Sep 24 2009 at 16:11:05, running 32 bit
10/01/06 16:12:25	kernel	AppleIntelE1000e(Info): Link is Up 100 Mbps Full Duplex, Flow Control: None

 

my pc configration is below.

CPU  Intel Xeon L3426 1.87GHz 
M/B  DFI P55-T36  BIOS 2009/11/02
RAM  SanMax SMD-4G68HP-13H 4GB x 2 	DDR3-1333(PC3-10600) CL9 Hynix
HDD  WesternDegital WD10EADS-00M2B0 	
ODD  Optiarc AD-7560S/BK Super Multi DVD
VGA  ZOTAC GeForce 210 Synergy Edition DDR2 512MB 	
Sound  Realtek ALC885 
LAN  Intel 82578DC
Other  Power eSATA (eSATA & USB Combo)
Power  AC-DC 90W
Case  PROSIDE QPIT C800 (W14.5mmxH22.5mmxD23.0mm) 
Model  MacPro4,1

 

deviceid list (lspci) is below.

00:00.0 Host bridge [0600]: Intel Corporation Unknown device [8086:d130] (rev 11)
00:03.0 PCI bridge [0604]: Intel Corporation Unknown device [8086:d138] (rev 11)
00:08.0 System peripheral [0880]: Intel Corporation Unknown device [8086:d155] (rev 11)
00:08.1 System peripheral [0880]: Intel Corporation Unknown device [8086:d156] (rev 11)
00:08.2 System peripheral [0880]: Intel Corporation Unknown device [8086:d157] (rev 11)
00:08.3 System peripheral [0880]: Intel Corporation Unknown device [8086:d158] (rev 11)
00:10.0 System peripheral [0880]: Intel Corporation Unknown device [8086:d150] (rev 11)
00:10.1 System peripheral [0880]: Intel Corporation Unknown device [8086:d151] (rev 11)
00:19.0 Ethernet controller [0200]: Intel Corporation Unknown device [8086:10f0] (rev 05)
00:1a.0 USB Controller [0c03]: Intel Corporation Unknown device [8086:3b3c] (rev 05)
00:1b.0 Audio device [0403]: Intel Corporation Unknown device [8086:3b56] (rev 05)
00:1d.0 USB Controller [0c03]: Intel Corporation Unknown device [8086:3b34] (rev 05)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev a5)
00:1f.0 ISA bridge [0601]: Intel Corporation Unknown device [8086:3b02] (rev 05)
00:1f.2 SATA controller [0106]: Intel Corporation Unknown device [8086:3b22] (rev 05)
00:1f.3 SMBus [0c05]: Intel Corporation Unknown device [8086:3b30] (rev 05)
01:00.0 VGA compatible controller [0300]: nVidia Corporation Unknown device [10de:0a65] (rev a2)
01:00.1 Audio device [0403]: nVidia Corporation Unknown device [10de:0be3] (rev a1)

Link to comment
Share on other sites

My working MB is Intel DP55WB on which I am writing this now.

The ethernet device is exactly the same.

My driver is in /S/E/IONetworkingFamly.kext/Contents/Plugins/

 

My dmesg is below.

venderid: 0x8086 deviceid: 0x10f0.
Warning - kext com.apple.iokit.CHUDProf has immediate dependencies on both com.apple.kernel* and com.apple.kpi.* components; use only one style.
DSMOS has arrived
AppleIntelE1000e: Ethernet address 00:1c:c0:fa:6c:49
FakeSMC: key not found BEMB, length - 1
MacFUSE: starting (version 2.0.3, Dec 19 2008, 09:57:57)
FakeSMC: key info not found MSDS, length - 6
AppleIntelE1000e(Info): Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX

enable success.
AppleIntelE1000e(Info): Link is Up 1000 Mbps Full Duplex, Flow Control: RX/TX

The link info is different from yours. Do you connect to 100 Mbps switch ?

Link to comment
Share on other sites

this driver also not worked in parallels or vmware with bridged interface settings (

I found some posts about the same issue in the 82566mm-osx topic but no answers. The basic behavior is the same.

Link to comment
Share on other sites

I found some posts about the same issue in the 82566mm-osx topic but no answers. The basic behavior is the same.

 

reasons not known? You are going to continue in this direction? I think Guijin Ding has already dropped the project

Link to comment
Share on other sites

reasons not known? You are going to continue in this direction? I think Guijin Ding has already dropped the project

At first, I guessed that IOEthernetController::setHardwareAddress() is called when bridged, but it is not called. There are no other entries in Linux driver related to bridging.

Do you know any open source ethernet drivers for darwin which bridge works with ? If any, I will take a look.

Or have you tested with RTL8139 ? It is the only open source ethernet controller from Apple.

Link to comment
Share on other sites

Is it possible to build this for 10.5.8? I've got xcode installed but am not familiar with compiling under OSX enough to track down dependancies that aren't explicitly listed etc. I'd like to see if I can get my Intel 82575EB dual onboard NICs going with something someday...

Link to comment
Share on other sites

Is it possible to build this for 10.5.8? I've got xcode installed but am not familiar with compiling under OSX enough to track down dependancies that aren't explicitly listed etc. I'd like to see if I can get my Intel 82575EB dual onboard NICs going with something someday...

The project file for 10.5 (AppleIntelE1000e-leo) is included in the src.zip. Build kext and let me know if it works.

Link to comment
Share on other sites

At first, I guessed that IOEthernetController::setHardwareAddress() is called when bridged, but it is not called. There are no other entries in Linux driver related to bridging.

Do you know any open source ethernet drivers for darwin which bridge works with ? If any, I will take a look.

Or have you tested with RTL8139 ? It is the only open source ethernet controller from Apple.

 

I tested AppleIntel8255x.kext (Intel100ProVE) with Parallels Desktop works fine in 10.5.8, but in sl apple removed this controllers (

Link to comment
Share on other sites

I tested AppleIntel8255x.kext (Intel100ProVE) with Parallels Desktop works fine in 10.5.8, but in sl apple removed this controllers (

I tested with VirtualBox and found that the driver enters promiscuous mode when bridging is activated. Then I checked the code and found the original code does not implement it correctly. I have just uploaded 1.0.1 in my first post.

That may be different in Parallels.

 

 

I'm clueless as to the make routine under OSX, I'd be 100% willing if you'd care to add a pointer? Just make <package> from within the project path?

I have never built packages, sorry.

What you have to do is :

1. Double-click AppleIntelE100e-leo.xcodeproj to open in xcode.

2. Use popup on top-left to change target to "Release i386".

3. Build

4. Open terminal.app and change your current folder to [xcodeproject]/build/Release/

5. Type "sudo chown -R root:wheel AppleIntelE1000e.kext" ( you will be asked your password )

6. Type "sudo mv AppleIntelE1000e.kext /System/Library/IONetworkingFamily.kext/Contents/Plugins/"

7. Type "sudo touch /System/Library/Extensions"

8. Reboot.

Link to comment
Share on other sites

I tested with VirtualBox and found that the driver enters promiscuous mode when bridging is activated. Then I checked the code and found the original code does not implement it correctly. I have just uploaded 1.0.1 in my first post.

That may be different in Parallels.

 

Great day! Works with the card 82566DM (8086:104a) in leopard 10.5.8 and Parallels desktop 5. Many thanks for your excellent work!

Link to comment
Share on other sites

Ok still working on trying to get 82575EB (integrated into ESB2 southbridge on Xeons) to work. There are 2 but only 1 is cabled...

 

Compiled via instructions above (easier than I thought) and I noticed that AppleIntelE1000e.kext is dependant on IONetworkingFamily version 1.6. I checked and 1.5 is from 10.5.6, while 10.5.8 has 1.6.1, but 1.6 happens to be the only version that works for me right now with AppleIntel8255x.kext so I do have 1.6 kext for IONetworkingFamily on haned (use it with a scene-sourced AppleIntel8255x.kext for my PCI-based Intel Pro/100 that is my current OSX NIC--more on that below.) In any case I also noticed that it is also dependant on IOPCIFamily version 2.6, but my system has 2.4 so I edited the Info.plist to say 2.4 and 2 new NICs showed up in my networking prefs, but are not working. Still, the kext now loads and I've gotten farther than I did with the 82566 kexts I've tried for my 82575's. Any ideas now...?

 

Since I get random 'freezes' and I've disabled HDAudio and tried both a 9800GTX with gfxstrings and a GTX285 with evga/nvidia drivers I've been suspecting AppleIntel8255x.kext (and it would be nice to use the onboard anyway) so I'd like to keep working on this. Thanks for the help!

Link to comment
Share on other sites

Any ideas now...?

You built 1.0.1 ? There are some fixes in it.

As I don't have 82575, it's impossible to check its behaviour here.

If you manage to make it work by modifying the code, let me know.

Link to comment
Share on other sites

You built 1.0.1 ? There are some fixes in it.

As I don't have 82575, it's impossible to check its behaviour here.

If you manage to make it work by modifying the code, let me know.

 

I think the entry for "80003ES2" is actually the one for the ESB2 southbridge (reads that way and it's alongside the ICH models) but it didn't load when I added my string there initially, though I think that was the IOPCIFamily dependancy so I might move the string back to that key if this winds up working.

 

And then under OSBundleLibraries it has a dependancy on com.apple.iokit.IOPCIFamily version 2.6 (which is from Snow Leopard) and while I changed it to 2.4 and eliminated the dependancy error that was causing the kext to fail on loading, it loads but only shows the MAC addresses for both adaptors and fails DHCP to 'self assigned address'. Ifconfig even sees that one of the 2 adaptors has electrical connection but only shows "media: autoselect <full-duplex> status: inactive" instead of a list of connection states available. (The 2nd adaptor which has no cable attached shows "media: autoselect (<unknown type>)".)

Link to comment
Share on other sites

Still just getting self-assigned IP's going to move onto other things until I hear from you again (hnak & wayover especially.) Maybe Another User can give the kexts I provided a shot too...

 

I'm curious though, the ICH-X entries in the Info.plist, are those device id's for the ICH itself or for the ethernet?

Link to comment
Share on other sites

Well, 82575/82576 ( 0x10a7 ) is not supported by e1000e-1.1.2 of the original Linux project which I based on ( e1000.sourceforge.net ).

You need to build your own driver from Intel's igp-2.1.1 source, which is available from Intel site.

 

I'm curious though, the ICH-X entries in the Info.plist, are those device id's for the ICH itself or for the ethernet?

They are ethernet device IDs ( as far as I can read from the original source ).

 

 

tested in 10.6, after wake up from sleep kp

I added a simple code fragment to enable/disable device in setPowerState ( in 1.0.2), however, as my system cannot sleep for some reasons, I don't think I can do anything further about the issue.

Link to comment
Share on other sites

Thanks for the answers. I had assumed that the ICH keys were also device id's but wanted to make sure that I wasn't making a bad assumption. And I see here what you mean about the separate driver:

Linux* driver for Intel® 82575/6-based network connections using kernel version 2.4.21 through 2.6.x.

 

There are three Linux* Base Drivers for Intel® Gigabit Network Connections.

- e1000e-x.x.x.x.tar.gz supports Intel® 82571/2/3/4 or 82566/7-based PCI-E gigabit network adapters/connections.

- igb-x.x.x.tar.gz supports Intel® 82575/6-based gigabit network connections.

- e1000.x.x.x.tar.gz support all Intel® PCI and PCI-X gigabit network adapters/connections.

 

I'll look into building my own from igb-2.1.1.tar.gz, but I'm rather out of date on my coding skills so that might take a bit to setup. I'm wondering it's time to replace my Pro/100 with something more useful in the meantime since I suspect the kext I've used since 10.5.2 as being unstable in 10.5.8 for me now. Thought about DSDT to resolve this but most of the people I see right now doing that are focusing on 10.6.x.

Link to comment
Share on other sites

I'm wondering it's time to replace my Pro/100 with something more useful in the meantime since I suspect the kext I've used since 10.5.2 as being unstable in 10.5.8 for me now.

If you plan to get a new NIC, Marvell 88E8053 works best within my experience, as it is natively supported by Apple. Realtek 8168/8169 should work with Apple or R1000.kext. Of course, you may try Intel 8257x though they are more expensive.

Link to comment
Share on other sites

I added a simple code fragment to enable/disable device in setPowerState ( in 1.0.2), however, as my system cannot sleep for some reasons, I don't think I can do anything further about the issue.

With this version is the kernel panics when booting the system, before switching to graphics mode

Link to comment
Share on other sites

 Share

×
×
  • Create New...