em0: Watchdog timeout -- resetting -> Netzwerk stirbt

Errorsmith

Kompiliertier
Moin

Ich versuche gerade einen Rechner mit FreeBSD 9.1 aufzusetzen.
Standardprozedere: Mit der Miniboot installieren, über csup die Quellen aktualisieren und das System auf einen aktuellen Stand bringen, danach die notwendigen Ports kompilieren. Besonderheit bei diesem Rechner: Es handelt sich um einen diskless Client mit NFS root.

Unter Last, also zum Beispiel bei make buildworld, bekomme ich auf der Konsole nach einiger Zeit die Meldung "em0: Watchdog timeout -- resetting".
In der Folge ist das System nicht mehr ansprechbar, alle Netzwerkverbindungen sind unterbrochen, er reagiert nicht mehr auf ping. Da das root auf NFS liegt, hängt er sich durch die unterbrochene Verbindung komplett weg, ist aber theoretisch über die Konsole noch ansprechbar.

Letzte Änderung am System: Ich habe dem Teil eine Gigabit NIC von Intel spendiert. Vorher habe ich - ohne Probleme - die Via Rhine Onboard NIC benutzt, Grund für den Austausch war die Tatsache das die Onboardkarte nur 100MBit kann, die PCI Karte hingegen 1000MBit.

Bisher habe ich:
- gegooglet wie doof
- Die Karte umgesteckt
- verschiedene ifconfig Parameter getestet (u.a. tcp-offloading deaktivert, fixe media settings)
- diverse tunables versucht
- mit oldnfs statt nfs in der fstab gemountet
- anderen Steckplatz am Switch getestet, Switch selber getestet

Nun bin ich mit meinem Latein am Ende.

Zwei Fragen daher:
1. Was genau passiert da
2. Wie kriege ich das weg?

Noch ein wenig Info zum System:

Dies ist zur Zeit installiert:
Code:
FreeBSD puck 9.1-RELEASE FreeBSD 9.1-RELEASE #0 r243826: Tue Dec  4 06:55:39 UTC 2012     root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC  i386

dmesg:
Code:
Copyright (c) 1992-2012 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD is a registered trademark of The FreeBSD Foundation.
FreeBSD 9.1-RELEASE #0 r243826: Tue Dec  4 06:55:39 UTC 2012
    root@obrian.cse.buffalo.edu:/usr/obj/usr/src/sys/GENERIC i386
CPU: AMD Athlon(TM) XP 3000+ (2166.47-MHz 686-class CPU)
  Origin = "AuthenticAMD"  Id = 0x6a0  Family = 6  Model = a  Stepping = 0
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
  AMD Features=0xc0400800<SYSCALL,MMX+,3DNow!+,3DNow!>
