Jump to content

Driver for nForce4 LAN


planetbeing
 Share

765 posts in this topic

Recommended Posts

I have a Nforce 430 (GA-K8N51GMF-9 - socket 939 w/onboard 6100 video)motherboard with Nvidia gigabit lan. I have changed the Device ID in forcedeth.kext to match my onboard, 0x0269 and the driver loads but I have the problem where it can't send or recieve packets (gets 169.xx Address). I have included my system.log output. I do have the onboard lan hooked to a gigabit switch so it reports that properly...

syslog.rtf

Link to comment
Share on other sites

I have a Nforce 430 (GA-K8N51GMF-9 - socket 939 w/onboard 6100 video)motherboard with Nvidia gigabit lan. I have changed the Device ID in forcedeth.kext to match my onboard, 0x0269 and the driver loads but I have the problem where it can't send or recieve packets (gets 169.xx Address). I have included my system.log output. I do have the onboard lan hooked to a gigabit switch so it reports that properly...

 

As far as I can make out from the Linux driver's source code, your particular device is really strange in that it... mandates? 64-bit DMA. So basically, even though all the command codes are pretty much the same, the format for the buffers that handle the packet data are completely different. It's not THAT much work to support it, so it might be in the future (like the error message says), I'm limited by the fact that if I try to add it, I'd be developing for hardware that thousands of miles away from me, so it'll be a very frustrating experience.

 

So you have a couple of options: Learning xcode and modify my drivers slightly so they work on your adapter, or you can wait for me to get to it, but unless a whole bunch of other people also requests it, don't hold your breath. :/

Link to comment
Share on other sites

Thank you for your efforts, even if you don't get to implementing this specific PHY. My 3c905 card is working ok for the time being. I would eventually like to get rid of the card and use the onboard.. so I guess one day when I get the opportunity I'll see about modifying your code..

Link to comment
Share on other sites

I followed the instructions on the first page and also have the same problem of "superclass".

 

I'm currently running 10.4.1 - i dunno if this is the problem ?

 

I have a DFI lanparty nForce4 Ultra-D motherboard which has two integrated nics:

 

1) Dual Gigabit LAN - Vitesse VSC8201 Gigabit Phy

2) Marvell 88E8001 Gigabit PCI onboard lan

 

here is the contents of the debug window:

 

Last login: Tue Apr 4 22:48:25 on console

Welcome to Darwin!

jhonny-polaks-computer:~ jhonnypolak$ tail -f /var/log/system.log

Apr 4 22:48:23 localhost lookupd[61]: lookupd (version 365.0.81) starting - Tue Apr 4 22:48:23 2006

Apr 4 22:48:23 jhonny-polaks-computer configd[38]: setting hostname to "jhonny-polaks-computer.local"

Apr 4 22:48:23 jhonny-polaks-computer kernel[0]: display: vram [c0000000:10000000]

Apr 4 22:48:23 jhonny-polaks-computer diskarbitrationd[40]: disk0s1 hfs B6C5A448-97C6-343F-A152-4B9B41FEF717 OSx86 /

Apr 4 22:48:23 jhonny-polaks-computer kernel[0]: display: Not usable

Apr 4 22:48:23 jhonny-polaks-computer kernel[0]: display: Not usable

Apr 4 22:48:24 jhonny-polaks-computer /System/Library/CoreServices/loginwindow.app/Contents/MacOS/loginwindow: Login Window Application Started

Apr 4 22:48:24 jhonny-polaks-computer mDNSResponder: Adding browse domain local.

Apr 4 22:48:25 jhonny-polaks-computer loginwindow[73]: Login Window Started Security Agent

Apr 4 22:48:25 jhonny-polaks-computer /System/Library/CoreServices/mcxd.app/Contents/MacOS/mcxd: MCXD.initializeDirectoryServices: Unable to get the ethernet address

Apr 4 22:51:03 jhonny-polaks-computer sudo: jhonnypolak : TTY=ttyp2 ; PWD=/Users/jhonnypolak/Desktop/forcedeth/build/Release ; USER=root ; COMMAND=/usr/sbin/chown -R root:wheel forcedeth.kext

Apr 4 22:51:19 jhonny-polaks-computer sudo: jhonnypolak : TTY=ttyp2 ; PWD=/Users/jhonnypolak/Desktop/forcedeth/build/Release ; USER=root ; COMMAND=/bin/chmod -R 755 forcedeth.kext

Apr 4 22:51:33 jhonny-polaks-computer sudo: jhonnypolak : TTY=ttyp2 ; PWD=/Users/jhonnypolak/Desktop/forcedeth/build/Release ; USER=root ; COMMAND=/sbin/kextload -v forcedeth.kext

Apr 4 22:52:02 jhonny-polaks-computer crashdump[166]: oah750d crashed

Apr 4 22:52:02 jhonny-polaks-computer launchd: Server 0 in bootstrap 1103 uid 0: "/System/Library/Frameworks/ApplicationServices.framework/Frameworks/ATS.framework/Support/ATSServer"[70]: exited with status: 255

Apr 4 22:52:02 jhonny-polaks-computer crashdump[167]: ATSServer crashed

Apr 4 22:52:02 jhonny-polaks-computer crashdump[167]: crash report written to: /Library/Logs/CrashReporter/ATSServer.crash.log

Apr 4 22:52:02 jhonny-polaks-computer crashdump[166]: crash report written to: /Library/Logs/CrashReporter/oah750d.crash.log

Apr 4 22:52:43 jhonny-polaks-computer sudo: jhonnypolak : TTY=ttyp2 ; PWD=/Users/jhonnypolak/Desktop/forcedeth/build/Release ; USER=root ; COMMAND=/sbin/kextunload forcedeth.kext

Apr 4 22:53:18 jhonny-polaks-computer sudo: jhonnypolak : TTY=ttyp2 ; PWD=/Users/jhonnypolak/Desktop/forcedeth/build/Release ; USER=root ; COMMAND=/usr/sbin/chown -R root:wheel forcedeth-nockd.kext

Apr 4 22:53:40 jhonny-polaks-computer sudo: jhonnypolak : TTY=ttyp2 ; PWD=/Users/jhonnypolak/Desktop/forcedeth/build/Release ; USER=root ; COMMAND=/bin/chmod -R 755 forcedeth-nockd.kext

Apr 4 22:53:52 jhonny-polaks-computer sudo: jhonnypolak : TTY=ttyp2 ; PWD=/Users/jhonnypolak/Desktop/forcedeth/build/Release ; USER=root ; COMMAND=/sbin/kextload -v forcedeth-nockd.kext

Apr 4 22:54:08 jhonny-polaks-computer crashdump[175]: oah750d crashed

Apr 4 22:54:08 jhonny-polaks-computer crashdump[175]: crash report written to: /Library/Logs/CrashReporter/oah750d.crash.log

Apr 4 22:54:08 jhonny-polaks-computer crashdump[176]: ATSServer crashed

Apr 4 22:54:09 jhonny-polaks-computer crashdump[176]: crash report written to: /Library/Logs/CrashReporter/ATSServer.crash.log

 

 

 

and here is the contents of the terminal where i typed in the commands:

 

jhonny-polaks-computer:~/Desktop/forcedeth/build/Release jhonnypolak$ sudo chmod -R 755 forcedeth.kext

jhonny-polaks-computer:~/Desktop/forcedeth/build/Release jhonnypolak$ sudo kextload -v forcedeth.kext

kextload: extension forcedeth.kext appears to be valid

kextload: loading extension forcedeth.kext

20com_triton_forcedeth is not compatible with its superclass, 20IOEthernetController superclass changed?

kextload: a link/load error occured for kernel extension forcedeth.kext

load failed for extension forcedeth.kext

(run kextload with -t for diagnostic output)

jhonny-polaks-computer:~/Desktop/forcedeth/build/Release jhonnypolak$ sudo kextunload forcedeth.kext

kextunload: unload kext forcedeth.kext failed

jhonny-polaks-computer:~/Desktop/forcedeth/build/Release jhonnypolak$ sudo chown -R root:wheel forcedeth-nockd.kext

jhonny-polaks-computer:~/Desktop/forcedeth/build/Release jhonnypolak$ sudo chmod -R 755 forcedeth-nockd.kext

jhonny-polaks-computer:~/Desktop/forcedeth/build/Release jhonnypolak$ sudo kextload -v forcedeth-nockd.kext

kextload: extension forcedeth-nockd.kext appears to be valid

kextload: loading extension forcedeth-nockd.kext

20com_triton_forcedeth is not compatible with its superclass, 20IOEthernetController superclass changed?

kextload: a link/load error occured for kernel extension forcedeth-nockd.kext

load failed for extension forcedeth-nockd.kext

(run kextload with -t for diagnostic output)

 

 

can anyone help me out ?

Link to comment
Share on other sites

Yeah, it's the fact that you have 10.4.1. I think you'd need to recompile it. Unfortunately, this is more complicated than it ought to be. You'll need Xcode, which is a 833 MB DMG file. Open up the project, and just hit build, and that version should work. I think. It's possible there might be compile errors due to the different versions, but those should be trivial to fix.

 

Though it might be simpler just to upgrade. :)

Link to comment
Share on other sites

First of all thanks for this one...!

 

Worked from the first second I loaded the driver.

