Escalde 7506-4LP PCI parity error on Asustek p2b-ds
Hiroharu Tamaru
tamaru at myn.rcast.u-tokyo.ac.jp
Mon Apr 19 03:03:56 PDT 2004
Hi, there.
I got a few people asking me the same thing recently, so
I'll reply you on the ML to keep it archived.
At Mon, 19 Apr 2004 12:09:17 +0400, Artem Koutchine wrote:
> I am trying to install an escalde 7506-4LP into 32 PCI slot
> on Asustek P2B-DS motherboard with dual PIII 550Mhz
> CPUs. I have installed the card and inisialized RAID 5 array
> (3 drives). The in inserted the FreeBSD installed disk (5.2-RC2)
> and tried installing it. During kernel boot i see message like:
>
> twe0: <3ware Storage Controller> port 0xb800-0xb80f mem 0xe0000000-0xe07fff=
> ff,0xe0800000-0xe080000f irq 5 at device 11.0 on pci0
> twe0: PCI parity error: Reseat card, move card or buggy device present.
> (this line is repeated many times).
>
> I have searched google and maillist archived and have found that other
> people have met this error message, but there is nowhere clear explanation
> why it is happening. Some people say it should be just ignored. Is it so?
This is the original message I wrote back then:
http://docs.freebsd.org/cgi/getmsg.cgi?fetch=0+0+archive/2002/freebsd-hardware/20020623.freebsd-hardware
I couldn't confirm if it were safe to ignore the message or
not, but I never had any trouble with it for the 1+ year
that I ran the system. That includes mail alarting and
rebuilding the array through the 3dmd utility. I use to run
JBOD, mirroring and RAID5 on that card.
After that, I upgraded the M/B to a P4 system (an ordinary
32-bit-PCI Intel 845 setup) and (naturally) I no longer have
any warnings.
The warning message was annoying and bloating the logs, so I
simply patched the driver not to log that particular
message, and instead just count it in a sysctl MIB.
As far as I remember, the rate at which this counter counts
was really stable for an uptime of more than one month.
The patch is against 4-stable of those days, and is attached
below for your reference.
With this patch, do a 'sysctl hw.twe.twe_pe_discard=1' to
shut the message up, and check 'sysctl hw.twe.twe_pe' to see
how many PE counts you got.
Hope it helps.
Hiroharu Tamaru.
diff -ru sys/dev/twe-/twe.c sys/dev/twe/twe.c
--- sys/dev/twe-/twe.c Tue May 21 21:33:16 2002
+++ sys/dev/twe/twe.c Tue May 21 21:47:34 2002
@@ -38,6 +38,8 @@
#define TWE_DEFINE_TABLES
#include <dev/twe/twe_tables.h>
+extern int twe_pe_discard;
+
/*
* Command submission.
*/
@@ -1595,13 +1597,17 @@
if ((status_reg & TWE_STATUS_UNEXPECTED_BITS) != 0) {
if (time_second > (lastwarn[1] + 5)) {
+ if (!(twe_pe_discard && (status_reg & TWE_STATUS_PCI_PARITY_ERROR))) {
twe_printf(sc, "unexpected status bit(s) %b\n", status_reg & TWE_STATUS_UNEXPECTED_BITS,
TWE_STATUS_BITS_DESCRIPTION);
lastwarn[1] = time_second;
+ }
}
result = 1;
if (status_reg & TWE_STATUS_PCI_PARITY_ERROR) {
+ if (!twe_pe_discard) {
twe_printf(sc, "PCI parity error: Reseat card, move card or buggy device present.");
+ }
twe_clear_pci_parity_error(sc);
}
if (status_reg & TWE_STATUS_PCI_ABORT) {
diff -ru sys/dev/twe-/twe_freebsd.c sys/dev/twe/twe_freebsd.c
--- sys/dev/twe-/twe_freebsd.c Tue May 21 21:33:16 2002
+++ sys/dev/twe/twe_freebsd.c Tue May 21 21:40:21 2002
@@ -45,6 +45,7 @@
#include <dev/twe/twe_tables.h>
#include <sys/devicestat.h>
+#include <sys/sysctl.h>
static devclass_t twe_devclass;
@@ -58,6 +59,13 @@
#define TWED_BIO_OUT
#endif
+int twe_pe_discard = 0;
+unsigned int twe_pe = 0;
+
+SYSCTL_NODE(_hw, OID_AUTO, twe, CTLFLAG_RW, 0, "Twe RAID Driver mgmt");
+SYSCTL_INT(_hw_twe, OID_AUTO, pe_discard, CTLFLAG_RW, &twe_pe_discard, 0, "no msg for parity error");
+SYSCTL_UINT(_hw_twe, OID_AUTO, pe, CTLFLAG_RD, &twe_pe, 0, "parity error count");
+
/********************************************************************************
********************************************************************************
Control device interface
@@ -520,6 +528,7 @@
{
TWE_CONTROL(sc, TWE_CONTROL_CLEAR_PARITY_ERROR);
pci_write_config(sc->twe_dev, PCIR_STATUS, TWE_PCI_CLEAR_PARITY_ERROR, 2);
+ ++ twe_pe;
}
/********************************************************************************
More information about the freebsd-hardware
mailing list