2003-01-23 12:06:44

by jurriaan

[permalink] [raw]
Subject: 2.4.21pre3-ac4 ide trouble (HPT370 and IBM DTLA-30745)

I've just upgraded to a new motherboard, and now I have a disk that
won't do DMA anymore. It used to work with the same kernel on a Promise
20265 controller, but on the new HPT370 it doesn't work (or at least,
doesn't do DMA):


Linux version 2.4.21-pre3-ac4 (root@middle) (gcc version 3.2.2 20030109 (Debian prerelease)) #1 SMP Wed Jan 22 20:16:48 CET 2003

00:0f.0 Unknown mass storage controller: Triones Technologies, Inc. HPT366/368/370/370A/372 (rev 04)
Subsystem: Triones Technologies, Inc. HPT370A
Flags: bus master, 66Mhz, medium devsel, latency 120, IRQ 11
I/O ports at a400 [size=8]
I/O ports at a800 [size=4]
I/O ports at ac00 [size=8]
I/O ports at b000 [size=4]
I/O ports at b400 [size=256]
Expansion ROM at <unassigned> [disabled] [size=128K]
Capabilities: <available only to root>


Linux version 2.4.21-pre3-ac4 (root@middle) (gcc version 3.2.2 20030109 (Debian prerelease)) #1 SMP Wed Jan 22 20:16:48 CET 2003
BIOS-provided physical RAM map:
<snip>
Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
HPT370A: IDE controller at PCI slot 00:0f.0
HPT370A: chipset revision 4
HPT370A: not 100% native mode: will probe irqs later
HPT37X: using 33MHz PCI clock
ide2: BM-DMA at 0xb400-0xb407, BIOS settings: hde:DMA, hdf:pio
ide3: BM-DMA at 0xb408-0xb40f, BIOS settings: hdg:DMA, hdh:DMA
VP_IDE: IDE controller at PCI slot 00:11.1
VP_IDE: chipset revision 6
VP_IDE: not 100% native mode: will probe irqs later
VP_IDE: VIA vt8233 (rev 00) IDE UDMA100 controller on pci00:11.1
ide0: BM-DMA at 0xb800-0xb807, BIOS settings: hda:DMA, hdb:pio
ide1: BM-DMA at 0xb808-0xb80f, BIOS settings: hdc:DMA, hdd:pio
hda: Maxtor 33073H3, ATA DISK drive
hda: DMA disabled
blk: queue c03a2820, I/O limit 4095Mb (mask 0xffffffff)
hdc: LITE-ON LTR-40125W, ATAPI CD/DVD-ROM drive
hdc: DMA disabled
hde: IBM-DTLA-307045, ATA DISK drive
blk: queue c03a30f8, I/O limit 4095Mb (mask 0xffffffff)
hdg: Maxtor 4G120J6, ATA DISK drive
hdh: Maxtor 4G120J6, ATA DISK drive
blk: queue c03a3564, I/O limit 4095Mb (mask 0xffffffff)
blk: queue c03a36b0, I/O limit 4095Mb (mask 0xffffffff)
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide2 at 0xa400-0xa407,0xa802 on irq 11
ide3 at 0xac00-0xac07,0xb002 on irq 11
hda: host protected area => 1
hda: 60032448 sectors (30737 MB) w/2048KiB Cache, CHS=3736/255/63, UDMA(100)
hde: host protected area => 1
hde: 90069840 sectors (46116 MB) w/1916KiB Cache, CHS=89355/16/63, UDMA(100)
hdg: host protected area => 1
hdg: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=14946/255/63, UDMA(100)
hdh: host protected area => 1
hdh: 240121728 sectors (122942 MB) w/2048KiB Cache, CHS=14946/255/63, UDMA(100)
ide-cd: passing drive hdc to ide-scsi emulation.
Partition check:
hda: hda1 hda2 < hda5 hda6 hda7 hda8 hda9 hda10 hda11 hda12 >
hde:<4>hde: dma_timer_expiry: dma status == 0x21
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: timeout waiting for DMA
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: (__ide_dma_test_irq) called while not waiting
blk: queue c03a30f8, I/O limit 4095Mb (mask 0xffffffff)
[PTBL] [5606/255/63] hde1 hde2
hdg: hdg1 hdg2
hdh: hdh1 hdh2
SCSI subsystem driver Revision: 1.00
sym53c8xx: at PCI bus 0, device 10, function 0
sym53c8xx: setting PCI_COMMAND_PARITY...(fix-up)
sym53c8xx: 53c860 detected
sym53c860-0: rev 0x13 on pci bus 0 device 10 function 0 irq 10
sym53c860-0: ID 7, Fast-20, Parity Checking
scsi0 : sym53c8xx-1.7.3c-20010512
Vendor: TOSHIBA Model: DVD-ROM SD-M1401 Rev: 1007
Type: CD-ROM ANSI SCSI revision: 02
Vendor: PLEXTOR Model: CD-ROM PX-32TS Rev: 1.02
Type: CD-ROM ANSI SCSI revision: 02
Vendor: YAMAHA Model: CRW2100S Rev: 1.0N
Type: CD-ROM ANSI SCSI revision: 02
scsi1 : SCSI host adapter emulation for IDE ATAPI devices
Vendor: LITE-ON Model: LTR-40125W Rev: WS05
Type: CD-ROM ANSI SCSI revision: 02
Attached scsi CD-ROM sr0 at scsi0, channel 0, id 1, lun 0
Attached scsi CD-ROM sr1 at scsi0, channel 0, id 2, lun 0
Attached scsi CD-ROM sr2 at scsi0, channel 0, id 5, lun 0
Attached scsi CD-ROM sr3 at scsi1, channel 0, id 0, lun 0
sym53c860-0-<1,*>: FAST-20 SCSI 20.0 MB/s (50.0 ns, offset 8)
sr0: scsi3-mmc drive: 40x/40x cd/rw xa/form2 cdda tray
Uniform CD-ROM driver Revision: 3.12
sym53c860-0-<2,*>: FAST-20 SCSI 20.0 MB/s (50.0 ns, offset 8)
sr1: scsi-1 drive
sym53c860-0-<5,*>: FAST-20 SCSI 20.0 MB/s (50.0 ns, offset 7)
sr2: scsi3-mmc drive: 40x/40x writer cd/rw xa/form2 cdda tray
sr3: scsi3-mmc drive: 245x/48x writer cd/rw xa/form2 cdda tray
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 32768)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
VFS: Mounted root (ext2 filesystem) readonly.
Freeing unused kernel memory: 320k freed
Adding Swap: 1574328k swap-space (priority -1)
ide: no cache flush required.
ide: no cache flush required.
<snip>
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
hde: dma_timer_expiry: dma status == 0x21
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: timeout waiting for DMA
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: (__ide_dma_test_irq) called while not waiting
ide: no cache flush required.
hde: dma_timer_expiry: dma status == 0x21
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: timeout waiting for DMA
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: (__ide_dma_test_irq) called while not waiting
ide: no cache flush required.
hde: dma_timer_expiry: dma status == 0x21
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: timeout waiting for DMA
hde: 0 bytes in FIFO
hde: timeout waiting for DMA
hde: (__ide_dma_test_irq) called while not waiting
ide: no cache flush required.
<snip 27x repeat above line>