But as another user reported already, I get an kernel panic, too, when I am transferring a big amount of data (Networking, Azureus...).

 

So here is the debug:

 

panic(cpu 0 caller 0x00134182): thread_invoke: preemtion_level 1

Debugger called: <panic>
Backtrace, Format - Frame : Return Address (4 potential args on stack)
0x145f3cac : 0x128aea (0x3b9dcc 0x145f3cd0 0x130c94 0x0)
0x145f3cec : 0x134182 (0x3ba3dc 0x1 0x0 0x3b67e26d)
0x145f3d3c : [...]
0x145f3d8c : [...]
0x145f3dac : [...]
0x145f3dfc : [...]
0x145f3e14 : [...]
0x145f3e54 : [...]
0x145f3e74 : [...]
0x145f3ed4 : [...]
0x145f3f14 : [...]
0x145f3f64 : [...]
0x145f3f94 : [...]
0x145f3fd4 : 0x196b69 (0x2b7a280 0x0 0x2b91880 0x133ba0) Backtrace terminated-invalid frame pointer 0x0
Kernel loadable modules in backtrace (with dependencies):
	com.triton.forcedeth(1.0.0d2)@0x3b679000
		dependency: com.apple.iokit.IONetworkingFamily(1.5.0)@0x29c8f000
		dependency: com.apple.iokit.IOPCIFamily(1.8)@0x24683000
	com.apple.iokit.IONetworkingFamily(1.5.0)@0x29c8f000

Kernel Version:
Darwin Kernel Version 8.4.1: Tue Jan 3 18:23:53 PST 2006; root-xnu-792.7.90.obj~1/RELEASE_I386

ethernet MAC address: [...]
ip adress: 192.168.2.10

 

would be nice if someone could help.

I did not quote everything, because it is too much typing 0x.... so I hope this is ok. otherwise I can reproduce the panic again and write down all the stuff.

 

max respect,

chiras

 

EDIT:

Ah I forget to mention my mobo: A8N SLI Deluxe

I have an NVidia 6600GT, perhaps this may bring trouble?

Link to comment
Share on other sites

What might be the trouble is that you have either a dual-core CPU or otherwise multiple logical processors, and you haven't used the cpus=1 boot option. Is this the case?

 

nope, sorry

AMD 64 3000+ single CPU

this is not the case.

 

thx for reply

chiras

Link to comment
Share on other sites

What version of the driver do you have? When did you get it?

 

I tried both zips, with all kexts I found inside. I downloaded the last release at friday.

running osx 10.4.4

 

chiras

 

EDIT: there is no panic.log inside, i will add the missing lines at the next crash ;-)

Link to comment
Share on other sites

whomp there it is:

 

panic(cpu 0 caller 0x00134182): thread_invoke: preemtion_level 1

Debugger called: <panic>
Backtrace, Format - Frame : Return Address (4 potential args on stack)
0x139bbcac : 0x128aea (0x3b9dcc 0x139bbcd0 0x130c94 0x0)
0x139bbcec : 0x134182 (0x3ba3dc 0x1 0x0 0x23d7126d)
0x139bbd3c : 0x1347e0 (0x1f53608 0x2b05608 0x0 0x0)
0x139bbd8c : 0x1344871 (0x0 0x0 0x0 0x2)
0x139bbdac : 0x12eef3 (0x0 0x0 0x0 0x0)
0x139bbdfc : 0x193d44 (0x219ef40 0x2b05608 0x219ef40 0x97)
0x139bbe14 : 0x34f2d1 (0x219ef40 0x139bbe68 0x130b90 0x130c44)
0x139bbe54 : 0x291b739a (0x24e1a800 0x2 0x21afa30 0x139bbe84)
0x139bbe74 : 0x23d7061a (0x1fde000 0x24e1a800 0x0 0x19a27d)
0x139bbed4 : 0x23d70704 (0x1fde000 0x0 0x1ff 0xee6b280)
0x139bbf14 : 0x38b859 (0x1fde000 0x232e780 0x1 0x139bbf58)
0x139bbf64 : 0x38aa05 (0x232e780 0x49b800 0x22fe6a8 0x139bbf98)
0x139bbf94 : 0x38a729 (0x1f3c280 0x38a70c 0x1f3c280 0x0)
0x139bbfd4 : 0x196b69 (0x1f3c280 0x0 0x1f53880 0x133ba0) Backtrace terminated-invalid frame pointer 0x0
Kernel loadable modules in backtrace (with dependencies):
	com.triton.forcedeth(1.0.0d2)@0x23d6c000
		dependency: com.apple.iokit.IONetworkingFamily(1.5.0)@0x291b0000
		dependency: com.apple.iokit.IOPCIFamily(1.8)@0x23af1000
	com.apple.iokit.IONetworkingFamily(1.5.0)@0x291b0000

