Jump to content

AppleIGB.kext


hnak
 Share

78 posts in this topic

Recommended Posts

I have just ported Intel igb ethernet driver ( for server adapters), which works with 82575, 82576, 82580, dh89xxcc, i350 and i210, though I have tested with 82580 quad port adapter only - tell me the result if you have different ones.
It supports basic functions only ( for example, no WOL), probably the performance is lower than the Linux version as it does not utilize available sophisticated hardware features.

The latest binary is available at: sourceforge.

 

2014/5/18

.code base updated to 5.2.5.

.Lessen the number of used mbufs.

 

2013/9/25

. code base updated to 5.0.6.

. UDP csum disabled for 10.8.5.

 

2013/8/20

. code base updated to 5.0.5.

 

2013/8/19

. fixed load/unload, jumbo frame

2013/8/16

. fixed VLAN.

2013/8/15

. incorporated 4.3.0.

 

2013/1/26
. incorporated 4.1.2.

2012/11/24
. incorporated 4.0.17.

2012/09/17
. enabled hardware checksum again
2012/09/08
. incorporated 3.4.8.
. VLAN support.
. 10.8 support.
. 10.5 binary is no longer included.

2012/04/21
. baseline to 3.4.7
. input performance improves when packet size < 2048.
3.4.7

2011/12/17.
. updated baseline to 3.3.6
. enabled hardware tx checksum
. added 10.5 driver.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
  • 4 months later...
  • 2 months later...
  • 2 weeks later...

Hello all and great work thus far.

 

I have attempted to install the AppleIGB kext version 3.4.7 on a supermicro Mobo X8DTT-F with the 82576 Intel chipset. The driver works, in that it, I see the interfaces. They will not aquire a DHCP address. I am able to set a static address which will allow me to ping the localhost and static IP. So I imagine the TCP stack is intialized correctly. However I cannot ping any other device on the network including the gateway. So it seems there must be an issue communicating to the hardware.

 

Please let me know what else I can do to help debug this issue or if anyone has seen this and knows of the fix.

Link to comment
Share on other sites

The driver works, in that it, I see the interfaces. They will not aquire a DHCP address. I am able to set a static address which will allow me to ping the localhost and static IP. So I imagine the TCP stack is intialized correctly. However I cannot ping any other device on the network including the gateway. So it seems there must be an issue communicating to the hardware.

Similar things also happened on AppleE1000e, though I cannot reproduce in my environment. It is basically impossible to solve problems of hardware which is not in my hands.

If you are a programmer, you can get the source from soucrforge.net and tweak it.

Link to comment
Share on other sites

  • 1 month later...
  • 2 weeks later...

