Popular Post hnak Posted January 5, 2010 Popular Post Share Posted January 5, 2010 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,0x15700x104B 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/30Updated to 2.4.14. 2013/04/12Updated to 2.3.2.2013/01/21Updated to 2.2.14.2012/09/17Incorporated 2.1.7.RX checksum is enabled again.2012/09/08Fixed Mountain lion issues.10.5 binary is no longer included.2012/5/19Code base updated to 2.0.0.VLAN works.2012/4/30Code base updated to 1.11.3.Suppressed TxHung message.2012/4/14Code base updated to 1.10.6.I hope jumbo frame works again.2012/1/1Code base updated to 1.9.52011/9/27Code base updated to 1.6.2.2011/6/19Code base updated to 1.3.17. 22 Link to comment Share on other sites More sharing options...
Dreamwatcher Posted January 6, 2010 Share Posted January 6, 2010 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. 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 More sharing options...
hnak Posted January 6, 2010 Author Share Posted January 6, 2010 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 More sharing options...
Dreamwatcher Posted January 6, 2010 Share Posted January 6, 2010 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 my kext is also in /S/L/E/IONeworkingFamily.kext/Contents/PlugIns. Link to comment Share on other sites More sharing options...
wayover Posted January 7, 2010 Share Posted January 7, 2010 this driver also not worked in parallels or vmware with bridged interface settings ( Link to comment Share on other sites More sharing options...
hnak Posted January 7, 2010 Author Share Posted January 7, 2010 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 More sharing options...
wayover Posted January 7, 2010 Share Posted January 7, 2010 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 More sharing options...
hnak Posted January 7, 2010 Author Share Posted January 7, 2010 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 More sharing options...
scalar Posted January 8, 2010 Share Posted January 8, 2010 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 More sharing options...
hnak Posted January 9, 2010 Author Share Posted January 9, 2010 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 More sharing options...
scalar Posted January 9, 2010 Share Posted January 9, 2010 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? Link to comment Share on other sites More sharing options...
wayover Posted January 9, 2010 Share Posted January 9, 2010 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 More sharing options...
hnak Posted January 10, 2010 Author Share Posted January 10, 2010 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 More sharing options...
wayover Posted January 10, 2010 Share Posted January 10, 2010 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 More sharing options...
scalar Posted January 10, 2010 Share Posted January 10, 2010 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 More sharing options...
hnak Posted January 11, 2010 Author Share Posted January 11, 2010 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 More sharing options...
Another User Posted January 11, 2010 Share Posted January 11, 2010 Any updates about the 82575EB? I've got Intel® Workstation Board S5520SC that is missing only the ethernet part Link to comment Share on other sites More sharing options...
wayover Posted January 11, 2010 Share Posted January 11, 2010 tested in 10.6, after wake up from sleep kp Link to comment Share on other sites More sharing options...
scalar Posted January 11, 2010 Share Posted January 11, 2010 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 More sharing options...
scalar Posted January 11, 2010 Share Posted January 11, 2010 (removed useless attachments) Link to comment Share on other sites More sharing options...
scalar Posted January 11, 2010 Share Posted January 11, 2010 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 More sharing options...
hnak Posted January 12, 2010 Author Share Posted January 12, 2010 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 More sharing options...
scalar Posted January 12, 2010 Share Posted January 12, 2010 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 More sharing options...
hnak Posted January 13, 2010 Author Share Posted January 13, 2010 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 More sharing options...
wayover Posted January 13, 2010 Share Posted January 13, 2010 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 More sharing options...
Recommended Posts