Kernel Version:
Darwin Kernel Version 8.4.1: Tue Jan 3 18:23:53 PST 2006; root-xnu-792.7.90.obj~1/RELEASE_I386

ethernet MAC address: [...]
ip adress: 192.168.2.10

 

hope no mistakes inside

 

thanks for your effort

chiras

Link to comment
Share on other sites

No problem. Thanks for bringing this to my attention. I knew there was something a bit screwy going on with the locking, but I wasn't able to find out what it is: Unlike your computer, mine merely freezes when something goes wrong (except with the latest version - theoretically, all the locking is handled by OS X so theoretically, this sort of thing shouldn't happen). It looks like there's a problem with the functions residing at 0x23d7061a and/or 0x23d70704 as they are calling a function on the IONetworkingController superclass at 0x291b739a. I don't have any experience debugging OS X kernel extensions, so I don't know what exactly these functions are yet. I'll try to wrestle with gdb and find that out later today (when I'm back at my own computer). My guess is the replaceOrCopyPacket part in the rxProcess function though. That matches the profile pretty well and it would be called a ton during massive transfers. Still not quite sure why that particular kernel panic results, though.

Link to comment
Share on other sites

****************

 

 

Got some major update!

 

Im running a A8N-VM Board with nforce 4 410 chipset.

 

 

I got all the stuff to work for now BUT, i wont get any ip adress, im just getting the ol 169.254.51.46, when I boot into windows I get an working ip! :/

 

Posting log when I kextload it :)

 

 

 

*********************

Apr 7 23:50:18 elins-computer kernel[0]: forcedeth: Initializing.

Apr 7 23:50:18 elins-computer kernel[0]: forcedeth: Probing.

Apr 7 23:50:18 elins-computer kernel[0]: forcedeth: WARNING - your nVidia device 0x10DE:0x0269 is not known to work, but it could be supported in the future. Please contact the coder. Continuing anyway...

Apr 7 23:50:18 elins-computer kernel[0]: forcedeth: Starting.

Apr 7 23:50:18 elins-computer kernel[0]: forcedeth: PCI system 0x10DE:0x0269, subsystem 0x1043:0x816A opened.

Apr 7 23:50:18 elins-computer kernel[0]: forcedeth: Mapped from 0xDFFBC000 of length 4096.

Apr 7 23:50:18 elins-computer kernel[0]: forcedeth: Allocated 3072 bytes of contiguous memory for DMA: rx at 0x1b4b2000, tx at 0x1b4b2400, wired at 0x13c43000.

Apr 7 23:50:18 elins-computer kernel[0]: forcedeth: Found nForce4 LAN with MAC: 00:XX:D4:FD:XX:AE.

Apr 7 23:50:18 elins-computer kernel[0]: forcedeth: Found PHY 0x0000:0x0020 at address 1.

Apr 7 23:50:18 elins-computer kernel[0]: com_triton_forcedeth: Ethernet address 00:xx:d4:XX:Xc:ae"

 

*********************

 

Anyone with a solution? :dev: Gonna work on this all night long, I REALLY want the net to work in OS X, I got all sound and gfx hooked up so I just need this ;D

 

 

 

 

Some screens:

 

post-26643-1144441103_thumb.jpg

post-26643-1144441144_thumb.jpg

Link to comment
Share on other sites

It detects my card.. link and speed whatnot. Even when I switch from 1Gbit or 100mbs. It detects it. BUT it won't get the correct ip from DHCP. Also, when I force the correct IP, it does not work. But it's a step. Only a little bit more to go!

Link to comment
Share on other sites

The driver attached should now be fairly stable, but as with all OS X drivers, there is no guarantee of support. Complete system freezes have been known to occur with older versions and may reoccur, so avoid doing critical work on OS X.

 

Thank you for the updated driver (couldn't find a version number, dated march 29) haven't experienced a lock up yet ;-)

Link to comment
Share on other sites

Sorry guys, but finals are coming around the corner and I don't have much more time to waste on this. I can't seem to reproduce any of your freezing bugs with the newest version. The kernel panic by rights, should not happen. A secondary interrupt should not prevent me from doing memory allocation, so I can't reproduce that either.

 

It's extraordinarily difficult for me to fix what I can't duplicate, so if you guys want it fixed on any sort of time frame, you'll have to do it yourselves. As for people who're having trouble connecting, even though it says a connection is made, a pasted log is always much more helpful than telling me "it doesn't work". I think the reason is that you guys probably forced the driver to try to handle a nForce LAN device it doesn't support.

Link to comment
Share on other sites

 Share

×
×
  • Create New...