Re: 2.2.15 + ide patches + OnStream DI-30 = pain (plus HPT366 patch)

From: Robert (robert@abilina.org)
Date: Tue May 23 2000 - 10:43:10 EST


I am getting identical results. I am using 2.2.15 with the following
patches applied:

ide.2.2.15.20000504.patch.gz
raid-2.2.15-A0
hpt366.052100.patch

This 3rd patch is one I came up with. It is necessary to make the HPT366
channels work on my Abit BE6 motherboard. Without my patch, the system
freezes during boot up. I do not believe my patch has anything to do
with the ONstream problem. If you are interested in my patch, I can go
into more detail (it's very simply), but here is the code for it:

--- linux/drivers/block/hpt366.c.orig Sun May 21 07:29:12 2000
+++ linux/drivers/block/hpt366.c Sun May 21 07:25:11 2000
@@ -250,7 +250,7 @@
         reg2 &= ~0x80000000;
 
         pci_write_config_dword(HWIF(drive)->pci_dev, regtime, reg2);
- err = ide_config_drive_speed(drive, speed);
+ err = 0; /* err = ide_config_drive_speed(drive, speed); */
 
 #if HPT366_DEBUG_DRIVE_INFO
         printk("%s: speed=0x%02x(%s), drive%d, old=0x%08x, new=0x%08x, err=0x%04x\n",

As you can see, I am not letting the driver attempt to set the DMA
speed/mode. The BIOS does this anyway, so I do not really need the driver
to do this, and the ide_config_drive_speed() call locks up during boot on
my system.

Anyway, back to the Onstream device. Firstly, it will not work when
plugged into an HPT366 channel. When it tried to function, the entire
system locked up solid. I had to cycle power to get back running. When
plugged into a 33mhz channel, write operations *seem* to be normal, while
reads fail. My guess is the reads are failing because the writes are not
really writing successfully. Writes are just not noticing the problem. I
have tried BRU as well as TAR with similar results. (And yes my block
sizes are correct.) If I create *very* small tapes with BRU (10 megabytes
or less), they sometimes succeed. TAR usually gets back the first
directory written. I am guessing that we are looking at a write underrun
situation.

I called Onstream tech support, they report lots of calls on this and they
also say they have an in-house system that is doing the same thing. They
say they are in the process of gathering data, to pass to the "software
guys". My guess is that is Hedrick.

I will be happy to help solve this, I have not tried patching the driver
myself at this point, but I do not have any other approaches left that I
am aware of, other than wait for Onstream.

Best Regards,
Robert Laughlin

On 22 May 2000, Anil B. Somayaji wrote:
> Hello Andre! Thank you for the suggestions. I've got some more data
> for you to consider - hopefully it will help pinpoint the problem.
> (I'm still hoping that I've done something stupid, but I'm starting to
> believe otherwise...)
>
> Anyway, I've been using -b 64 for tar. Actually, I've just gotten
> errors when I've used another blocksize.
>
> I just built a new kernel, 2.2.15 + ide.2.2.15.20000509 patch. I used
> the same configuration as before, but this time building ide-tape
> support into the kernel. I turned off the machine, booted the system,
> and inserted a new tape. I then ran a few tests - I'm including the
> results below.
>
> First, I erased and retensioned the tape, imitating what the Onstream
> Echo software does when a new tape is inserted:
>
> lydia:~ # mt -f /dev/nht0 erase; mt -f /dev/nht0 retension;
> mt -f /dev/nht0 rewind; mt -f /dev/nht0 status
> drive type = Generic SCSI-2 tape
> drive status = 32768
> sense key error = 0
> residue count = 0
> file number = 0
> block number = 0
> Tape block size 32768 bytes. Density code 0x0 (default).
> Soft error count since last status=0
> General status bits on (49000000):
> BOT EOD ONLINE
>
> These commands caused the following kernel messages:
>
> ide-tape: ht0: invalid header identification string
> ide-tape: ht0: invalid header identification string
> ide-tape: ht0: invalid header identification string
> ide-tape: ht0: invalid header identification string
> ide-tape: ht0: invalid header identification string
> ide-tape: ht0: couldn't read header frame
> ide-tape: ht0: couldn't read header frame
> ide-tape: ht0: couldn't read header frame
> ide-tape: ht0: couldn't read header frame
> ide-tape: ht0: couldn't read header frame
> ide-tape: ht0: failed to find valid ADRL header
> ide-tape: ht0: correcting read position 20, 0, 0
> ide-tape: ht0: correcting read position 20, 0, 0
>
> Then, I created a tar archive:
>
> lydia:/ # tar -c -b 64 -v --totals -f /dev/nht0 scratch
> >& /tmp/scratch-backup.log &
>
> The tar returned with no errors, and the following summary:
>
> Total bytes written: 1288765440 (1.2GB, 915kB/s)
>
> Now I rewound the tape and ran a compare, and got the following errors:
>
> lydia:/ # mt -f /dev/nht0 rewind; tar --compare -b 64 -f /dev/nht0
> tar: /dev/nht0: Cannot read: Input/output error
> ... (10 lines)
> tar: /dev/nht0: Cannot read: Input/output error
> tar: Too many errors, quitting
> tar: Error is not recoverable: exiting now
>
> Interestingly enough, mt reports no errors:
>
> lydia:/ # mt -f /dev/nht0 status
> drive type = Generic SCSI-2 tape
> drive status = 32768
> sense key error = 0
> residue count = 0
> file number = 0
> block number = 3334
> Tape block size 32768 bytes. Density code 0x0 (default).
> Soft error count since last status=0
> General status bits on (1000000):
> ONLINE
>
> However, the kernel thought otherwise:
>
> ide-tape: ht0: skipping frame, eod
> ... (many, many lines)
> ide-tape: ht0: skipping frame, eod
> ide-tape: ht0: blank block detected, positioning tape to block 3055
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 2960)
> ide-tape: ht0: couldn't find logical block 2960, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 0, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 1)
> ide-tape: ht0: couldn't find logical block 1, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 1, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 2)
> ide-tape: ht0: couldn't find logical block 2, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 2, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 3)
> ide-tape: ht0: couldn't find logical block 3, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 3, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 4)
> ide-tape: ht0: couldn't find logical block 4, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 4, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 5)
> ide-tape: ht0: couldn't find logical block 5, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 5, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 6)
> ide-tape: ht0: couldn't find logical block 6, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 6, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 7)
> ide-tape: ht0: couldn't find logical block 7, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 7, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 8)
> ide-tape: ht0: couldn't find logical block 8, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 8, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 9)
> ide-tape: ht0: couldn't find logical block 9, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 9, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 10)
> ide-tape: ht0: couldn't find logical block 10, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 10, skipping
> ide-tape: ht0: skipping frame, logical_blk_num 3015 (expected 11)
> ide-tape: ht0: couldn't find logical block 11, aborting (block 3015 found)
> ide-tape: ht0: unrecovered read error on logical block number 11, skipping
>
> And here is a listing of the initial boot messages:
>
> Linux version 2.2.15-ide-05092000 (soma@lydia) (gcc version 2.7.2.3)
> #2 Mon May 22 16:48:47 MDT 2000
> Detected 267281035 Hz processor.
> Console: colour VGA+ 80x25
> Calibrating delay loop... 532.48 BogoMIPS
> Memory: 160596k/163840k available (956k kernel code, 416k reserved,
> 1828k data, 44k init)
> Dentry hash table entries: 32768 (order 6, 256k)
> Buffer cache hash table entries: 262144 (order 8, 1024k)
> Page cache hash table entries: 65536 (order 6, 256k)
> CPU: Intel Pentium II (Klamath) stepping 04
> Checking 386/387 coupling... OK, FPU using exception 16 error reporting.
> Checking 'hlt' instruction... OK.
> POSIX conformance testing by UNIFIX
> mtrr: v1.35a (19990819) Richard Gooch (rgooch@atnf.csiro.au)
> PCI: PCI BIOS revision 2.10 entry at 0xfd9c3
> PCI: Using configuration type 1
> PCI: Probing PCI hardware
> Linux NET4.0 for Linux 2.2
> Based upon Swansea University Computer Society NET3.039
> NET4: Unix domain sockets 1.0 for Linux NET4.0.
> NET4: Linux TCP/IP 1.0 for NET4.0
> IP Protocols: ICMP, UDP, TCP
> TCP: Hash tables configured (ehash 262144 bhash 65536)
> Initializing RT netlink socket
> Starting kswapd v 1.5
> Detected PS/2 Mouse Port.
> Serial driver version 4.27 with no serial options enabled
> ttyS00 at 0x03f8 (irq = 4) is a 16550A
> ttyS01 at 0x02f8 (irq = 3) is a 16550A
> pty: 256 Unix98 ptys configured
> apm: BIOS version 1.2 Flags 0x03 (Driver version 1.12)
> Real Time Clock Driver v1.09
> Uniform Multi-Platform E-IDE driver Revision: 6.30
> ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
> PIIX4: IDE controller on PCI bus 00 dev 39
> PIIX4: not 100% native mode: will probe irqs later
> ide0: BM-DMA at 0xdc90-0xdc97, BIOS settings: hda:DMA, hdb:pio
> ide1: BM-DMA at 0xdc98-0xdc9f, BIOS settings: hdc:DMA, hdd:pio
> hda: Maxtor 91020D6, ATA DISK drive
> hdc: TOSHIBA CD-ROM XM-6402B, ATAPI CDROM drive
> hdd: OnStream DI-30, ATAPI TAPE drive
> ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
> ide1 at 0x170-0x177,0x376 on irq 15
> hda: Maxtor 91020D6, 9728MB w/512kB Cache, CHS=1317/240/63, UDMA(33)
> hdc: ATAPI 32X CD-ROM drive, 256kB Cache, UDMA(33)
> Uniform CDROM driver Revision: 2.56
> ide-tape: hdd <-> ht0: OnStream DI-30 rev 1.06
> ide-tape: hdd <-> ht0: 990KBps, 64*32kB buffer, 10208kB pipeline,
> 60ms tDSC, DMA
> Floppy drive(s): fd0 is 1.44M
> FDC 0 is a National Semiconductor PC87306
> PPP: version 2.3.7 (demand dialling)
> TCP compression code copyright 1989 Regents of the University of California
> PPP line discipline registered.
> Partition check:
> hda: hda1 hda2 hda3 hda4 < hda5 hda6 hda7 >
> VFS: Mounted root (ext2 filesystem) readonly.
> Freeing unused kernel memory: 44k freed
> Adding Swap: 130748k swap-space (priority -1)
> NET4: AppleTalk 0.18 for Linux NET4.0
> epic100.c:v1.07h 8/18/99 Donald Becker
> http://cesdis.gsfc.nasa.gov/linux/drivers/epic100.html
> eth0: SMSC EPIC/100 83c170 at 0xd800, IRQ 10, 00:e0:29:21:1d:d8.
> eth0: MII transceiver #3 control 3000 status 7809.
> eth0: Autonegotiation advertising 01e1 link partner 0001.
> PPP BSD Compression module registered
> PPP Deflate Compression module registered
> es1370: version v0.31 time 16:55:39 May 22 2000
> es1370: found adapter at io 0xdcc0 irq 9
> es1370: features: joystick off, line in, mic impedance 0
> aha152x: BIOS test: passed, detected 1 controller(s)
> aha152x0: vital data: PORTBASE=0x340, IRQ=11, SCSI ID=7,
> reconnect=enabled, parity=enabled, synchronous=disabled, delay=100,
> extended translation=enabled
> aha152x: trying software interrupt, ok.
> scsi0 : Adaptec 152x SCSI driver; $Revision: 1.7 $
> scsi : 1 host.
> Vendor: WangDAT Model: Model 2600 Rev: 01.6
> Type: Sequential-Access ANSI SCSI revision: 01
> Vendor: IOMEGA Model: ZIP 100 Rev: D.13
> Type: Direct-Access ANSI SCSI revision: 02
> st: bufsize 32768, wrt 30720, max buffers 5, s/g segs 16.
> Detected scsi tape st0 at scsi0, channel 0, id 4, lun 0
> Detected scsi removable disk sda at scsi0, channel 0, id 5, lun 0
> SCSI device sda: hdwr sector= 512 bytes. Sectors= 196608 [96 MB] [0.1 GB]
> sda: Write Protect is off
> sda: sda1
> parport0: PC-style at 0x378 [SPP,PS2]
> lp0: using parport0 (polling).
> Installing knfsd (copyright (C) 1996 okir@monad.swb.de)
> nfsd_fh_init : initialized fhcache, entries=1024
>
> So, does this help? Other tests I should run?
>
> Again, thanks!
>
> --Anil
>
> - --
> Anil Somayaji (soma@cs.unm.edu)
> http://www.cs.unm.edu/~soma
> +1 505 872 3150
> -----BEGIN PGP SIGNATURE-----
> Version: GnuPG v1.0.1 (GNU/Linux)
>
> iEYEARECAAYFAjkp1HkACgkQXOpXEmNZ3SfhwQCfdDstWYx9Spn8D7sTyKOm5sRr
> T4EAn0sHBdZ5QE/ZeJzERmDAlCiw9X9o
> =lsMo
> -----END PGP SIGNATURE-----
>
> -
> 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/
>

Best Regards,
Warm Regards,
Hugs,
Robert L.
Robert Laughlin

-
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/



This archive was generated by hypermail 2b29 : Tue May 23 2000 - 21:00:23 EST