Date: Mon, 12 Mar 2007 22:41:40 +0100 From: Rainer Hurling <rhurlin@gwdg.de> To: pyunyh@gmail.com Cc: darren780@yahoo.com, freebsd-current@freebsd.org Subject: Re: yongari nfe problems Message-ID: <45F5C914.3000805@gwdg.de> In-Reply-To: <20070312045116.GA83433@cdnetworks.co.kr> References: <20070310074734.GC70613@cdnetworks.co.kr> <917080.87242.qm@web34701.mail.mud.yahoo.com> <20070311050627.GC79728@cdnetworks.co.kr> <45F3B94B.3030104@gwdg.de> <20070312045116.GA83433@cdnetworks.co.kr>
next in thread | previous in thread | raw e-mail | index | archive | help
Pyun YongHyeon, thank you for reply. Sorry for the late answer, but I have been on business trip. Pyun YongHyeon schrieb: > On Sun, Mar 11, 2007 at 09:09:47AM +0100, Rainer Hurling wrote: > > Pyun YongHyeon schrieb: > > >[... SNIP ...] > > > > > >Did stock nfe(4) work on MCP55? > > >(I'm not interested in how nve(4) works on MCP55.) > > >I'm afraid MCP55 requires different programming. Searching archives > > >for Linux forcedeth driver also reveals issues on MCP55 which is > > >exactly the same issue I think. > > >I'll let you know if I find a clue but it's hard to fix due to lack > > >of MCP55 hardware and documentation. > > > > > > Yes, nfe(4) works on MCP55, but with some strange behaviour, see below. > > > > I am working with FreeBSD 7.0-CURRENT from 03/07/2007 on MSI K9N Neo. > > 'dmesg | grep nfe' gives me: > > > > nfe0: <NVIDIA nForce MCP55 Networking Adapter> port 0xb000-0xb007 mem > > 0xfbef7000-0xfbef7fff,0xfbefa800-0xfbefa8ff,0xfbefa400-0xfbefa40f irq 21 > > at device 8.0 on pci0 > > miibus0: <MII bus> on nfe0 > > ukphy0: <Generic IEEE 802.3u media interface> PHY 1 on miibus0 > > ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, > > 1000baseT-FDX, auto > > nfe0: using obsoleted if_watchdog interface > > nfe0: Ethernet address: xx:xx:xx:xx:xx:xx > > nfe0: [ITHREAD] > > > > It seems that there is a problem with watchdog. Perhaps the choosen > > media interface ukphy0 is not correct? > > > > Normally nVidia GigEs use Marvell PHY which is served by e1000phy(4) > so I guess power saving mode had ukphy attach the PHY. > Booting/loading module with bootverbose mode will show up OUI/model/rev > of the PHY. Please let me know the OUI/model/rev output of ukphy(4). for ukphy0 bootverbose gives me : OUI 0x0001c1 model 0x0002 rev. 0 > > In the context with watchdog I observe an interesting behaviour of nfe0: > > After running WindowsXP on my board, I am not able to use the interface > > any more. Booting FreeBSD always gives me messages like this: > > > > ----- > > nfe0: link state changed to DOWN > > /etc/rc.d/dhclient: WARNING: $background_dhclient_nfe0 is not set > > properly - > > see > > rc.conf(5). > > nfe0: no link ....nfe0: link state changed to UP > > got link > > DHCPREQUEST on nfe0 to 255.255.255.255 port 67 > > nfe0: watchdog timeout > > nfe0: link state changed to DOWN > > nfe0: link state changed to UP > > DHCPREQUEST on nfe0 to 255.255.255.255 port 67 > > nfe0: watchdog timeout > > nfe0: link state changed to DOWN > > nfe0: link state changed to UP > > DHCPDISCOVER on nfe0 to 255.255.255.255 port 67 interval 5 > > nfe0: watchdog timeout > > nfe0: link state changed to DOWN > > DHCPDISCOVER on nfe0 to 255.255.255.255 port 67 interval 9 > > nfe0: link state changed to UP > > nfe0: watchdog timeout > > nfe0: link state changed to DOWN > > nfe0: link state changed to UP > > DHCPDISCOVER on nfe0 to 255.255.255.255 port 67 interval 14 > > nfe0: watchdog timeout > > nfe0: link state changed to DOWN > > nfe0: link state changed to UP > > DHCPDISCOVER on nfe0 to 255.255.255.255 port 67 interval 18 > > nfe0: watchdog timeout > > nfe0: link state changed to DOWN > > nfe0: link state changed to UP > > DHCPDISCOVER on nfe0 to 255.255.255.255 port 67 interval 9 > > nfe0: watchdog timeout > > nfe0: link state changed to DOWN > > nfe0: link state changed to UP > > DHCPDISCOVER on nfe0 to 255.255.255.255 port 67 interval 6 > > nfe0: watchdog timeout > > nfe0: link state changed to DOWN > > No DHCPOFFERS received. > > Trying recorded lease xxx.xxx.xxx.xxx > > nfe0: link state changed to UP > > bound: renewal in 429590 seconds. > > lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384 > > inet6 fe80::1%lo0 prefixlen 64 scopeid 0x2 > > inet6 ::1 prefixlen 128 > > inet 127.0.0.1 netmask 0xff000000 > > nfe0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500 > > options=2b<RXCSUM,TXCSUM,VLAN_MTU,JUMBO_MTU> > > ether xx:xx:xx:xx:xx:xx > > media: Ethernet autoselect (100baseTX <full-duplex>) > > status: active > > ----- > > > > When booting 'cold' (means full power down) FreeBSD is able to use > > nfe(4) in the correct way. Also booting FreeBSD again after running > > FreeBSD gives me no errors. Obviously WindowsXP does not clear up all > > registers in MCP55 after leaving? > > > > I think Windows put the NIC/PHY in sleep/power saving mode and nfe(4) > will need a way to take PHY/NIC out of power down mode. > Try a WIP version at the following URL. > > http://people.freebsd.org/~yongari/nfe/WIP/if_nfe.c > http://people.freebsd.org/~yongari/nfe/WIP/if_nfereg.h > http://people.freebsd.org/~yongari/nfe/WIP/if_nfevar.h > > Note, it's just guess work from the Linux driver and I just tested > compilation. Due to lack of time/MCP55 hardware it's not easy for me > to fix. I tried your fixes. Bingo, you are right! Now I am able to use nfe(4) directly (without coldstart) after leaving from WindowsXP. Thank you very much, Rainer Hurling
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?45F5C914.3000805>