real memory  = 1073741824 (1024 MB)
avail memory = 1031073792 (983 MB)
Event timer "LAPIC" quality 400
ACPI APIC Table: <ASUS   A7V600-X>
ioapic0: Changing APIC ID to 2
ioapic0 <Version 0.3> irqs 0-23 on motherboard
kbd1 at kbdmux0
ctl: CAM Target Layer loaded
acpi0: <ASUS A7V600-X> on motherboard
acpi0: Power Button (fixed)
acpi0: reservation of 0, a0000 (3) failed
acpi0: reservation of 100000, 3ff00000 (3) failed
cpu0: <ACPI CPU> on acpi0
attimer0: <AT timer> port 0x40-0x43 irq 0 on acpi0
Timecounter "i8254" frequency 1193182 Hz quality 0
Event timer "i8254" frequency 1193182 Hz quality 100
atrtc0: <AT realtime clock> port 0x70-0x73 irq 8 on acpi0
Event timer "RTC" frequency 32768 Hz quality 0
Timecounter "ACPI-fast" frequency 3579545 Hz quality 900
acpi_timer0: <32-bit timer at 3.579545MHz> port 0xe408-0xe40b on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA 8377 (Apollo KT400/KT400A/KT600) host to PCI bridge> on hostb0
agp0: aperture size is 64M
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
vgapci0: <VGA-compatible display> mem 0xde000000-0xdeffffff,0xe0000000-0xefffffff,0xdd000000-0xddffffff irq 16 at device 0.0 on pci1
em0: <Intel(R) PRO/1000 Legacy Network Connection 1.0.4> port 0xd800-0xd83f mem 0xdc800000-0xdc81ffff,0xdc000000-0xdc01ffff irq 17 at device 14.0 on pci0
em0: Ethernet address: 90:e2:ba:2d:c7:1b
atapci0: <VIA 6420 SATA150 controller> port 0xd400-0xd407,0xd000-0xd003,0xb800-0xb807,0xb400-0xb403,0xb000-0xb00f,0xa800-0xa8ff at device 15.0 on pci0
ata2: <ATA channel> at channel 0 on atapci0
ata3: <ATA channel> at channel 1 on atapci0
atapci1: <VIA 8237 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xa400-0xa40f irq 20 at device 15.1 on pci0
ata0: <ATA channel> at channel 0 on atapci1
ata1: <ATA channel> at channel 1 on atapci1
uhci0: <VIA 83C572 USB controller> port 0xa000-0xa01f at device 16.0 on pci0
usbus0 on uhci0
uhci1: <VIA 83C572 USB controller> port 0x9800-0x981f at device 16.1 on pci0
usbus1 on uhci1
uhci2: <VIA 83C572 USB controller> port 0x9400-0x941f at device 16.2 on pci0
usbus2 on uhci2
uhci3: <VIA 83C572 USB controller> port 0x9000-0x901f at device 16.3 on pci0
usbus3 on uhci3
ehci0: <VIA VT6202 USB 2.0 controller> mem 0xdb800000-0xdb8000ff at device 16.4 on pci0
usbus4: EHCI version 1.0
usbus4 on ehci0
isab0: <PCI-ISA bridge> at device 17.0 on pci0
isa0: <ISA bus> on isab0
pcm0: <VIA VT8237> port 0xe000-0xe0ff at device 17.5 on pci0
pcm0: <Analog Devices AD1888 AC97 Codec>
pcm0: <VIA DXS Enabled: DXS 4 / SGD 1 / REC 1>
ppc0: <Parallel port> port 0x378-0x37f,0x778-0x77b irq 7 drq 3 on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/16 bytes threshold
ppbus0: <Parallel port bus> on ppc0
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
uart0: <16550 or compatible> port 0x3f8-0x3ff irq 4 flags 0x10 on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model IntelliMouse, device ID 3
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xd0000-0xd0fff pnpid ORM0000 on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounters tick every 1.000 msec
usbus0: 12Mbps Full Speed USB v1.0
usbus1: 12Mbps Full Speed USB v1.0
usbus2: 12Mbps Full Speed USB v1.0
usbus3: 12Mbps Full Speed USB v1.0
usbus4: 480Mbps High Speed USB v2.0
ugen0.1: <VIA> at usbus0
uhub0: <VIA UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus0
ugen1.1: <VIA> at usbus1
uhub1: <VIA UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus1
ugen2.1: <VIA> at usbus2
uhub2: <VIA UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus2
ugen3.1: <VIA> at usbus3
uhub3: <VIA UHCI root HUB, class 9/0, rev 1.00/1.00, addr 1> on usbus3
ugen4.1: <VIA> at usbus4
uhub4: <VIA EHCI root HUB, class 9/0, rev 2.00/1.00, addr 1> on usbus4
uhub0: 2 ports with 2 removable, self powered
uhub1: 2 ports with 2 removable, self powered
uhub2: 2 ports with 2 removable, self powered
uhub3: 2 ports with 2 removable, self powered
Timecounter "TSC" frequency 2166474913 Hz quality 800
cd0 at ata0 bus 0 scbus2 target 1 lun 0
cd0: <AOPEN CRW1232 1.22> Removable CD-ROM SCSI-0 device
cd0: 16.700MB/s transfers (WDMA2, ATAPI 12bytes, PIO 65534bytes)
cd0: Attempt to query device size failed: NOT READY, Medium not present
Root mount waiting for: usbus4
uhub4: 8 ports with 8 removable, self powered
Trying to mount root from oldnfs:x.x.x.x:/usr/data/tftpboot/clients/puck-fbsd91 [rw,rsize=32768,wsize=32768]...
Mounting from oldnfs:x.x.x.x:/usr/data/tftpboot/clients/puck-fbsd91 failed with error 2: unknown file system.
Trying to mount root from nfs: []...
NFS ROOT: x.x.x.x:/usr/data/tftpboot/clients/puck-fbsd91

