Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 26 May 1999 20:17:01 -0500
From:      David Kelly <dkelly@HiWAAY.net>
To:        freebsd-scsi@freebsd.org
Subject:   proper mode page values?
Message-ID:  <199905270117.UAA48835@nospam.hiwaay.net>

next in thread | raw e-mail | index | archive | help
My formerly wonderful IBM DCAS 34330 narrow drive is acting up on my 
little FreeBSD system (a 486/133). Several months ago I had to use the 
Adaptec 2940 built in utility to scan the drive for bad blocks. It 
found several. Followed up with a clean installation of FreeBSD 3.1.

Now I'm getting "indefinite wait" messages from swap_pager, much like 
Dag-Erling Smorgrav reported on 19 Feb 1999, something like this:

swap_pager: indefinite wait buffer: device: 0x30401, blkno: 264, size: 4096

The problem blocks are always 264, 272, and 496.

And to make things maximally fun, it only happens when reading variable 
block sized QIC-1000 tapes with an Archive Anaconda. Fixed block size 
on a QIC-150 runs nicely. The variable QIC-1000 starts and stops and 
starts and stops with every block.

sa1 at ahc0 bus 0 target 6 lun 0
sa1: <ARCHIVE ANCDA 2750 28077 -003> Removable Sequential Access SCSI-2 device 
sa1: 5.000MB/s transfers (5.000MHz, offset 15)

Tried using camcontrol to view my bad block lists. Doesn't work on that 
IBM drive, nor the IBM drive on this machine:

nospam: [1031] camcontrol defects -n da -u 0 -G
camcontrol: no defect list format specified
nospam: [1032] camcontrol defects -n da -u 0 -f block -G
error reading defect list: Input/output error
nospam: [1033] camcontrol defects -n da -u 0 -f bfi -G
error reading defect list: Input/output error
nospam: [1034] camcontrol defects -n da -u 0 -f phys -G
error reading defect list: Input/output error
nospam: [1035] camcontrol defects -n da -u 0 -f phys -P
error reading defect list: Input/output error
nospam: [1036] camcontrol defects -n da -u 0 -f bfi -P
error reading defect list: Input/output error
nospam: [1037] camcontrol defects -n da -u 0 -f block -P
error reading defect list: Input/output error

So then I go looking at mode pages to see what is set and to see if by 
any chance the drive was told not to substitute replacements for 
weakening blocks:

nospam: [1038] camcontrol modepage -n da -u 0 -m 1 -P 2
AWRE (Auto Write Reallocation Enbld):  0 
ARRE (Auto Read Reallocation Enbld):  0 
TB (Transfer Block):  0 
RC (Read Continuous):  0 
EER (Enable Early Recovery):  0 
PER (Post Error):  0 
DTE (Disable Transfer on Error):  0 
DCR (Disable Correction):  0 
Read Retry Count:  1 
Correction Span:  144 
Head Offset Count:  0 
Data Strobe Offset Count:  0 
Write Retry Count:  1 
Recovery Time Limit:  0 
nospam: [1039] camcontrol modepage -n da -u 0 -m 1 -P 3
AWRE (Auto Write Reallocation Enbld):  1 
ARRE (Auto Read Reallocation Enbld):  1 
TB (Transfer Block):  0 
RC (Read Continuous):  0 
EER (Enable Early Recovery):  0 
PER (Post Error):  0 
DTE (Disable Transfer on Error):  0 
DCR (Disable Correction):  0 
Read Retry Count:  1 
Correction Span:  144 
Head Offset Count:  0 
Data Strobe Offset Count:  0 
Write Retry Count:  1 
Recovery Time Limit:  0 

The DCAS defaults are itentical to the stored values shown above on my:

da0 at ncr0 bus 0 target 0 lun 0
da0: <IBM OEM DCHS09W 2222> Fixed Direct Access SCSI-2 device 
da0: 20.000MB/s transfers (10.000MHz, offset 15, 16bit), Tagged Queueing Enabled
da0: 8689MB (17796077 512 byte sectors: 255H 63S/T 1107C)

The DCAS is on a version 1.16 Adaptec 2940, but on a different computer:

ahc0: <Adaptec 2940 SCSI adapter> rev 0x00 int a irq 15 on pci0.9.0
ahc0: aic7870 Single Channel A, SCSI Id=7, 16/255 SCBs

So much for the background info. To the meat of the matter: 

How can I get bad block lists from IBM SCSI drives? Am I doing it wrong
or does it simply not work yet?

How to scan a SCSI drive and reallocate bad blocks?

Are my modepage parameters sane? Was looking at page 0x01 because I was 
worried about error handling. But here's the popular 0x08 too:

nospam: [1043] camcontrol modepage -n da -u 0 -m 8 -P 3
IC:  0 
ABPF:  0 
CAP:  0 
DISC:  0 
SIZE:  0 
WCE:  0 
MF:  0 
RCD:  0 
Demand Retention Priority:  1 
Write Retention Priority:  1 
Disable Pre-fetch Transfer Length:  65535 
Minimum Pre-fetch:  0 
Maximum Pre-fetch:  65535 
Maximum Pre-fetch Ceiling:  65535 
nospam: [1044] 


--
David Kelly N4HHE, dkelly@nospam.hiwaay.net
=====================================================================
The human mind ordinarily operates at only ten percent of its
capacity -- the rest is overhead for the operating system.




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-scsi" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199905270117.UAA48835>