Error: em0: Watchdog timeout -- resetting
Vladislav V. Prodan
universite at ukr.net
Wed Aug 25 21:39:15 UTC 2010
Add to /etc/rc.local :
ifconfig em0 debug
ifconfig em0 media 100baseTX mediaopt full-duplex
For in rc.conf not working these options:
#ifconfig_em0="100baseTX mediaopt full-duplex"
#ifconfig_em0="debug -vlanmtu -vlanhwtag -vlanhwfilter -vlanhwtso -wol"
Now the network card looks like this:
# ifconfig em0 | grep -v inet
em0: flags=8847<UP,BROADCAST,DEBUG,RUNNING,SIMPLEX,MULTICAST> metric 0
mtu 1500
options=219b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,TSO4,WOL_MAGIC>
ether 00:25:90:05:83:7a
nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
media: Ethernet 100baseTX <full-duplex>
status: active
25.08.2010 0:57, Vladislav V. Prodan wrote:
> The server is sometimes off the network card.
> It helps just to restart via KVM-IPMI.
>
> MotherBoard: X8SIL/X8SIL-F
> BIOS Version: 1.0c
> Build Date: 02/05/10
>
> OS: FreeBSD 8.1-RELEASE, FreeBSD 8.1-STABLE, FreeBSD 9.0-CURRENT
>
> What would you recommend to address the problem?
>
>
> # uname -a
> FreeBSD solo.XXX.biz 9.0-CURRENT FreeBSD 9.0-CURRENT #0: Tue Aug 24
> 15:52:21 EEST 2010 root at solo.XXX.biz:/usr/obj/usr/src/sys/solo.2 amd64
>
> #pciconf -lv
> ...
> em0 at pci0:2:0:0: class=0x020000 card=0x060515d9 chip=0x10d38086 rev=0x00
> hdr=0x00
> vendor = 'Intel Corporation'
> device = 'Intel 82574L Gigabit Ethernet Controller (82574L)'
> class = network
> subclass = ethernet
> em1 at pci0:3:0:0: class=0x020000 card=0x060515d9 chip=0x10d38086 rev=0x00
> hdr=0x00
> vendor = 'Intel Corporation'
> device = 'Intel 82574L Gigabit Ethernet Controller (82574L)'
> class = network
> subclass = ethernet
> ...
>
> In /usr/src/sys/dev/e1000/if_em.c:
>
> static void
> em_local_timer(void *arg)
> {
> struct adapter *adapter = arg;
> struct ifnet *ifp = adapter->ifp;
> struct tx_ring *txr = adapter->tx_rings;
>
> EM_CORE_LOCK_ASSERT(adapter);
>
> em_update_link_status(adapter);
> em_update_stats_counters(adapter);
>
> /* Reset LAA into RAR[0] on 82571 */
> if (e1000_get_laa_state_82571(&adapter->hw) == TRUE)
> e1000_rar_set(&adapter->hw, adapter->hw.mac.addr, 0);
>
> /*
> ** Check for time since any descriptor was cleaned
> */
> for (int i = 0; i < adapter->num_queues; i++, txr++) {
> EM_TX_LOCK(txr);
> if (txr->watchdog_check == FALSE) {
> EM_TX_UNLOCK(txr);
> continue;
> }
> if ((ticks - txr->watchdog_time) > EM_WATCHDOG)
> goto hung;
> EM_TX_UNLOCK(txr);
> }
>
> callout_reset(&adapter->timer, hz, em_local_timer, adapter);
> return;
> hung:
> device_printf(adapter->dev, "Watchdog timeout -- resetting\n");
> ifp->if_drv_flags &= ~IFF_DRV_RUNNING;
> adapter->watchdog_events++;
> EM_TX_UNLOCK(txr);
> em_init_locked(adapter);
> }
>
> Someone will finish the piece for debugging, to further diagnose the error?
>
> _______________________________________________
> freebsd-net at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-net
> To unsubscribe, send any mail to "freebsd-net-unsubscribe at freebsd.org"
>
>
>
More information about the freebsd-net
mailing list