pciconf -lv
Code:
...
em0@pci0:0:14:0:        class=0x020000 card=0x13768086 chip=0x107c8086 rev=0x05 hdr=0x00
    vendor     = 'Intel Corporation'
    device     = '82541PI Gigabit Ethernet Controller'
    class      = network
    subclass   = ethernet
...

ifconfig
Code:
em0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
        options=209b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_MAGIC>
        ether 90:e2:ba:2d:c7:1b
        inet x.x.x.x netmask 0xffffff00 broadcast x.x.x.255
        inet6 fe80::92e2:baff:fe2d:c71b%em0 prefixlen 64 tentative scopeid 0x1
        nd6 options=29<PERFORMNUD,IFDISABLED,AUTO_LINKLOCAL>
        media: Ethernet autoselect (1000baseT <full-duplex>)
        status: active

Nachtrag:
Soweit kommt das buildworld:
Code:
--------------------------------------------------------------
>>> World build started on Sat Apr 20 22:08:16 UTC 2013
--------------------------------------------------------------

--------------------------------------------------------------
>>> Rebuilding the temporary build tree
--------------------------------------------------------------
rm -rf /usr/obj/usr/src/tmp
mkdir -p /usr/obj/usr/src/tmp/lib
mkdir -p /usr/obj/usr/src/tmp/usr
mkdir -p /usr/obj/usr/src/tmp/legacy/usr
mtree -deU -f /usr/src/etc/mtree/BSD.usr.dist  -p /usr/obj/usr/src/tmp/legacy/usr >/dev/null
mtree -deU -f /usr/src/etc/mtree/BSD.groff.dist  -p /usr/obj/usr/src/tmp/legacy/usr >/dev/null
mtree -deU -f /usr/src/etc/mtree/BSD.usr.dist  -p /usr/obj/usr/src/tmp/usr >/dev/null
mtree -deU -f /usr/src/etc/mtree/BSD.include.dist  -p /usr/obj/usr/src/tmp/usr/include >/dev/null
ln -sf /usr/src/sys /usr/obj/usr/src/tmp

--------------------------------------------------------------
>>> stage 1.1: legacy release compatibility shims
--------------------------------------------------------------
cd /usr/src; MAKEOBJDIRPREFIX=/usr/obj/usr/src/tmp  INSTALL="sh /usr/src/tools/install.sh"  PATH=/usr/obj/usr/src/tmp/legacy/usr/sbin:/usr/obj/usr/src/tmp/legacy/usr/bin:/usr/obj/usr/src/tmp/legacy/usr/games:/sbin:/bin:/usr/sbin:/usr/bin  WORLDTMP=/usr/obj/usr/src/tmp  VERSION="FreeBSD 9.1-RELEASE i386 901000"  MAKEFLAGS="-m /usr/src/tools/build/mk  -m /usr/src/share/mk TARGET=i386 TARGET_ARCH=i386"  COMPILER_TYPE=gcc make -f Makefile.inc1  DESTDIR=  BOOTSTRAPPING=901000  SSP_CFLAGS=  -DWITHOUT_HTML -DWITHOUT_INFO -DNO_LINT -DWITHOUT_MAN  -DNO_PIC -DWITHOUT_PROFILE -DNO_SHARED  -DNO_CPU_CFLAGS -DNO_WARNS -DNO_CTF -DEARLY_BUILD legacy
===> tools/build (obj,includes,depend,all,install)
/usr/obj/usr/src/tmp/usr/src/tools/build created for /usr/src/tools/build
cd /usr/src/tools/build; make buildincludes; make installincludes
rm -f .depend
mkdep -f .depend -a    -I/usr/src/tools/build/../../contrib/libc-pwcache -I/usr/src/tools/build/../../lib/libc/include -I/usr/src/tools/build/../../contrib/libc-vis -I/usr/src/tools/build/../../lib/libc/include -I/usr/obj/usr/src/tmp/legacy/usr/include -std=gnu99   /usr/src/tools/build/../../contrib/libc-pwcache/pwcache.c /usr/src/tools/build/../../contrib/libc-vis/vis.c
cc  -O2 -fno-strict-aliasing -pipe -I/usr/src/tools/build/../../contrib/libc-pwcache  -I/usr/src/tools/build/../../lib/libc/include -I/usr/src/tools/build/../../contrib/libc-vis  -I/usr/src/tools/build/../../lib/libc/include -std=gnu99   -I/usr/obj/usr/src/tmp/legacy/usr/include -c /usr/src/tools/build/../../contrib/libc-pwcache/pwcache.c -o pwcache.o

