/ Forside / Teknologi / Operativsystemer / Linux / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Linux
#NavnPoint
o.v.n. 11177
peque 7911
dk 4814
e.c 2359
Uranus 1334
emesen 1334
stone47 1307
linuxrules 1214
Octon 1100
10  BjarneD 875
watchdog timeout ? -BSD
Fra : Rune Klausen


Dato : 28-11-01 12:37

Hvorfor fik BSD lyst til at skrive det her:

Nov 28 12:32:58 rune /kernel: vr0: watchdog timeout


og hvad betyder det ?

-Rune





 
 
Lasse Jensen (28-11-2001)
Kommentar
Fra : Lasse Jensen


Dato : 28-11-01 13:41

On Wed, 28 Nov 2001 12:37:22 +0100, "Rune Klausen"
<rune.klausen@paradis.dk> wrote:

>Hvorfor fik BSD lyst til at skrive det her:
>
>Nov 28 12:32:58 rune /kernel: vr0: watchdog timeout

Det har sikkert noget med en hardware fejl at gøre.

>og hvad betyder det ?

Et watchdog er et stykke hardware der kan genstarte computeren, hvis
den låser. Den fungerer ved at en timer tæller ned og hvis computeren
ikke sender et signal inden den når nul, genstartes den ellers
berynder timeren forfra. Formålet med den er at istedet for at en
server vil stå og være lålst indtil der kommer nogen forbi og trykker
"reset" vil den genstarte og kun være nede nogle minutter.
---
Lasse Jensen [rdx at worldonline dot dk]
Linux, the choice of a GNU generation.

Michael Rasmussen (28-11-2001)
Kommentar
Fra : Michael Rasmussen


Dato : 28-11-01 15:55

Rune Klausen wrote:
>
> Nov 28 12:32:58 rune /kernel: vr0: watchdog timeout
>
> og hvad betyder det ?

Det er vr-driveren der kører meget dårligt under de nyere FreeBSD
udgaver (muligvis også andre *BSD'er). I bund og grund bevirker det, at
netkortet "låser fast" ved høj belastning, f.eks. FTP eller Samba
overførelser. Det værste er, at det ikke begynder at virke igen, hvilket
er virkelig irriterende på en maskine man ikke har fysisk adgang til.

Der har tidligere været en løsning til FreeBSD 4.x, hvor man simpelthen
gik tilbage til en tidligere driver version, men med FreeBSD 4.4 ser
denne løsning ikke ud til at virke. Den hårde konklusion bliver, i mit
tilfælde, at købe et andet netkort, der ikke benytter vr-driveren.

Jeg har hørt meget godt om <URL:
http://www.trendnet.dk/home/specs.asp?2>, men endnu ikke fået et
installeret i min maskine.


--
Med venlig hilsen
Michael Rasmussen


Rune Klausen (28-11-2001)
Kommentar
Fra : Rune Klausen


Dato : 28-11-01 16:05


"Michael Rasmussen" <michael@chatroom-dansk.dk> wrote in message
news:3C04FAD9.EB93775F@chatroom-dansk.dk...

> Der har tidligere været en løsning til FreeBSD 4.x, hvor man simpelthen
> gik tilbage til en tidligere driver version, men med FreeBSD 4.4 ser
> denne løsning ikke ud til at virke. Den hårde konklusion bliver, i mit
> tilfælde, at købe et andet netkort, der ikke benytter vr-driveren.

Jeg har FreeBSD 4.3

> Jeg har hørt meget godt om <URL:
> http://www.trendnet.dk/home/specs.asp?2>, men endnu ikke fået et
> installeret i min maskine.

jeg går så udfra at det ikke benytter vr driveren.
2x350kr er allivel en del når man kun er på SU :/

Da jeg også gerne vil have skiftet mit Realtek 8139 kort ud med et andet,
for min BSD kører sku ikke helt optimalt...

f.eks. når jeg henter fra news, 1 fil, så kører den ikke særlig godt, men
når jeg henter 4 filer på samme tid, så kører den fint 2Mbps

-Rune



Michael Rasmussen (28-11-2001)
Kommentar
Fra : Michael Rasmussen


Dato : 28-11-01 16:36

Rune Klausen wrote:
>
> Jeg har FreeBSD 4.3
>

Så burde følgende virke, det har det i hvert fald gjort for mig i sin
tid. Det er lidt vanskeligt, men jeg skal forsøge at forklare det så
enkelt som muligt.

Punkt 1:

Lav backup af de nuværende drivere, if_vr.c og if_vrreg.h, der ligger i
biblioteket "/sys/pci".

Punkt 2:

Hent version 1.17 af if_vr.c fra CVS og placer den i "/sys/pci". Så vidt
jeg husker blev filens linieskift ændret, hvis man benyttede wget, så
brug evt. fetch:

# fetch http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/pci/if_vr.c?rev=1.17

Dernæst skal du hente version 1.6 af if_vrreg.h, v.h.a.:

# fetch http://www.freebsd.org/cgi/cvsweb.cgi/src/sys/pci/if_vrreg.h?rev=1.6

Sørg for at begge filer hedder henholdsvis if_vr.c og if_vrreg.h, og
befinder sig i "/sys/pci".

Punkt 3:

Gem den vedlagte diff-fil i "/sys/pci", og udfør følgende kommando i biblioteket:

# patch <vrfix.diff

Punkt 4:

Nu er du klar til at bygge en ny kerne, som gerne skulle kører noget
bedre med vr-driveren. I mit tilfælde løste det problemet helt.

Jeg går udfra at du ved hvordan man bygger en kerne, da du i følge et
andet indlæg benytter ipfw :)