Thanks for working on this hank, I finally have working ethernet on my X8DAH+F motherboard (both Intel gigabit quad port NIC's show up as well). One thing I am noticing is that after using network based applications for a while it stops responding. Are there any logs I should be looking at to identify what the issue is? Web browsing, SMB access, even something simple like a ping doesn't appear to work.

Link to comment
Share on other sites

Thanks for working on this hank, I finally have working ethernet on my X8DAH+F motherboard (both Intel gigabit quad port NIC's show up as well). One thing I am noticing is that after using network based applications for a while it stops responding. Are there any logs I should be looking at to identify what the issue is? Web browsing, SMB access, even something simple like a ping doesn't appear to work.

Does Network Utility.app show anything related to errors, how many packets are transmitted / received before stall ? Is it easily reproducible ?
Link to comment
Share on other sites

Does Network Utility.app show anything related to errors, how many packets are transmitted / received before stall ? Is it easily reproducible ?

 

No packet errors and it appears to happen at random times. Network connectivity appears to die after trying to use Screen sharing (tried it twice so far and each time I lose connectivity to the system). Interestingly enough if I swap to another port and get another IP things start working again.

Link to comment
Share on other sites

Not sure if this helps but what seems like a similar issue was fixed in a freebsd/freenas bug for the igb driver

 

set kern.ipc.nmbclusters=262144

 

http://support.freenas.org/ticket/1763

They increased the number of kernel packet buffers. I don't know if it is configurable in Mac OS X. Define it in /etc/sysctl.conf and see what happens.

In case of NetBSD 4.x, I needed to recompile the kernel to change the value.

You might be able to test it by disabling 1 - 3 ports of the quad NIC card.

Link to comment
Share on other sites

They increased the number of kernel packet buffers. I don't know if it is configurable in Mac OS X. Define it in /etc/sysctl.conf and see what happens.

In case of NetBSD 4.x, I needed to recompile the kernel to change the value.

You might be able to test it by disabling 1 - 3 ports of the quad NIC card.

 

I yanked both quad port NIC's out and used the two onboard NIC's (which are also the same chipset) and made the addition to /etc/sysctl.conf. Remote connectivity worked for all of about 15 seconds then it froze again.

Link to comment
Share on other sites

I yanked both quad port NIC's out and used the two onboard NIC's (which are also the same chipset) and made the addition to /etc/sysctl.conf. Remote connectivity worked for all of about 15 seconds then it froze again.

I am writing this on ARD connected screen via my Quad NIC ( 82580 x 4 ), driven by 3.4.8 driver. It does not stall after sending/receiving a million packets.

 

Or, does it stall when the traffic is heavy ?

Link to comment
Share on other sites

I am writing this on ARD connected screen via my Quad NIC ( 82580 x 4 ), driven by 3.4.8 driver. It does not stall after sending/receiving a million packets.

 

Or, does it stall when the traffic is heavy ?

 

Not sure if remote screen sharing is considered heavy traffic but I would notice every time I would go to vnc to this new Hackintosh box it would connect then freeze (the connection drops). I go to open a terminal and ping and nothing responds. Move the cable to another port and have it pick up a new IP and it works again.

 

To try and rule out any other component potentially causing issues I luckily had some single port Intel gig PT cards lying around. I tried your e1000 driver and that seems to be a bit more stable so far (had some similiar connection drop issues until I deleted the inteligb.kext). It's been up and running since Friday afternoon and I can still VNC to it over VPN.

Link to comment
Share on other sites

  • 4 weeks later...

Hi!

Does anyone solved a frozen connection issue? I using this driver with S5520SC motherboard with Intel 82575EB on 10.7.1 MacOSX retail. When I downloading a big files from LAN or from Internet my connection getting freeze. If I plug cable to second LAN port it does not work. Only reboot helps.

Thank you for your help!

Link to comment
Share on other sites

  • 1 month later...
  • 1 month later...

Hi Hnak,

 

I would like to report some errors and related information to it.

 

First of all my setup:

 

SuperMicro X9DAE Board with Intel® i350 Dual Port Gigabit Ethernet (Vendor 0x8086 Device 0x1521 Subsystem Vendor 0x15d9 Subsystem 0x1521 Version 0x0001)

OS 10.8.3 (12D44)

using AppleIGB.kext in version 4.0.17

en0 connected to a gigabit-port of a managed switch with full speed negotation

 

What I've seen / detected:

 

1) Editing files on remote storage servers

 

I have a 10.5 Server in my network. If I edit larger files (10 MB+) for e.g. in Pages networking is broken down in some cases. I copied the same files to my machine, edited them and copied them back and everything is doing well.

 

2) Copying larger (15 MB+) files on LAN

 

2.1) from Mac to LAN-Servers

 

2.1.1) via Parallels / Win 7 / VMWare Client for ESXi

 

I've a VMWare ESXi 5.0 Server in my network. I needed to install a new image to setup up a virtual machine. I started my VMWare Client (on Win 7 via Parallels 8.0.x) and connected to my ESXi. I was able to administer everything, I can do Console-Administration etc. But when I start to upload the image file, the networks gets stale. I've monitored that and I've a reproducable case.

Next time I first started a terminal with ping to my router, everything works well until I start this upload. In networking tool of apple I can see that no more packets will be sent.

 

2.1.2) via Panic's Transmit on SSH

 

Files up to 550 MB are will have no problem. I started with a larger file of 3.13 GB and I got stale network after 622 MB of 3.13 GB.

Later (after 2.1.3) I tested with a file of 4.5 GB and got stale after 2 GB.

 

2.1.3) via SSH on scp command line

 

The same file of 3.13 GB I was able to copy via scp command line to the server without any stale but after a fresh reboot.

 

2.2) from LAN-Servers to Mac

 

Copying large files from servers on LAN to Mac is no problem.

 

3) Copying larger files on WAN

 

I've a 150 mbit WAN downlink with 5 mbit uplink. Getting files from apples very fast servers with more than 15 MB/sec. is no problem.

 

4) Managing capabilities of en0

 

4.1) Manual throttling down config in hardware network panel

 

I started throttling down the interface by editing the configuration on hardware of system network panel. I put down the speed from auto negotated 1000mbit to 100mbit full duplex and saved the configuration.

