| Summary: | [nve] nve(4) driver on FreeBSD 6.2 AMD64 does not work at 1Gbps with nForce4 NIC | ||
|---|---|---|---|
| Product: | Base System | Reporter: | Lawrence Stewart <lstewart> |
| Component: | amd64 | Assignee: | freebsd-amd64 (Nobody) <amd64> |
| Status: | Closed FIXED | ||
| Severity: | Affects Only Me | ||
| Priority: | Normal | ||
| Version: | Unspecified | ||
| Hardware: | Any | ||
| OS: | Any | ||
|
Description
Lawrence Stewart
2007-02-07 03:20:18 UTC
Could you please test the alternative driver mentioned at http://www.se.hiroshima-u.ac.jp/~shigeaki/software/freebsd-nfe.html It's already been commited to -current, and I'd certainly hope it will be MFC to 6-STABLE soon. Angelo Turetta Could you please test the alternative driver mentioned at http://www.se.hiroshima-u.ac.jp/~shigeaki/software/freebsd-nfe.html It's already been commited to -current, and I'd certainly hope it will be MFC to 6-STABLE soon. Angelo Turetta On 2/6/07, Lawrence Stewart <lstewart@room52.net> wrote: > I could not find a fix for the problem. > > I also could not figure out why explicitly setting the NIC to sync at 100baseTX full-duplex made the NIC work, but only at a fraction of 100Mbps capacity. > > A work around is to cause the switch port the NIC is plugged into to only allow 100baseTX, so that the NIC will autoselect at 100baseTX and work at reasonable speed. You could also do as I did and stick small 100baseTX switch in between the machine and gigabit switch. > Have you tried forcing the switch switch and the NIC to 1000baseT Full Duplex? Sometime times auto-negotiation fails, so forcing speed should fix it. Scot -- DISCLAIMER: No electrons were mamed while sending this message. Only slightly bruised. Hi Angelo, Thanks very much for the reply. Angelo Turetta wrote: > Could you please test the alternative driver mentioned at > > http://www.se.hiroshima-u.ac.jp/~shigeaki/software/freebsd-nfe.html > > It's already been commited to -current, and I'd certainly hope it will be > MFC to 6-STABLE soon. > > Angelo Turetta > The new driver appears to be working perfectly. I'm running it through some basic stress tests now, but everything so far is all good. It can sync at both 100baseTX and 1000baseTX. When in 100baseTX mode, I can get 11.1 Mb/sec over scp. When in 1000baseTX I can get 24 MB/sec over scp. This was only transferring from a low spec desktop machine, so I think the machine's disk drive was the bottleneck, not the NIC. For the benefit of anyone else that comes across this thread and wants to know how to get the new driver working, here are the steps I followed (lines beginning with a hyphen "-" are comments, not actual shell commands): cd /root fetch http://www.se.hiroshima-u.ac.jp/~shigeaki/software/nfe-20070106.tar.gz - You may need a different patch to the one below depending on the motherboard you have... this patch is the right one for my Asus A8N-E, but all the details are on the patch website http://www.se.hiroshima-u.ac.jp/~shigeaki/software/freebsd-nfe.html fetch http://www.se.hiroshima-u.ac.jp/~shigeaki/software/e1000phy.20061219.fbsd62.patch tar -xzvf nfe-20070106.tar.gz cp -r nfe-20070106 /usr/src/sys/dev/nfe cp e1000phy.20061219.fbsd62.patch /usr/src/sys/dev/mii/ cd /usr/src/sys/dev/mii/ patch < e1000phy.20061219.fbsd62.patch cd /usr/src/sys/amd64/conf/ - Not sure that you need to do the next step, but I thought it would be safer to remove the nve(4) driver from the kernel so it didn't get confused... you can still kldload it later if needed edit GENERIC - Comment out the line "device nve # nVidia nForce MCP on-board Ethernet Networking" rm -rf ../compile/GENERIC config GENERIC cd ../compile/GENERIC make cleandepend && make depend && make && make install cd /usr/src/sys/dev/nfe make make install shutdown -r now - You should now have if_nve.ko in /boot/kernel/ and you can kldload it using "kldload if_nfe" or load it at startup by sticking if_nfe_load="YES" in /boot/loader.conf. - Good times from here on in! Thanks again for the help. Regards, Lawrence Stewart Hi Scot, Thanks for the reply. Scot Hetzel wrote: > On 2/6/07, Lawrence Stewart <lstewart@room52.net> wrote: >> I could not find a fix for the problem. >> >> I also could not figure out why explicitly setting the NIC to sync at >> 100baseTX full-duplex made the NIC work, but only at a fraction of >> 100Mbps capacity. >> >> A work around is to cause the switch port the NIC is plugged into to >> only allow 100baseTX, so that the NIC will autoselect at 100baseTX >> and work at reasonable speed. You could also do as I did and stick >> small 100baseTX switch in between the machine and gigabit switch. >> > Have you tried forcing the switch switch and the NIC to 1000baseT Full > Duplex? > > Sometime times auto-negotiation fails, so forcing speed should fix it. > I don't have access to the actual Cisco switches, as they are maintained by our IT services department. Forcibly setting the switch to 1000 Mbps is kind of besides the point anyway. The problem is that when the NIC is autosensing (default state) and plugged into an autonegotiating 1 Gbps switch port (default for all switches I've ever worked with), the driver appears to be functional for all intensive purposes, except for the fact that no packets can be accessed. That is confusing for the user and is the major problem with the nve(4) driver in its current state. Having to put a call into the IT dept and trying to explain that you need them to manually set the sync speed on a port is unlikely to be well received... it's also simply another work around, rather than a fix. Regards, Lawrence Stewart State Changed From-To: open->suspended It is hard to do much with nve due to it being mostly a binary blob. In FreeBSD 7.0, one should use nfe(4) instead of nve(4). Lawrence, how do you feel about this PR? Did David's suggestion work for you? -- Andriy Gapon On 12/05/10 21:01, Andriy Gapon wrote:
>
> Lawrence,
>
> how do you feel about this PR?
> Did David's suggestion work for you?
>
We've been running with nfe on those machines since shortly after I
logged that PR and the machines have been running (and continue to run)
stably since. The PR should be closed.
Cheers,
Lawrence
State Changed From-To: suspended->closed Closing per originator's request: nfe is a better replacement for proprietary nve. |