--
Med venlig hilsen
Michael Rasmussen

--------------- vrfix.diff - starter herunder ---------------

--- if_vr.c Fri Sep 17 13:25:30 1999
+++ if_vr.c.patched Sun Feb 11 19:02:19 2001
@@ -59,8 +59,6 @@
* transmission.
*/

-#include "bpf.h"
-
#include <sys/param.h>
#include <sys/systm.h>
#include <sys/sockio.h>
@@ -75,9 +73,7 @@
#include <net/if_dl.h>
#include <net/if_media.h>

-#if NBPF > 0
#include <net/bpf.h>
-#endif

#include "opt_bdg.h"
#ifdef BRIDGE
@@ -116,6 +112,8 @@
"VIA VT3043 Rhine I 10/100BaseTX" },
{ VIA_VENDORID, VIA_DEVICEID_RHINE_II,
"VIA VT86C100A Rhine II 10/100BaseTX" },
+ { VIA_VENDORID, VIA_DEVICEID_RHINE_II_2,
+ "VIA VT6102 Rhine II 10/100BaseTX" },
{ DELTA_VENDORID, DELTA_DEVICEID_RHINE_II,
"Delta Electronics Rhine II 10/100BaseTX" },
{ ADDTRON_VENDORID, ADDTRON_DEVICEID_RHINE_II,
@@ -1163,12 +1161,7 @@
/*
* Call MI attach routines.
*/
- if_attach(ifp);
- ether_ifattach(ifp);
-
-#if NBPF > 0
- bpfattach(ifp, DLT_EN10MB, sizeof(struct ether_header));
-#endif
+ ether_ifattach(ifp, ETHER_BPF_SUPPORTED);

fail:
splx(s);
@@ -1188,7 +1181,7 @@
ifp = &sc->arpcom.ac_if;

vr_stop(sc);
- if_detach(ifp);
+ ether_ifdetach(ifp, ETHER_BPF_SUPPORTED);

bus_teardown_intr(dev, sc->vr_irq, sc->vr_intrhand);
bus_release_resource(dev, SYS_RES_IRQ, 0, sc->vr_irq);
@@ -1634,14 +1627,14 @@

MGETHDR(m_new, M_DONTWAIT, MT_DATA);
if (m_new == NULL) {
- printf("vr%d: no memory for tx list", sc->vr_unit);
+ printf("vr%d: no memory for tx list\n", sc->vr_unit);
return(1);
}
if (m_head->m_pkthdr.len > MHLEN) {
MCLGET(m_new, M_DONTWAIT);
if (!(m_new->m_flags & M_EXT)) {
m_freem(m_new);
- printf("vr%d: no memory for tx list",
+ printf("vr%d: no memory for tx list\n",
sc->vr_unit);
return(1);
}
@@ -1717,7 +1710,12 @@
sc->vr_cdata.vr_tx_free = cur_tx->vr_nextdesc;

/* Pack the data into the descriptor. */
- vr_encap(sc, cur_tx, m_head);
+ if(vr_encap(sc, cur_tx, m_head)) {
+ IF_PREPEND(&ifp->if_snd, m_head);
+ ifp->if_flags |= IFF_OACTIVE;
+ cur_tx = NULL;
+ break;
+ }

if (cur_tx != start_tx)
VR_TXOWN(cur_tx) = VR_TXSTAT_OWN;
--- if_vrreg.h Fri Aug 27 19:50:59 1999
+++ if_vrreg.h.patched Sun Feb 11 19:00:20 2001
@@ -450,6 +450,7 @@
*/
#define VIA_DEVICEID_RHINE 0x3043
#define VIA_DEVICEID_RHINE_II 0x6100
+#define VIA_DEVICEID_RHINE_II_2 0x3065

/*
* Delta Electronics device ID.


Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408899
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste