Jump to content

Driver for nForce4 LAN


planetbeing
 Share

765 posts in this topic

Recommended Posts

I've put up a new version of the driver in the OP that demonstrates better stability than the previous version. The large downloads problem should be solved, but this fix may generate new stability issues, but I haven't run into them yet. Tested with a few gigabytes worth of transfers over my LAN.

Link to comment
Share on other sites

Hi and thank's planetbeing for this driver. I have some questions if somone have time.

 

On my Gigabyte mombo are 2 network cards, according to Gigabyte data it looks like that:

 

 

----------------------------------

Dual LAN solution with Gigabit LAN solution integrated

 

# Marvell 8001 Gigabit Ethernet controller

# ICS 1883 LAN PHY

-----------------------------------

 

Will this driver possibly work with on or the other.

 

If I try do I paste the driver intoo IONetworkFamily.kext ?

 

 

Thanks.

Link to comment
Share on other sites

Ok. Here's a quick howto

 

1. Get the forcedeth driver

2. Expand the zip file onto the desktop. You should see a forcedeth folder

3. Open terminal

4. In terminal, type in "sudo -s", key in your password

5. Type "chown -R root:wheel ~/Desktop/forcedeth/build/Release/forcedeth.kext"

6. Type "chmod -R 755 ~/Desktop/forcedeth/build/Release/forcedeth.kext"

7. Type "kextload -v ~/Desktop/forcedeth/build/Release/forcedeth.kext"

 

The LAN should be up at this stage. You can check either through the network utility or via terminal by "ifconfig -a". Do a ping to your router to verify the connection is ok. If you need to unload the driver, do a "kextunload ~/Desktop/forcedeth/build/Release/forcedeth.kext".

 

Once you are happy with the performance, you can move it into the main extensions folder and kextload it automatically by adding this line to the top of the /etc/rc file using the nano editor.

 

"kextload /System/Library/Extensions/forcedeth.kext"

 

Thanks to planetbeing for writing this driver.

Link to comment
Share on other sites

The error you were getting is because the driver does not come chowned to root:wheel and may not have the right permissions. Follow wkweksl's instructions.

 

Also, the way I make this (and every other kernel extension) load at startup is to run kextcache -k /System/Library/Extensions. This clears the extension cache, and tells OS X to recheck that folder for new extensions and load everything in there at startup.

Link to comment
Share on other sites

great work man, you must have a very steep learning curve since there seems to be a lotta experienced programmers in these forums yet it was your determined effort that got us network/internet connection...

Congrats and Thanx again...

 

strike one for the good guys in green

Link to comment
Share on other sites

The error you were getting is because the driver does not come chowned to root:wheel and may not have the right permissions. Follow wkweksl's instructions.

 

Also, the way I make this (and every other kernel extension) load at startup is to run kextcache -k /System/Library/Extensions. This clears the extension cache, and tells OS X to recheck that folder for new extensions and load everything in there at startup.

 

Thanks for the explanation, your driver works but it's slightly unstable compared to the rtl8139

card I used in the mean time. Usually when opening a site in safari or firefox deerpark with a lot of pictures

I get a black screen with the message in different languages that I have to reset the computer...

(looks like kernel crash)

Link to comment
Share on other sites

I don't think I or anyone else have ever experienced a kernel panic when using the driver. Please boot up with the -v flag and try to duplicate the error so you can give me the message that actually appears.

 

@Thor: I'm not sure. It looks like the 10/100 PHY uses the nForce3 MAC which is all the driver should care about. I've never tested it on a nForce3, but technically, if it's not one of the more ancient flavors of nForce3, it should still work fine. Install the driver with wkweksl's instructions, except before doing anything, start a separate console window and type in "tail -f /var/log/system.log". This will give log output from the driver. I've added in every device ID the driver should handle into the kext, so if your motherboard has one of them, it should work fine out of the box. If your motherboard doesn't, then the log should say so.

Link to comment
Share on other sites

@planetbeing

 

Thanks for your work on the LAN driver! Seems like you have some experience with (driver)-programming. Maybe you could take a look at a SATA driver for the nForce boards. The VIAATA.kext could be a good start as it partially works. Maybe by comparing it to the freebsd and linux sources one could work out the bugs. I tried myself, but gave up as I have no programming experience at all! Just a thought...

Link to comment
Share on other sites

Hi and thank's planetbeing for this driver. I have some questions if somone have time.

 

On my Gigabyte mombo are 2 network cards, according to Gigabyte data it looks like that:

----------------------------------

Dual LAN solution with Gigabit LAN solution integrated

 

# Marvell 8001 Gigabit Ethernet controller

# ICS 1883 LAN PHY

-----------------------------------

 

Will this driver possibly work with on or the other.

 

If I try do I paste the driver intoo IONetworkFamily.kext ?

Thanks.

 

Ok after reading wkweksl post I got it to work. My NVidia lan woke up from sleep. The Marvell is still in coma.

Thank's wkweksl and last but not least, thanks planetbeing for this great driver.

 

:lol:

Link to comment
Share on other sites

@planetbeing

 

Thanks for your work on the LAN driver! Seems like you have some experience with (driver)-programming. Maybe you could take a look at a SATA driver for the nForce boards. The VIAATA.kext could be a good start as it partially works. Maybe by comparing it to the freebsd and linux sources one could work out the bugs. I tried myself, but gave up as I have no programming experience at all! Just a thought...

 

This has been my only experience with driver programming, but now the OpenDarwin source code for AppleVIAATA is readable to me, at least. I still don't know what's precisely involved in coding a ATA driver, but the AppleVIAATA source code does look manageable. I dunno, though. If you want, you can start a new thread with bugs that the current AppleVIAATA driver has (what precisely are they?), and I could see if they are fixable.

Link to comment
Share on other sites

This has been my only experience with driver programming, but now the OpenDarwin source code for AppleVIAATA is readable to me, at least. I still don't know what's precisely involved in coding a ATA driver, but the AppleVIAATA source code does look manageable. I dunno, though. If you want, you can start a new thread with bugs that the current AppleVIAATA driver has (what precisely are they?), and I could see if they are fixable.

 

The main problem is prolly irq and nforce4 related when you attach more than 1 drive there's this error

 

IOATAController device blocking bus

 

I say it's nforce4 only related because i've 2 sata hds attached to my nforce3 board without problems

Link to comment
Share on other sites

I see that error on my nForce4, but my two SATA hard drives work (though I have to mount the NTFS volumes manually). I'd like more details about the error, and how it's a showstopper, but I don't really want to wade through pages of forum posts. If someone can summarize, it'd be great. Also, have people tried using mount_ntfs and mounting the volumes manually? And looking at what Disk Utility says?

 

I looked in the source and it seems to be coming from IOATAController, which is a superclass of the main portion of the driver. The message is displayed when any type of error happens with the selectDevice function, so it could very well be a misleading error message. There are other debugging messages that can be displayed, but those are disabled. This means to diagnose the error, I'll have to recompile the driver with those debugging messages enabled. Perhaps I'll do that later, but I want to wait on some details about the error to make sure it's not a red herring.

Link to comment
Share on other sites

 Share

×
×
  • Create New...