Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Nov 2006 13:37:01 -1000
From:      Randy Bush <randy@psg.com>
To:        Robert Watson <rwatson@FreeBSD.org>
Cc:        freebsd-net@freebsd.org, FreeBSD Current <freebsd-current@freebsd.org>
Subject:   Re: fxp going quiescent in current
Message-ID:  <17754.21277.210338.175055@roam.psg.com>
References:  <17752.41644.706579.902238@roam.psg.com> <17753.64161.965166.601002@roam.psg.com> <20061114181823.K87081@fledge.watson.org>

next in thread | previous in thread | raw e-mail | index | archive | help
Mike Tancsa <mike@sentex.net> suggested i try
    ifconfig fxp0 media 10baseT/UTP
    ifconfig fxp0 media autoselect
this worked!

i will next reboot with in_fxp.c reverted to pre 2006.10.06.

but first i did the suggested analysis, which follows.

> (1) When it's "dead", do interrupts still fire for the interface when packets
>      go near by?  See vmstat -i.

nope

> (2) Does the driver think the link is still negotiated?  What are the
>      interface flags set to?  See ifconfig.

same as in first post on this whine

# ifconfig fxp0
fxp0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
        options=8<VLAN_MTU>
        inet 147.28.0.39 netmask 0xffffff00 broadcast 147.28.0.255
        inet 147.28.0.40 netmask 0xffffffff broadcast 147.28.0.40
        ether 00:30:48:51:c8:5e
        media: Ethernet 100baseTX <full-duplex>
        status: active

> (3) When you run tcpdump on the interace, does it see packets from the
>     outside world?

nope.  only this interface issuing arp requests etc.

> (4) If you ping out the interface, does tcpdump see packets?  Do you get
>      ENOBUFS?  Have ping send at least 256 packets.  Do you get errors?  Send
>      to the broadcast address so that arp doesn't need to be working to
>      transmit.

fun one as, when it is in this state, i have only serial access through
the craft port.  this machine is 4000km away in a rack.  so i nohupped
and backgrounded the pinger, and watched tcpdump.

nohup.out showed zero response

ping: sendto: Host is down
ping: sendto: Host is down
ping: sendto: Host is down
PING 147.28.0.35 (147.28.0.35): 56 data bytes

--- 147.28.0.35 ping statistics ---
325 packets transmitted, 0 packets received, 100.0% packet loss

tcpdump showed only the arp requests

23:32:41.459630 arp who-has 147.28.0.35 tell 147.28.0.39
23:32:42.460575 arp who-has 147.28.0.35 tell 147.28.0.39
23:32:43.461486 arp who-has 147.28.0.35 tell 147.28.0.39
23:32:44.462426 arp who-has 147.28.0.35 tell 147.28.0.39
23:32:45.463347 arp who-has 147.28.0.35 tell 147.28.0.39
23:32:46.464279 arp who-has 147.28.0.35 tell 147.28.0.39

> (5) What does netstat -m show?

# netstat -m
132/693/825 mbufs in use (current/cache/total)
128/262/390/17088 mbuf clusters in use (current/cache/total/max)
128/256 mbuf+clusters out of packet secondary zone in use (current/cache)
0/28/28/0 4k (page size) jumbo clusters in use (current/cache/total/max)
0/0/0/0 9k jumbo clusters in use (current/cache/total/max)
0/0/0/0 16k jumbo clusters in use (current/cache/total/max)
289K/809K/1098K bytes allocated to network (current/cache/total)
0/0/0 requests for mbufs denied (mbufs/clusters/mbuf+clusters)
0/0/0 requests for jumbo clusters denied (4k/9k/16k)
0/22/4528 sfbufs in use (current/peak/max)
0 requests for sfbufs denied
0 requests for sfbufs delayed
30 requests for I/O initiated by sendfile
0 calls to protocol drain routines

> (6) Any unusual dmesg output?  In particular, any mention of fxp state
> changes or watchdogs firing?

nope

# dmesg | grep fxp
fxp0: <Intel 82559 Pro/100 Ethernet> port 0x9800-0x983f mem 0xe2203000-0xe2203fff,0xe2100000-0xe21fffff irq 5 at device 6.0 on pci2
miibus0: <MII bus> on fxp0
fxp0: Ethernet address: 00:30:48:51:c8:5e
fxp1: <Intel 82559 Pro/100 Ethernet> port 0x9c00-0x9c3f mem 0xe2201000-0xe2201fff,0xe2000000-0xe20fffff irq 12 at device 7.0 on pci2
miibus1: <MII bus> on fxp1
fxp1: Ethernet address: 00:30:48:51:c8:5f
fxp0: link state changed to UP
fxp0: promiscuous mode enabled
fxp0: promiscuous mode disabled

> (7) Does lowering the interface, waiting ten seconds, then raising it
>     help?

nope

> Notice that these are all much easier if you have a serial console.

well, most of them are :).

> If not, you might want to do the above using cron and a temporary file
> followed by a reboot.  :-)

i hope to do better than that :)

randy




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?17754.21277.210338.175055>