Messages in this thread | | | Date | Sat, 7 Nov 1998 19:34:18 -0600 (CST) | From | "Andre M. Hedrick" <> | Subject | Re: Severe IDE BM-DMA problems. |
| |
On Sat, 7 Nov 1998, Richard Lyons wrote:
> > On Fri, 6 Nov 1998, Andre M. Hedrick wrote: > > > Does this solve the problem for all cases? > > Erik has indicated that it doesn't fix his problem at all, so while the > symptoms are the same, he's apparently suffering from a different > problem.
But his is ASUS board correct?
> Arrgh. This would be the problem I'm wrestling with now. I was going to > wait for a reply from Promise Support before I asked you about it, but > since you brought it up: I'm trying to set up a fast RAID0 with 8G drives > as masters on each of the hwif's of two Ultra33 cards. Getting the system > to boot requires pulling the BIOS of one of the cards. The remaining BIOS > detects all drives during boot, says that it's enabling BM, and all of the > drives are detected as UDMA by the kernel. However, the drives on the > BIOS-less card run much slower than the others - about 3.6Mb/sec vs > 12Mb/sec. I was able to duplicate this with ZD Winbench 99 on Win95 with > version 1.36 of the Ultra drivers, so I've pinged (pung?) Promise, but I > haven't heard back from them yet. > > What is it about the BIOS that enables the "go-fast" bits? Can we > disassemble it to find out the magic? Surely it's not the actual presence > of the EPROM?
Yes it is all in the ROM.....everyone of the mentioned cards above are identical except for the BIOS.
Put an Ultra33 into a FastTrak and you get an Ultra33..... Put a FastTrak into an Ultra33 and you get a FastTrak.....
I have determined that the upper 8 ioports of the 16 beyond the busmaster are the reporting status of the defined arrays. I am guessing that the lower eight are used to issuing sync and rebuild commands.
BUSMASTER is 0x7c00
Port 0x7c10 has value 0x0 (00000000). Port 0x7c11 has value 0x0 (00000000). Port 0x7c12 has value 0x0 (00000000). Port 0x7c13 has value 0x0 (00000000). Port 0x7c14 has value 0x0 (00000000). Port 0x7c15 has value 0x0 (00000000). Port 0x7c16 has value 0x0 (00000000). Port 0x7c17 has value 0x0 (00000000).
Port 0x7c18 has value 0x0 (00000000). Port 0x7c19 has value 0x0 (00000000). Port 0x7c1a has value 0x1 (00000001). Port 0x7c1b has value 0x1 (00000001). Port 0x7c1c has value 0xf (00001111). Port 0x7c1d has value 0x11 (00010001). master1 master2 Port 0x7c1e has value 0xbf (10111111). declared arrays Port 0x7c1f has value 0x1 (00000001). array_status
5 VEN_105A&DEV_4D33\BUS_00&DEV_13 PCI Early VGA Device
00 4d33105a 02000007 01040001 00004000 00006c01 00007001 00007401 00007801 20 00007c01 00000000 00000000 00000000 00000000 00000000 00000000 0000010b 40 00000000 00000000 00000000 00000000 000003ee 00000000 00000000 00000000 60 004123d0 004ff3c4 004ff304 004ff304 00000000 00000000 00000000 00000000 80 4d33105a 02000007 01040001 00004000 00006c01 00007001 00007401 00007801 a0 00007c01 00000000 00000000 00000000 00000000 00000000 00000000 0000010b c0 00000000 00000000 00000000 00000000 000003ee 00000000 00000000 00000000 e0 004123d0 004ff3c4 004ff304 004ff304 00000000 00000000 00000000 00000000
Note that if the array was funtional with two drive at master in a mirror, pci-config space e0-e7 and e8-ef would be identical. However, e8-eb are reporting no drive as is ec-ef and e4-e7 has an error fault (my best guess to date). Since I broke the array by deleting the second drive to what happens, both the config space changes and the high busmaster values change.
This below is a stable functional array.
00 4d33105a 02000007 01040001 00004000 00006c01 00007001 00007401 00007801 20 00007c01 00000000 00000000 00000000 00000000 00000000 00000000 0000010f 40 00000000 00000000 00000000 00000000 000003ee 00000000 00000000 00000000 60 004123f0 004ff3c4 004123f0 004ff3c4 00000000 00000000 00000000 00000000 80 4d33105a 02000007 01040001 00004000 00006c01 00007001 00007401 00007801 a0 00007c01 00000000 00000000 00000000 00000000 00000000 00000000 0000010f c0 00000000 00000000 00000000 00000000 000003ee 00000000 00000000 00000000 e0 004123f0 004ff3c4 004123f0 004ff3c4 00000000 00000000 00000000 00000000
Note that the example below the array is split because I forgot to call "pci=reverse"
Linux version 2.1.126 (root@Deneb) (gcc version 2.8.1) #1 Sat Nov 7 01:05:16 CST 1998 Console: colour VGA+ 80x25 Calibrating delay loop... 132.71 BogoMIPS Memory: 30656k/32768k available (988k kernel code, 404k reserved, 684k data, 36k init)
PIIX3: IDE controller on PCI bus 00 dev 39 PIIX3: not 100% native mode: will probe irqs later ide1: BM-DMA at 0xf008-0xf00f, BIOS settings: hdc:pio, hdd:pio PDC20246: IDE controller on PCI bus 00 dev 98 PDC20246: not 100% native mode: will probe irqs later ide0: BM-DMA at 0x7c00-0x7c07, BIOS settings: hda:pio, hdb:pio ide2: BM-DMA at 0x7c08-0x7c0f, BIOS settings: hde:pio, hdf:pio hda: Maxtor 90680D4, ATA DISK drive hdc: CD-ROM CDU611, ATAPI CDROM drive hde: Maxtor 90680D4, ATA DISK drive ide0 at 0x6c00-0x6c07,0x7002 on irq 11 ide1 at 0x170-0x177,0x376 on irq 15 ide2 at 0x7400-0x7407,0x7802 on irq 11 hda: Maxtor 90680D4, 6485MB w/256kB Cache, CHS=13176/16/63, UDMA hde: Maxtor 90680D4, 6485MB w/256kB Cache, CHS=13176/16/63, UDMA hdc: ATAPI 10X CDROM drive, 256kB Cache
Partition check: hda: [PTBL] [826/255/63] hda1 hda2 hda3 hda4 hde: [PTBL] [826/255/63] hde1 hde2 hde3 hde4 VFS: Mounted root (ext2 filesystem) readonly. Freeing unused kernel memory: 36k freed
Deneb:~# hdparm -tT /dev/hda ; hdparm -tT /dev/hde
/dev/hda: Timing buffer-cache reads: 64 MB in 2.37 seconds =27.00 MB/sec Timing buffered disk reads: 32 MB in 2.68 seconds =11.94 MB/sec
/dev/hde: Timing buffer-cache reads: 64 MB in 2.36 seconds =27.12 MB/sec Timing buffered disk reads: 32 MB in 2.62 seconds =12.21 MB/sec
Deneb:~# hdparm -i /dev/hda ; hdparm -i /dev/hde
/dev/hda:
Model=Maxtor 90680D4, FwRev=PAS23B15, SerialNo=V40QBKKA Config={ Fixed } RawCHS=13176/16/63, TrkSize=0, SectSize=0, ECCbytes=29 BuffType=3(DualPortCache), BuffSize=256kB, MaxMultSect=16, MultSect=16 DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast) CurCHS=13176/16/63, CurSects=13281408 LBA CHS=826/255/63 Remmapping, LBA=yes, LBAsects=13281408 tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4 UDMA modes: mode0 mode1 *mode2
/dev/hde:
Model=Maxtor 90680D4, FwRev=PAS23B15, SerialNo=V40WB98A Config={ Fixed } RawCHS=13176/16/63, TrkSize=0, SectSize=0, ECCbytes=29 BuffType=3(DualPortCache), BuffSize=256kB, MaxMultSect=16, MultSect=16 DblWordIO=no, maxPIO=2(fast), DMA=yes, maxDMA=2(fast) CurCHS=13176/16/63, CurSects=13281408 LBA CHS=826/255/63 Remmapping, LBA=yes, LBAsects=13281408 tDMA={min:120,rec:120}, DMA modes: mword0 mword1 mword2 IORDY=on/off, tPIO={min:120,w/IORDY:120}, PIO modes: mode3 mode4 UDMA modes: mode0 mode1 *mode2
> Cheers, > Rick. >
Lastly Promise will not talk to me either.......I got two replies and that was the end...........thus I built a second machine to put (the 'w' word) and linux on the same drive array to see how promise configures the pci space and the contents of the high busmaster area........
Cheers, Andre Hedrick The IDE-FNG for Linux The APC UPS Specialist for Linux
http://www.dyer.vanderbilt.edu/server/udma/ http://www.dyer.vanderbilt.edu/server/apcupsd/apcupsd-3.5.0.bin.tar.gz
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |