Jump to content

AppleIntelE1000.kext


  • Please log in to reply
19 replies to this topic

#1
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male
I ported the Intel e1000 Linux driver (e1000.sourceforge.net) to Mac OS 10.6/10.7 (32/64).
The base version is 8.0.35.
This is PCI NIC driver for 8254x ( PCIe driver is AppleIntelE1000e.kext, which I posted in this forum )

Supported IDs are:

0x1000,0x1001,0x1004,0x1008,0x1009,0x100C,0x100D,0x100E,0x100F
0x1010,0x1011,0x1012,0x1013,0x1014,0x1015,0x1016,0x1017,0x1018,
0x1019,0x101A,0x101D,0x101E,
0x1026,0x1027,0x1028
0x1075,0x1076,0x1077,0x1078,0x1079,0x107A,0x107B,0x107C
0x108A
0x1099
0x10B5


My NIC has 0x107c.

Download the driver here

05/30/2012
Last release. Enabled VLAN. e1000 project will no more update the driver.

03/29/2010
initial release.

The license should be GPL, though I do not include the text.

Are there still users of those hardware ?

#2
zascok

zascok

    InsanelyMac Protégé

  • Members
  • Pip
  • 20 posts
thank you hnak!!!

my Intel PRO/1000 GT Desktop Adapter PWLA8391GT (82541PI, ID 107c) works now!

#3
og-phantom

og-phantom

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 152 posts
  • Gender:Male
+1! I had to disable my built in ethernet (RTL8168) due to frame errors (alot of them). I had the same card as zascok in an old build (old P4 system) and it works! Intel PRO/1000 GT Desktop Adapter PWLA8391GT. Thank you so much!

#4
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male
As they declared termination of the development for these hardware, I ported the last code and enabled VLAN.
I am wondering if the PCI hardware is still i use...

#5
scotia

scotia

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
Hi hnak,

great work. Can't believe Apple dropped support for this card themselves. Anyhoo...

Are you still developing this driver for OSX even though you mention the Linux team isn't? If so, I believe there is an issue with jumbo frames:

My hardware:
Mobo: GA-X58A-UD3R
NIC: ethernet:

Type: Ethernet Controller
Bus: PCI
Vendor ID: 0x8086
Device ID: 0x10b9
Subsystem Vendor ID: 0x8086
Subsystem ID: 0x1083
Revision ID: 0x0006
Link Width: x1
BSD name: en0
Kext name: AppleIntelE1000e.kext
Location: /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/AppleIntelE1000e.kext
Version: 2.0.0

When changing to 9000 byte frames, the first 30 or so 8000 byte pings (with DF set) work fine, then I lose a few, then I get one or two DUP! (duplicate) messages, and from then on I get about 1 ping in 1000 return.
When I drop back to 1500 byte frames (and reduce ping size accordingly) it all works again.
I also tried 4K frames and got the same issue as 9K.

Could it be a buffer problem?

Having said all this though, I just noticed my card is NOT in your list above. Perhaps that's the issue.

Thanks
Scott

#6
rafirafi

rafirafi

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
Developement is active, see :
http://osx86drivers.sourceforge.net/

#7
scotia

scotia

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
Cheers Rafirafi,

I'll pose the question on SF.

Scott

#8
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male
Device ID 0x10b9 is a PCI Express NIC. It required AppleIntelE1000e.kext, not this one.

#9
scotia

scotia

    InsanelyMac Protégé

  • Members
  • Pip
  • 14 posts
Thanks for that. In that case, the question still stands (I am running the E1000e from ######), but I'm on the wrong forum. I'll chime in on the right thread from now on :)

#10
rafirafi

rafirafi

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
Hello hnak,

I hope you're still reading this thread.

This year I've been giving puredarwin a try, an something that's laking is driver support as puredarwin cannot use apples' proprietary drivers.
Puredarwin is actually based on darwin 9, so leopard driver are compatibles.

Actually your AppleIntelE1000.kext is not working as it. If your ok to continue to support leopard I propose you a patch.
It's based on the svn revision 45.
It does 2 things :
- remove flashPCIAddress as it's not used in the driver ( I guess it's from E1000E).
- change allocation of IOBufferMemoryDescriptor from inTaskWithPhysicalMask to withOptions method for tx_ring and rx_ring.

