Subject: pciide problems in 1.5Q on Toshiba Dynabook SS 3380V
To: None <current-users@netbsd.org>
From: None <dme@dme.org>
List: current-users
Date: 01/19/2001 21:54:10
[ apologies for the length - I'm not sure what detail is useful ]

I have a Toshiba Dynabook SS 3380V (similar to Portege 3440 in many
respects).  It has been running 1.5alpha2 for quite some time with no
obvious problems.

In order to get sound through the Maestro 2E I built a -current kernel
from sup sources of last night.  The configuration of the 1.5alpha2
and 1.5Q kernels differ only in the addition of the relevant esm and
audio lines.

There seem to be problems with the ide controller support for this
laptop in 1.5Q - messages like:

pciide0:0:0: lost interrupt
	type: ata tc_bcount: 16384 tc_skip: 0
pciide0:0:0: bus-master DMA error: status=0x22
pciide0:0:0: bus-master DMA error: missing interrupt, status=0x22
wd0g: DMA error writing fsbn 19456 of 19456-19487 (wd0 bn 3472864; cn 3445 tn 4 sn 52), retrying
pciide0:0:0: lost interrupt
	type: ata tc_bcount: 16384 tc_skip: 0
pciide0:0:0: bus-master DMA error: status=0x22
pciide0:0:0: bus-master DMA error: missing interrupt, status=0x22
wd0g: DMA error writing fsbn 19456 of 19456-19487 (wd0 bn 3472864; cn 3445 tn 4 sn 52), retrying
pciide0:0:0: lost interrupt
	type: ata tc_bcount: 16384 tc_skip: 0
pciide0:0:0: bus-master DMA error: status=0x22
pciide0:0:0: bus-master DMA error: missing interrupt, status=0x22
wd0g: DMA error writing fsbn 19456 of 19456-19487 (wd0 bn 3472864; cn 3445 tn 4 sn 52), retrying
pciide0:0:0: lost interrupt
	type: ata tc_bcount: 16384 tc_skip: 0
pciide0:0:0: bus-master DMA error: status=0x22
pciide0:0:0: bus-master DMA error: missing interrupt, status=0x22
wd0: transfer error, downgrading to Ultra-DMA mode 1
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 1 (using DMA data transfers)
wd0g: DMA error writing fsbn 19456 of 19456-19487 (wd0 bn 3472864; cn 3445 tn 4 sn 52), retrying
wd0: soft error (corrected)
pciide0:0:0: lost interrupt
	type: ata tc_bcount: 24576 tc_skip: 0
pciide0:0:0: bus-master DMA error: status=0x22
pciide0:0:0: bus-master DMA error: missing interrupt, status=0x22
wd0: transfer error, downgrading to DMA mode 2
wd0(pciide0:0:0): using PIO mode 4, DMA mode 2 (using DMA data transfers)
wd0g: DMA error writing fsbn 19520 of 19520-19567 (wd0 bn 3472928; cn 3445 tn 5 sn 53), retrying
pciide0:0:0: lost interrupt
	type: ata tc_bcount: 24576 tc_skip: 0
pciide0:0:0: bus-master DMA error: status=0x22
pciide0:0:0: bus-master DMA error: missing interrupt, status=0x22
wd0: transfer error, downgrading to PIO mode 4
wd0(pciide0:0:0): using PIO mode 4
wd0g: DMA error writing fsbn 19520 of 19520-19567 (wd0 bn 3472928; cn 3445 tn 5 sn 53), retrying
wd0: soft error (corrected)

At this point existing programs (xemacs, ...) start to dump core and
the compiler doesn't work (segmentation fault).

The (perhaps) relevant dmesg lines:

NetBSD 1.5_ALPHA2 (S-P) #3: Wed Sep 20 22:16:37 BST 2000
...
pciide0 at pci0 dev 5 function 1: Intel 82371AB IDE controller (PIIX4) (rev. 0x01)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <TOSHIBA MK1214GAP>
wd0: drive supports 16-sector pio transfers, lba addressing
wd0: 11513 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 23579136 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (using DMA data transfers)
pciide0: secondary channel wired to compatibility mode
pciide0: disabling secondary channel (no drives)
...

NetBSD 1.5Q (S-P) #0: Fri Jan 19 17:19:45 GMT 2001
...
pciide0 at pci0 dev 5 function 1: Intel 82371AB IDE controller (PIIX4) (rev. 0x01)
pciide0: bus-master DMA support present
pciide0: primary channel wired to compatibility mode
wd0 at pciide0 channel 0 drive 0: <TOSHIBA MK1214GAP>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 11513 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 23579136 sectors
wd0: 32-bit data port
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 4 (Ultra/66)
pciide0: primary channel interrupting at irq 14
wd0(pciide0:0:0): using PIO mode 4, Ultra-DMA mode 2 (Ultra/33) (using DMA data transfers)
pciide0: secondary channel wired to compatibility mode
pciide0: disabling secondary channel (no drives)
...

Any suggestions on how to debug this ?

dme.