When I go back to the panel, it remains an manual config but with 1000baseT.

 

4.2) Manual throttling down config at managed switch

 

4.2.1) 100 Mbit Full Duplex

 

That's why I started throttling down by switch. This is possible, networking service application shows 100MBit/s now.

Now I can the send errors on network interface and collisions when I try to upload the file from 2.1) but other networking like ping is still possible, such as writing more informations to my post.

When I stop the transfer, it stops counting up send errors and collisions.

 

4.2.2) 100 Mbit Half Duplex

 

Worst case. Collisions on nearly every network request. Network service application shows 100Mbit/s but many send errors and collisions. An upload of file from 2.1) will take networking offline. Pings are no more submitted, send and receive packet counters are stale.

 

4.2.3) 1000 Mbit Full Duplex with Flow Control (RX/TX)

 

Same as without Flow Control.

 

4.3) Setting of kern.ipc.nmbclusters

I started in terminal, doing su and sudo -s and tried to

 

sysctl -w kern.ipc.nmbclusters=262144

 

but it showed that the variable is read only. Then I found a hint. So I rebooted my system with edited kernel flags. (just add ncl=262144 to kernel flags)

 

After a reboot sysctl kern.ipc.nmbclusters showed the set value. But transfering the image from 2.1) to the Server will end in a stale network too.

 

5.) Stale network needs Reboot

 

But restarting OSX is only possible by hardware reset. I always need to reset my computer by reset button, because it gets stale on reboot.

 

 

dmesg does not show any problems on startup, meanwhile operating or on failure.

 

This looks like a problem with the send buffer to me. And it happens

 

- always if Parallels Desktop has a started VM

- sometimes if Transmit is used with SSH

- never when SSH is used directly

- always if you try to save files via AFP

Link to comment
Share on other sites

Hello all,

 

I recently built my first hackintosh and got everything working (even video ATI Radeon 7970) and ethernet with the kext provided in the first post above (thanks by the way), but I do have a similar problem as krysDE does.

 

My configuration is:

Motherboard: Asus Z9PE-D16

Network: Intel I-350 (onboard)

CPUs: 2 Intel Xeon E5-2620 @ 2Ghz

Memory: 32GB DDR3

Video: ATI Radeon 7970 HD 3GB

Main Hard Drive: 128 GB SSD (Samsung)

 

So basically, I can navigate the web, access the internal network for other Mac's, Windows PC's, Linux boxes (using SMB), etc, but I've had problems with VNC and/or Screen Sharing and at times, when the load is "heavy" (I was using iTunes home share with an iPad for music as I don't have a sound card yet) the network card fails, and going to System Preferences > Network > Hardware is not possible as it gets stuck, "sudo reboot" does not work, so I need to do a hard reset.

 

I tried different combinations and configurations, and nothing has worked, I can easily test the changes I make by going to SpeedTest.net and wait for the "Upload" stage, it does not go through with it, it freezes and the hard reset is required again, the "Download" test works fine.

Link to comment
Share on other sites

Thanks for the great work hnak! I use your driver on 3 Mac Pro 10.8 Servers and it works great for me.

 

I have found one interesting glitch though and don't know if it is a driver issue or a VMWare one.

 

We use Fusion 5 and have Mac and Windows VMs running. Fusion defaults to using a virtual e1000 network card which works on Apples' internal ports but wont work on the i350t4 I have installed.

 

I've worked out that if I change this to e1000e, which is the default setting for Mac VMs but not windows, it works fine. Any thoughts as to why this might be?

 

Through all of this, the native Mac OS can see the NIC and use it fine.

 

Happy to help with any further testing you might have/need for ours or any other problems. Our MacPros are 10.8.2 w/64Gb RAM and dual 6 core xeons.

Link to comment
Share on other sites

  • 2 weeks later...

Thanks so much for your work. It's working nicely except for some uploading issues...

 

I'm running 4.1.2 but am having trouble uploading files through FTP and also on my local network (AFP). For FTP, I can transfer one or two files, but with a large amount queued in Filezilla (set to do multiple transfers at once), it hangs fairly quickly and a reboot is required. For AFP, I can remotely connect to the machine and pull the file FROM my hackintosh, but not the other way around - Finder hangs and a reboot is required.

 

I would love to get it working because it seems very close to being fully functional- just let me know what you need for diagnostic purposes and I can provide it.

 

Running a supermicro X9DR3F with i350 chipset, Lion 10.7.4.

Link to comment
Share on other sites

 Share

×
×
  • Create New...