Jump to content

AppleIntelE1000e.kext for 10.8/10.7/10.6/10.5


  • Please log in to reply
648 replies to this topic

#1
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male

AppleIntelE1000e.kext 32/64 for 10.8,10.7,10.6 & 10.5 (until 2.0.0).

This driver is based on Intel Wired Ethernet for Linux ( e1000.sourceforge.net ) . As it uses ( almost as is ) Linux driver's source code, the license is GPL.

The base Linux driver is e1000e-1.9.5 and works with Intel PCI Express ethernet chips like 82578 (P55/H55) and 82579 (P67/H67).
I tested 82573, 82574L, 82578, 82579 only as I do not have other NICs.

82575/82578/82580 based NIC needs another one - AppleIGB.kext.

List of the IDs supported by original driver:

0x105E,0x105F,0x1060,0x10D9,0x10DA,0x10A4,0x10D5,0x10A5,0x10BC,0x107D,
0x107E,0x107F,0x10B9,0x108B,0x108C,0x109A,0x10D3,0x10F6,0x150C,0x1096,
0x1098,0x10BA,0x10BB,0x1501,0x1049,0x104A,0x104B,0x104C,0x10C4,0x10C5,
0x104D,0x10BF,0x10F5,0x10CB,0x10BD,0x10E5,0x294C,0x10C0,0x10C3,0x10C2,
0x10CC,0x10CD,0x10CE,0x10DE,0x10DF,0x10EA,0x10EB,0x10EF,0x10F0,
0x1502,0x1503,0x153a,0x153b,0x1559,0x155a,

0x15a0,0x15a1,0x15a2,0x15a3,0x156f,0x1570

0x104B and 0x10F6 are supported by Apple's Intel82574L.kext ( so removed from this driver's Info.plist ).

Availabie at: sourceforge .
 

2014/6/26

Updated to 3.0.1

It seems i219 support is added.

 

2014/6/7

Updated to 3.0.4.1b. 

A few tweaks to reduce mbuf leaks.

 

2014/5/18

Updated to 3.0.4.1a. 

Added the hardware ID values which I forgot to add in 3.0.4.1 ( 0x15a0,0x15a1,0x15a2,0x15a3 )

Stopped allocating  mbufs  for receive buffers.

 

 

2014/3/9

Updated to 3.0.4.1.

 

2014/2/15

Updated to 3.0.4.

 

2013/9/25

Disabled  UDP csum as it does work in 10.8.5 (2.5.4d).

 

2013/9/10

Auto-negotiation worked for 1Gb link only - hopefully fixed (2.5.4c).
 

2013/9/9

TSO fixed and enabled.

Model names are now shown correctly in Network Utility.app .

The version string is "2.5.4b".

 

2013/9/6

Updated to 2.5.4.

This version support IPv6 checksum and TSO, allows manual speed/duplex settings.
- edit:  as a problem was found, TSO is disabled. 
 

2013/8/20

Output stall fixed.

 

2013/06/30
Updated to 2.4.14.

2013/04/12
Updated to 2.3.2.

2013/01/21
Updated to 2.2.14.

2012/09/17
Incorporated 2.1.7.
RX checksum is enabled again.

2012/09/08
Fixed Mountain lion issues.
10.5 binary is no longer included.

2012/5/19
Code base updated to 2.0.0.
VLAN works.

2012/4/30
Code base updated to 1.11.3.
Suppressed TxHung message.

2012/4/14
Code base updated to 1.10.6.
I hope jumbo frame works again.


2012/1/1
Code base updated to 1.9.5

2011/9/27
Code base updated to 1.6.2.

2011/6/19
Code base updated to 1.3.17.



#2
Dreamwatcher

Dreamwatcher

    InsanelyMac Protégé

  • Members
  • PipPip
  • 61 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.
Posted Image

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)


#3
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male
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 ?

#4
Dreamwatcher

Dreamwatcher

    InsanelyMac Protégé

  • Members
  • PipPip
  • 61 posts
thaks reply.

after i checked router setting (auto-negotiation or 100 mbps full duplex) , power on/off and realloacte ip address to nic in XP x64, it's fine worked :rolleyes:

my kext is also in /S/L/E/IONeworkingFamily.kext/Contents/PlugIns.

#5
wayover

wayover

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts
this driver also not worked in parallels or vmware with bridged interface settings (

#6
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male

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.

#7
wayover

wayover

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts

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

#8
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male

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.

#9
scalar

scalar

    InsanelyMac Protégé

  • Members
  • PipPip
  • 92 posts
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...

#10
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male

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.

#11
scalar

scalar

    InsanelyMac Protégé

  • Members
  • PipPip
  • 92 posts
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?

#12
wayover

wayover

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts

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 (

#13
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male

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.

#14
wayover

wayover

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts

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!

#15
scalar

scalar

    InsanelyMac Protégé

  • Members
  • PipPip
  • 92 posts
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!

#16
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male

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.

#17
Another User

Another User

    InsanelyMac Protégé

  • Members
  • Pip
  • 36 posts
Any updates about the 82575EB?
I've got Intel® Workstation Board S5520SC that is missing only the ethernet part :P

#18
wayover

wayover

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts
tested in 10.6, after wake up from sleep kpAttached File  AppleIntelE1000e_101_kp_after_wakeup.png   71.56KB   211 downloads

#19
scalar

scalar

    InsanelyMac Protégé

  • Members
  • PipPip
  • 92 posts

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>)".)

#20
scalar

scalar

    InsanelyMac Protégé

  • Members
  • PipPip
  • 92 posts
(removed useless attachments)





3 user(s) are reading this topic

0 members, 3 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