Grüße,
errorsmith
 
Zuletzt bearbeitet:
"watchdog timeout" bedeutet, dass die Karte abgestürzt ist oder der Treiber meint, dass sie es sei. Und da sowas eigentlich nicht passiert, ist das etwas nicht in Ordnung:
- Die Karte ist im Eimer
- Board und Karte vertragen sich nicht
- Die Konfigurationsautomagie versagt
Normalerweise sollte die Karte nach einigen Sekunden neu gestartet wieder im System auftauchen und ihre Arbeit fortsetzen. Stochern wir also erstmal etwas in der Magie herum. Schaue mal mit "vmstat -i" wie deine Interrupts verteilt sind. Vor allem, ob die Karte sich ihren mit einem anderen Gerät teilt.
 
Moin

Das dann so aus:
Code:
root@puck:/root # vmstat -i
interrupt                          total       rate
irq1: atkbd0                           1          0
irq14: ata0                           44          0
irq17: em0                         13711         34
cpu0:timer                         30944         78
Total                              44700        113

Ich hatte die Karte auch in den einzigen Slot umgesteckt, der sich laut Mainboard-Doku keinen IRQ mit anderen Geräten teilt. Da steckt sie jetzt auch noch.

Grüße,
errorsmith
 
Ich hab das nun aufgegeben und die Intel Karte ausgebaut.
Das Board ist 100% in Ordnung - es läuft stabil bisher, die Karte ist neu und läuft in meinem Test-Rechner ohne Probleme.

Eine Vermutung:
Die recht betagte Board/CPU Kombi (Asus A7V600-X & AMD XP@2167MHz) sind nicht in der Lage die schnelle GBit Karte ausreichend zu füttern. Mit der Onboard Karte läuft es, halt nur im 100MBit Betrieb, aber wenigstens zuverlässig.

Bei Google habe ich auch nichts gefunden das weiterhelfen würde, die wenigen Beiträge die zum Thema auftauchen, legen den Austausch von Komponenten nahe.


Grüße,
errorsmith
 
Mir würde höchstens noch einfallen, mal zu schauen ob es für das Board ein neueres Bios gibt.

An sonsten...ACPI mal testweise deaktivieren und schauen, ob das was hilft?
 
Moin

Mal sehen. Vielleicht baue ich die Karte nochmal ein wenn die ganze Kompiliererei durch ist. ACPI hatte ich versucht, das hat nichts gebacht


grüße,
errorsmith
 
Hach, das gute Asus A7V600-X. Damit hatte ich viel Freude, im positiven Sinne. Steckte lange Jahre in meinem Fileserver, der nebenbei kräftig bei seti@home mitgerechnet hat. Doch Strom wurde teurer und teurer, irgendwann wollte man mehr Durchsatz haben... Leider war das Board jedoch unter dem Strich recht zickig, was sicher auch an dem berüchtigten VIA KT600 Chipsatz lag. Ich habe die Onboard-SATA-Controller z.B. nie dazu bringen können, Platten mit mehr als ~180GB Speicherplatz zu akzeptieren. Die Erfahrungen mit einer Atheros WLAN-Karte - ich weiß nicht mehr, welcher Chip das genau war - waren auch nicht so prickelnd. Das System bliebt teilweise minutenlang eingefroren stehen. Daher würde ich auf Inkompatiblität tippen. Aber wenn es dir hilft, kann ich am Wochenende gern mal eine Intel-NIC einstecken und schauen, was passiert.
 