Net result:

HighPoint HPT366/368/370/372/374

Controller: 0
Chipset: HPT370A
--------------- Primary Channel --------------- Secondary Channel --------------
Enabled: yes yes
Cable: ATA-66 ATA-66

--------------- drive0 --------- drive1 ------- drive0 ---------- drive1 -------
DMA capable: no no yes yes
Mode: UDMA off UDMA UDMA

:r

/dev/hde:
Timing buffer-cache reads: 128 MB in 0.54 seconds =237.04 MB/sec
Timing buffered disk reads: 64 MB in 25.94 seconds = 2.47 MB/sec

Ouch.

/dev/hde:

Model=IBM-DTLA-307045, FwRev=TX6OA50C, SerialNo=YM0YMLC3088
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=40
BuffType=DualPortCache, BuffSize=1916kB, MaxMultSect=16, MultSect=off
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=90069840
IORDY=on/off, tPIO={min:240,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: ATA/ATAPI-5 T13 1321D revision 1: 2 3 4 5

Is there something I can do about this?

Kind regards,
Jurriaan
--
"If we were faithful and happy we would never catch criminals," said
Bodwyn Wook. "That is why we are cruel and merciless. Tell us what you
know and be quick about it."
Jack Vance - Araminta Station
GNU/Linux 2.4.21-pre3-ac4 SMP/ReiserFS 2x2824 bogomips load av: 0.21 0.55 0.44


2003-01-23 14:44:59

by Zdenek SUTR Kaminski

[permalink] [raw]
Subject: Re: 2.4.21pre3-ac4 ide trouble (HPT370 and IBM DTLA-30745)

Hi,

> hde: IBM-DTLA-307045, ATA DISK drive


in drivers/ide/hpt366.c I see:

const char *bad_ata100_5[] = {
...
"IBM-DTLA-307045",
...
}

I had a same problem and I solved it with other disk...



--
Bc. Zdenek Kaminski <xkaminsk at fi.muni.cz>

homepage: http://www.fi.muni.cz/~xkaminsk/
IPv6 router homepage: http://www.openrouter.net/
Key: 0xD7315488
Key fingerprint: 3CB0 8108 CB76 446E 2895 AF33 9B3A 851B D731 5488

2003-01-23 22:07:26

by Bryan Andersen

[permalink] [raw]
Subject: Re: 2.4.21pre3-ac4 ide trouble (HPT370 and IBM DTLA-30745)

I've seen something that may be related with a disk on a PDC20269 based
IDE controller. The disk initially came up under DMA, but experienced a
DMA error and DMA was disabled for that disk. My motherboard is ASUS
A7N8X with an nForce2 chipset. I'm trying to recreate it but haven't
had any luck.

Jurriaan wrote:
> I've just upgraded to a new motherboard, and now I have a disk that
> won't do DMA anymore. It used to work with the same kernel on a Promise
> 20265 controller, but on the new HPT370 it doesn't work (or at least,
> doesn't do DMA):


This dmesg output dosen't contain the messages from the DMA loss.
Unfortunately that dmesg output was lost. I'm including this one to
provide system configuration information. There is also an output from
/proc/interrupts at the end.
---------------
Linux version 2.4.21-pre3-ac4 (root@blip) (gcc version 2.95.4 20011002
(Debian prerelease)) #21 SMP Sun Jan 19 13:54:23 CST 2003
BIOS-provided physical RAM map:
BIOS-e820: 0000000000000000 - 000000000009e800 (usable)
BIOS-e820: 000000000009e800 - 00000000000a0000 (reserved)
BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
BIOS-e820: 0000000000100000 - 000000001fff0000 (usable)
BIOS-e820: 000000001fff0000 - 000000001fff3000 (ACPI NVS)
BIOS-e820: 000000001fff3000 - 0000000020000000 (ACPI data)
BIOS-e820: 00000000fec00000 - 00000000fec01000 (reserved)
BIOS-e820: 00000000fee00000 - 00000000fee01000 (reserved)
BIOS-e820: 00000000ffff0000 - 0000000100000000 (reserved)
511MB LOWMEM available.
On node 0 totalpages: 131056
zone(0): 4096 pages.
zone(1): 126960 pages.
zone(2): 0 pages.
Kernel command line: auto BOOT_IMAGE=Linux ro root=302 ide0=ata66 ide1=ata66
ide_setup: ide0=ata66
ide_setup: ide1=ata66
Found and enabled local APIC!
Initializing CPU#0
Detected 1737.273 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 3460.30 BogoMIPS
Memory: 515228k/524224k available (1600k kernel code, 8604k reserved,
676k data, 112k init, 0k highmem)
Dentry cache hash table entries: 65536 (order: 7, 524288 bytes)
Inode cache hash table entries: 32768 (order: 6, 262144 bytes)
Mount cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer cache hash table entries: 32768 (order: 5, 131072 bytes)
Page-cache hash table entries: 131072 (order: 7, 524288 bytes)
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
CPU: After generic, caps: 0383fbff c1c3fbff 00000000 00000000
CPU: Common caps: 0383fbff c1c3fbff 00000000 00000000
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Checking 'hlt' instruction... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch ([email protected])
mtrr: detected mtrr type: Intel
CPU: L1 I Cache: 64K (64 bytes/line), D cache 64K (64 bytes/line)
CPU: L2 Cache: 256K (64 bytes/line)
CPU: After generic, caps: 0383fbff c1c3fbff 00000000 00000000
CPU: Common caps: 0383fbff c1c3fbff 00000000 00000000
CPU0: AMD Athlon(tm) XP 2100+ stepping 02
per-CPU timeslice cutoff: 731.30 usecs.
task migration cache decay timeout: 10 msecs.
SMP motherboard not detected.
enabled ExtINT on CPU#0
ESR value before enabling vector: 00000000
ESR value after enabling vector: 00000000
Using local APIC timer interrupts.
calibrating APIC timer ...
..... CPU clock speed is 1737.3002 MHz.
..... host bus clock speed is 267.2769 MHz.
cpu: 0, clocks: 2672769, slice: 1336384
CPU0<T0:2672768,T1:1336384,D:0,S:1336384,C:2672769>
migration_task 0 on cpu=0
PCI: PCI BIOS revision 2.10 entry at 0xfb560, last bus=3
PCI: Using configuration type 1
PCI: Probing PCI hardware
PCI: Using IRQ router default [10de/01e0] at 00:00.0
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
Journalled Block Device driver loaded
Installing knfsd (copyright (C) 1996 [email protected]).
parport0: PC-style at 0x378 (0x778) [PCSPP,TRISTATE]
parport0: irq 7 detected
i2c-core.o: i2c core module
i2c-dev.o: i2c /dev entries driver module
i2c-core.o: driver i2c-dev dummy driver registered.
i2c-proc.o version 2.6.1 (20010825)
pty: 256 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ
SERIAL_PCI ISAPNP enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10e
Floppy drive(s): fd0 is 1.44M
FDC 0 is a post-1991 82077
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
Linux agpgart interface v0.99 (c) Jeff Hartmann
agpgart: Maximum main memory to use for agp memory: 439M
agpgart: unsupported bridge
agpgart: no supported devices found.
Uniform Multi-Platform E-IDE driver Revision: 7.00beta-2.4
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
NFORCE2: IDE controller at PCI slot 00:09.0
NFORCE2: chipset revision 162
NFORCE2: not 100% native mode: will probe irqs later
ide0: BM-DMA at 0xf000-0xf007, BIOS settings: hda:DMA, hdb:DMA
ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:DMA, hdd:DMA
PDC20269: IDE controller at PCI slot 01:07.0
PDC20269: chipset revision 2
PDC20269: not 100% native mode: will probe irqs later
ide2: BM-DMA at 0xa000-0xa007, BIOS settings: hde:pio, hdf:pio
ide3: BM-DMA at 0xa008-0xa00f, BIOS settings: hdg:pio, hdh:pio
hda: C/H/S=22070/16/255 from BIOS ignored
hda: Maxtor 54610H6, ATA DISK drive
hdb: CREATIVE DVD-ROM DVD1241E, ATAPI CD/DVD-ROM drive
blk: queue c03c0e40, I/O limit 4095Mb (mask 0xffffffff)
hdc: Maxtor 54610H6, ATA DISK drive
blk: queue c03c12ac, I/O limit 4095Mb (mask 0xffffffff)
hde: Maxtor 4G160J8, ATA DISK drive
blk: queue c03c1718, I/O limit 4095Mb (mask 0xffffffff)
hdg: Maxtor 4G160J8, ATA DISK drive
blk: queue c03c1b84, I/O limit 4095Mb (mask 0xffffffff)
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
ide2 at 0x9000-0x9007,0x9402 on irq 10
ide3 at 0x9800-0x9807,0x9c02 on irq 10
hda: host protected area => 1
hda: 90045648 sectors (46103 MB) w/2048KiB Cache, CHS=89331/16/63, UDMA(100)
hdc: host protected area => 1
hdc: 90045648 sectors (46103 MB) w/2048KiB Cache, CHS=89331/16/63, UDMA(100)
hde: host protected area => 1
hde: 320173056 sectors (163929 MB) w/2048KiB Cache, CHS=19929/255/63,
UDMA(133)
hdg: host protected area => 1
hdg: 320173056 sectors (163929 MB) w/2048KiB Cache, CHS=19929/255/63,
UDMA(133)
hdb: ATAPI 40X DVD-ROM drive, 256kB Cache, UDMA(33)
Uniform CD-ROM driver Revision: 3.12
Partition check:
hda: hda1 hda2 hda3 < hda5 hda6 hda7 >
hdc: hdc1 hdc2 hdc3 < hdc5 hdc6 hdc7 >
hde: hde1 hde2
hdg: hdg1 hdg2
SCSI subsystem driver Revision: 1.00
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
md: raid1 personality registered as nr 3
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP, IGMP
IP: routing cache hash table of 4096 buckets, 32Kbytes
TCP: Hash tables configured (established 32768 bind 32768)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
kjournald starting. Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 112k freed
Adding Swap: 1999832k swap-space (priority -1)
Adding Swap: 1999832k swap-space (priority -2)
Adding Swap: 530104k swap-space (priority -3)
Adding Swap: 530104k swap-space (priority -4)
ide: no cache flush required.
ide: no cache flush required.
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,2), internal journal
nvidia: loading NVIDIA Linux x86 NVdriver Kernel Module 1.0-3123 Tue
Aug 27 15:56:48 PDT 2002
PCI: Setting latency timer of device 00:04.0 to 64
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
[events: 0000001a]
md: bind<hdc7,1>
[events: 0000001a]
md: bind<hda7,2>
md: hda7's event counter: 0000001a
md: hdc7's event counter: 0000001a
md: RAID level 1 does not need chunksize! Continuing anyway.
md1: max total readahead window set to 124k
md1: 1 data-disks, max readahead per data-disk: 124k
raid1: device hda7 operational as mirror 0
raid1: device hdc7 operational as mirror 1
raid1: raid set md1 active with 2 out of 2 mirrors
md: updating md1 RAID superblock on device
md: hda7 [events: 0000001b]<6>(write) hda7's sb offset: 28772736
md: hdc7 [events: 0000001b]<6>(write) hdc7's sb offset: 28772736
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
spurious 8259A interrupt: IRQ7.
ide: no cache flush required.
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide1(22,5), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide0(3,6), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on md(9,1), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide2(33,2), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
kjournald starting. Commit interval 5 seconds
EXT3 FS 2.4-0.9.19, 19 August 2002 on ide3(34,2), internal journal
EXT3-fs: mounted filesystem with ordered data mode.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
ide: no cache flush required.
NVRM: AGPGART: unable to retrieve symbol table
spurious 8259A interrupt: IRQ15.
---------------
# cat interrupts
CPU0
0: 4563852 XT-PIC timer
1: 15453 XT-PIC keyboard
2: 0 XT-PIC cascade
5: 9490010 XT-PIC eth0
8: 3 XT-PIC rtc
10: 11549087 XT-PIC ide2, ide3, nvidia
12: 359011 XT-PIC PS/2 Mouse
14: 191436 XT-PIC ide0
15: 107507 XT-PIC ide1
NMI: 0
LOC: 4563809
ERR: 206558
MIS: 0
---------------