I don't really understand why this doesn't work with inTaskWithPhysicalMask, normally your way is the recommended way but it fails on leopard.

The patch :
http://codetidy.com/paste/raw/3999
or here:Attached File  AppleIntelE1000-45.p1.patch.zip   1.03KB   30 downloads


If you're not interested by theses changes just tell me.

#11
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male
I have just committed your changes.
However, as I no longer have working Leopard, I did not do any testing.

#12
rafirafi

rafirafi

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
Thanks.
Is sourceforge.net your primary repo ?
If so I will compile from source when it's updated and I'll give you feedback here.

PS : btw I used your kompat.h for a pcnet32 driver.
You can take a look here if you're interested, just don't look the promiscious/multicast method it's garbage for now.
http://code.google.c...for-puredarwin/

#13
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male
Yes, it is the repo I use for every driver I write here.
I haven't seen real pcnet cards for long. You just write the driver for qemu ?

#14
rafirafi

rafirafi

    InsanelyMac Protégé

  • Members
  • PipPip
  • 88 posts
I have to use VM to run puredarwin, this version based on 10.5.8 source is 100% open-source and support only ATA disk which I don't have (USB work only with ACPI platform expert and SATA driver are not open-source).

http://smuckola.org/...n_9L30.qcow2.xz

This is the first version of puredarwin with networking but there was only one (open source) network driver working : RTL8139 and it's qemu only.
I tried to hack your E1000 kext but I didn't know much about network drivers at this time...
As pcnet is supported by qemu and virtualbox I first ported the myxomycota OS pcnet driver as it's a very simple driver it was very fast to port. Then I searched an old version of pcnet for linux (before the switch to their new network api) and ported it (sort of).
Well at this time I come back to E1000 and make it works in puredarwin in like 5min which is good because it's supported by qemu, vbox and vmware.

I also find out there is a very old PCNet.kext from maxuss (!!!) but he never released the source.

#15
yanooshe

yanooshe

    InsanelyMac Protégé

  • Members
  • Pip
  • 12 posts
  • Gender:Male
  • Location:Warsaw, Poland
The link on mediafire is broken.

#16
hnak

hnak

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 303 posts
  • Gender:Male

The link on mediafire is broken.

It seems mediafire removed the files. They sometimes automatically remove files because of "regulation violation".
It seems violating their regulation to upload files which are written and built by the user.
I rewrote the top post to refer the sourceforge.net.

#17
marmotta

marmotta

    InsanelyMac Protégé

  • Members
  • PipPip
  • 66 posts

I have a Intel pro 1000GT (8086:1076) on Mavericks.

 

AppleIntelE1000 work good but broke the wake from sleep. Any chance to fix it?

 

I have also tried AppleIntel8254XEthernet and Small Tree.... with no success.



#18
macfriend123

macfriend123

    InsanelyMac Protégé

  • Members
  • Pip
  • 1 posts
  • Gender:Male
  • Location:Bremen, Germany

Me too :( .

I have 04:00.0 Ethernet controller [0200]: Intel Corporation 82541PI Gigabit Ethernet Controller [8086:107c] (rev 05)

 

running fine under Mavericks 10.9.2. But upon wake from sleep, the system powers up, but the screen stays black (does not get sync).



#19
lucke

lucke

    InsanelyMac Protégé

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
  • Location:Italia

Help hnak!!! Same issue here!!!



#20
JCsHands

JCsHands

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 101 posts
  • Gender:Male

I am trying to use this kext on Yosemite, the kext loads but the device is listed as "unknown" in the PCI section of System Information. It is also listed in the Network Preferences, but doesn't detect that the cable is connected. Has anyone had any luck with this kext on Yosemite?

 

 Intel Corporation 82541PI Gigabit Ethernet Controller [8086:107c] (rev 05)







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