Jump to content

nForce LAN driver


740 posts in this topic

Recommended Posts

nForceLAN is a recent development which used planetbeing's nForce4 0.3c driver as a framework to port the forcedeth 0.64 driver from linux 2.6.31 to OS X. nForceLAN should support all of the network adapters supported by the forcedeth 0.64 driver (listed below) and is a replacement for both forcedeth.kext and nForceEthernetController.kext. Please remove all installed versions of forcedeth.kext and nForceEthernetController.kext from your system if you are manually installing nForceLAN (not using the pkg). It is recommended, but not required, that all users upgrade to at least 10.5.5 (preferably 10.5.6) and AMD users install the Voodoo XNU kernel.


Please post comments in this thread on how well this works (or doesn't work for that matter) for various configurations.


The source code for this driver is released under the GPL.


The original nForce4 driver is posted here: nForce4 LAN driver



- Support for nForce NICs from the nForce1 to the MCP89.

- Sleep/wake functionality.

- Supports message signalled interrupts (MSI), line interrupts (Legacy), and multiple MSI interrupts.

- Supports manual selection of the network medium and max transfer unit (MTU).

- Supports hardware VLAN tagging.


Supported PCI ids:

0x01c310de, 0x006610de, 0x00d610de, 0x008610de, 0x008c10de, 0x00e610de, 0x00df10de,

0x005610de, 0x005710de, 0x003710de, 0x003810de, 0x026810de, 0x026910de, 0x037210de,

0x037310de, 0x03e510de, 0x03e610de, 0x03ee10de, 0x03ef10de, 0x045010de, 0x045110de,

0x045210de, 0x045310de, 0x054c10de, 0x054d10de, 0x054e10de, 0x054f10de, 0x07dc10de,

0x07dd10de, 0x07de10de, 0x07df10de, 0x076010de, 0x076110de, 0x076210de, 0x076310de,

0x0ab010de, 0x0ab110de, 0x0ab210de, 0x0ab310de, 0x0d7d10de


Recent updates:

- [0.64.0]Maintenance update (updated to match 2.6.31 forcedeth driver). New device support (MCP89).

- [0.64.2]Fixed 10.6 sleep/unload bug.

- [0.64.3]Some code cleanup. Rebuilt with 64-bit support.

- [0.64.4]Fixed setting the lladdr with ifconfig. Added an option to override the built-in or random MAC. To use the MAC override set (in the plist) MACOverride to true and add a string for OverrideMAC1 and/or Override MAC2. The string should be a standard IPv4 MAC in hexadecimal with pairs of digits separated by colons (ex. 01:23:45:67:89:ab).

- [0.64.5]Fixed a typo in nForceLAN::setHardwareAddress();

- [0.64.6]Some adjustments that appear to improve Snow Leopard support.







Kernel extension:

0.64.6 (Snow Leopard + Leopard/Tiger) nForceLAN_0.64.6.mpkg.zip

0.64.5 (Snow Leopard + Leopard/Tiger) nForceLAN_0.64.5.mpkg.zip



0.64.6 Source nForceLAN_0.64.6.zip

0.64.2 Source nForceLAN_0.64.2.zip


  • Like 2
Link to comment
Share on other sites

Opps, forgot the remove those options as they are deprecated. The new driver detects if the hardware has checksum support but those options incorrectly override the device settings. Your MCP61 for example does not support device checksums.


I will remove it in the next iteration.


Glad to hear it works with your MCP61.

Link to comment
Share on other sites

This drivers should replace the other ones for almost everyone. It's extremely more stable, no more need for cpus=1. I was going to update the forcedeth to match a bit of the linux one but I kept forgetting to download xcode


Thanks for this driver and really the only thing I can say is, more support for devices might be the only issue, altho there might be a bit of a performance hit but I don't expect a optimized driver ;)

Link to comment
Share on other sites

Hmm this is a step in the right direction for me. It sees the MCP55's now put still can't detect a cable plug in


If the lights don't come on on the adapter reboot the machine and make sure the old kext does not load.

Link to comment
Share on other sites

I'm quite "green" in OS systems. I've installed (successfully) osX86 but I really don't know how to use this driver - can you wrote short installation walktrough ? I'll be really happy (as well as some other "noobs" here ;-) )

Link to comment
Share on other sites

I'm quite "green" in OS systems. I've installed (successfully) osX86 but I really don't know how to use this driver - can you wrote short installation walktrough ? I'll be really happy (as well as some other "noobs" here ;-) )


There is an option in osx86tools (google it) to install kexts.

Link to comment
Share on other sites



You, my friend, are a life saver!!!!


All the forcedeth that i tried where frezzing the system when, for example, a download reached speeds above 300KB/s....

Your driver however works flawlessly and i can see a huge performance increase on web surfing (web pages open 10times faster!!!) and on networking with other computers on my network.

And now i can really use my DSL Cable speeds properly since now im making downloads at a top rate speed (depending on the download) of 15MB/s.....!!!!! WoooooooT!


I have Nvidia´s MCP68 on MSI K9NGM4-V2 motherboard.




You´re the man!!!!!

Link to comment
Share on other sites

So far it's working great on my M2N32-sli deluxe wifi (nForce590sli). Installed the kext and it just worked after reboot (no unplugging powercord). Downloading xcode as I'm typing, at 1.4MB/s at 670+MB now and still no freezes, using both cores!

Many thanks eno! :thumbsup_anim:



Even network transfers on GB network are stable, going at about 45MB/s!! (old slow ata drive on server :()

This driver rox :P

Link to comment
Share on other sites

It works, but I get a kernel panic after a while... surfed the web for 45 minutes, then I wanted to download a video, as soon as it started I got a kernel panic...When I rebooted, and opened any site, I got the kernel panic...So now I get a kernel panic just by using internet...


What should I do?

Link to comment
Share on other sites

actually those kext not really working for me,

my ethernet card was detected and i can configure it,

but the main problem is I can not connect to the internet,

if I assign the IP by DHCP, it will get 169.254.xxx.xxx and the subnet

that does not match with my router config, and still can not connect to the internet

but if I assign the IP manually, I can not connect to the internet

and the worst is I can not ping my own router.


guys, do you have solution for this??

Link to comment
Share on other sites

  • Allan unpinned this topic

  • Create New...