6.3 nfe: strange behavior after hand

Pyun YongHyeon pyunyh at gmail.com
Fri Feb 1 04:36:15 PST 2008


On Fri, Feb 01, 2008 at 01:35:57PM +0200, Andriy Gapon wrote:
 > 
 > I am using nfe on 6.3 amd63 system with the code from here:
 > http://www.f.csce.kyushu-u.ac.jp/~shigeaki/software/freebsd-nfe.html
 > 
 > Everything is OK except for one small, but annoying problem. Sometimes
 > when my system hangs and I have to use reset button, nfe stops working
 > after reboot. ifconfig shows proper status and medium, there are no
 > kernel error/debug messages, on the surface everything seems good. But
 > if I try to ping a machine connected to the same switch I get "host
 > down" responses. So, no network at all. Unloading and reloading if_nfe
 > module doesn't help, various ifconfig re-configurations do not help too.
 > Although, if I do power off and then boot, everything is perfect again.
 > 
 > Until a couple of weeks ago I used 6.2 amd64 and nve (patched to
 > recognize pci id of this card) and I never had such a problem.
 > 
 > To un-enlightened me it seems like some resetting/re-initialization of
 > the card is not done properly by nfe.
 > 
 > Additional info.
 > dmesg:
 > nfe0: <NVIDIA nForce 430 MCP13 Networking Adapter> port 0xc800-0xc807
 > mem 0xfe02b000-0xfe02bfff irq 23 at device 20.0 on pci0
 > miibus0: <MII bus> on nfe0
 > e1000phy0: <Marvell 88E1116 Gigabit PHY> on miibus0
 > e1000phy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX,
 > 1000baseTX-FDX, auto
 > nfe0: Ethernet address: 00:18:f3:d4:43:1e
 > nfe0: [FAST]
 > 
 > ifconfig (output is the same in both working and non-working cases):
 > nfe0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
 >         options=8<VLAN_MTU>
 >         inet 10.2.1.87 netmask 0xfffffc00 broadcast 10.2.3.255
 >         ether 00:18:f3:d4:43:1e
 >         media: Ethernet autoselect (1000baseTX <full-duplex,flag0,flag1>)
 >         status: active
 > 
 > pciconf:
 > nfe0 at pci0:20:0: class=0x068000 card=0x816a1043 chip=0x026910de rev=0xa3
 > hdr=0x00
 >     vendor     = 'Nvidia Corp'
 >     device     = 'MCP51 Network Bus Enumerator'
 >     class      = bridge
 > 
 > 
 > P.S. as always with network issues, I understand that it may be not so
 > simple, e.g. some interaction between the card and the switch, etc.
 > 

After applying attached patch and let me know the output of
"devid : xxx, revid : xxx, pwr = xxx". It would be even better
if you can show me the above message for working/non-working case.

-- 
Regards,
Pyun YongHyeon
-------------- next part --------------
--- if_nfe.c.orig	2008-01-18 10:50:48.000000000 +0900
+++ if_nfe.c	2008-02-01 21:30:27.000000000 +0900
@@ -770,6 +770,10 @@
 	DELAY(100);
 	NFE_WRITE(sc, NFE_RXTX_CTL, NFE_RXTX_BIT2);
 	pwr = NFE_READ(sc, NFE_PWR2_CTL);
+#if 1
+	printf("devid : %x, revid : %x, pwr = %08x\n",
+	    sc->nfe_devid, sc->nfe_devid, pwr);
+#endif
 	pwr &= ~NFE_PWR2_WAKEUP_MASK;
 	if (sc->nfe_revid >= 0xa3 &&
 	    (sc->nfe_devid == PCI_PRODUCT_NVIDIA_NFORCE430_LAN1 ||


More information about the freebsd-stable mailing list