...Steckte lange Jahre in meinem Fileserver, der nebenbei kräftig bei seti@home mitgerechnet hat....

OT an:

gibt es das noch?
Könnte natürlich selbst googeln, mhhm.
Aber vielleicht hast du eine schnelle Antwort.
Früher, als Uptime mich mehr beeindruckte, als meine Stromrechnung, hatte ich regelmäßig Rechnerpower an SETI oder BOINK verteilt.

Gibt es solche Projekte noch?
 
Ja, gerade BOINC ist ganz vorn mit dabei. Da gibt es etliche Projekte, viele auch deutlich sinnvoller als die Suche nach Außerirdischen. Aber damit eine Teilnahme noch sinnvoll ist, muss man schon eine sehr dicke CPU haben. Bei einigen Projekten sogar eine GPU und dann ist FreeBSD raus. Das wiederum bedeutet viel Stromverbrauch...
 
Ach ja, SETI@Home... Das waren noch Zeiten. In meiner alten WG hatten wir so an die zehn Rechner, damals noch Linux, einige davon hatten den auch drauf. Ist aber auch schon knapp elf Jahre her. Ich bin irgendwann ausgestiegen als sie mit BOINC anfingen. Heutzutage lohnt es sich nicht mehr wirklich für mich:
Die Rechner die bei mir dauernd / meistens laufen, haben nicht ansatzweise genug Power für sowas und die beiden "großen" will ich nicht dauernd eingeschaltet lassen.
Zur GPU: Ausprobiert hab ichs trotzdem, wenn ich die GPU mit einbeziehe schmiert die Kiste zuverlässig ab.

@Yamagi: Wäre toll wenn du das mal testen könntest. Würde mich interessieren.
Ich werde heute Nacht oder so die Karte nochmal einbauen und dann berichten. (Mache mir aber nicht so viel Hoffnung diesbezüglich.) Ist auch nicht sooo das Drama jetzt. Die Kiste ist nur ne Surfstation, aber da er ein NFS root hat wäre der höhere Durschatz halt wünschenswert.

Das A7V600-X habe ich übrigens jahrelang als Standardboard in meine Rechner geschraubt, die einzigen Probleme die ich damit hatte, hingen mit inkompatiblen RAM Riegeln zusammen, es mag bestimmte Kombinationen von RAM-Takt und CPU Takt nicht. Sonst habe ich damit nie irgendwelche Probleme gehabt.

Die Kombination Intel GBit Karte und A7V600-X läuft in einem anderen Rechner den ich im Wohnzimmer stehen habe auch problemlos, allerdings unter Linux (Mythbuntu). Daher hatte ich erstmal nicht nach diesbezüglichen Problemen gesucht.

Grüße,
errorsmith
 
Fürs Archiv:
Auch mit einem aktuellen FreeBSD stirbt die Karte mit dem beschriebenen Fehler sobald sie Last bekommt. Scheint also entweder ein Mainboard vs. NIC Problem zu sein, oder ein Defekt an der Karte.

Grüße,
errorsmith
 
Etwas spät, aber ich habe es getestet: Meine em(4) funktioniert auf dem Board. Wobei das nun leider gar nicht mal so viel zusagen hat, da es eine Menge unterschiedlichster Karten für den Treiber gibt.
 
Macht ja nix. Es scheint aber trotzdem am Board zu liegen:
Ich hab die Karte in ein recht obskures Asrock-Board gesteckt, dort tut sie ohne Zicken ihren Dienst. OS Version ist auch die gleiche. *schulterzuck*
Vielleicht ist auch einfach das alte Asus Board nicht mehr in der Lage die Karte ausreichend zu "füttern", keine Ahnung.

Grüße,
errorsmith
 
Hatte öfter ähnliche Probleme, konnte es bis jetzt immer auf 2 Arten lösen:
- fröhliches Steckplatztauschen, dabei immer ESCD oder ähnliche Config-Caches löschen
- auch wenn nicht mehr zeitgemäß: device polling einsetzen (man polling), sollte grade mit den Intel-Karten gut funktionieren
 
Zurück
Oben