On Dec 29, 2019, at 17:59, r.stricklin via cctalk wrote:
Is there a way to get an HP-IB disk unit with an ST412
or ESDI type HDA inside to perform a low-level format?
I think this is what 'mediainit' is maybe supposed to do (based on being able to
change the interleave) but I don't see any way to map bad blocks (etc.) using it. The
-r 'recertify' option is apparently only valid for tape.
I have a 7946A with a Vertex V170 that needs some new blocks marked bad. There's
nothing on it I need to keep, but if I use 'mediainit' on it, it fails pretty
quick with an I/O error. From the sounds it makes, it's hitting the first defect (at
block 64) and giving up.
Once upon a time, I had pretty much this same problem.
This on an HP 9000/320 with HP-UX 7.05, and a 7946
with a Vertex V170. Copy-pasta below from an e-mail
that I wrote about it back in 1992:
(begin copy-pasta)
I think I've fixed my dead 7946 disk drive! I sent away for the 7946
service manual (it's p/n 07940-90903 if you're interested; $20+s/h for
us non-HP-employees), and did a strings `which mediainit`. This
"research" led me to the following incantation (comments in square
brackets are mine):
# mediainit -vGD /dev/rdsk/2s0 [ G == guru mode D == debugging mode ]
WARNING: You have invoked guru mode, a mode requiring extensive device
command set knowledge in order to properly respond to prompts that
follow, and from which you could seriously compromise device integrity
by responding improperly. Are you SURE you want to proceed? (y/n) y
mediainit: initialization process starting
mediainit: locking the volume
mediainit: performing a describe command
mediainit: interleave factor 1 chosen
suppress running diagnostic? (y/n) y
[ if you run the diagnostic it will fail ]
initialize options? (defaults to 0) 2
[ 0 == normal initialization, keep spares, etc ]
[ 1 == retain factory spares only (forget field spares) ]
[ 2 == completely reinitialize the HDA, forget all spares, etc ]
volume ert passes? (defaults to 2) 2
[ this is recommended in the service manual ]
clear logs option? (defaults to 1) 1
[ probably a good idea - the "drive logs" are gibberish if you've
used the drive on a PC ]
sparing mode byte? (defaults to 1) 1
[ I don't know what this means, but I took the default ]
mediainit: initializing media
mediainit: pre-setting drive
mediainit: clearing logs
mediainit: running a 2 pass volume error rate test
mediainit: reading error rate test log for head 0
mediainit: testing suspect sector 4 on head 0, cylinder 576
mediainit: sparing sector 4 on head 0, cylinder 576
mediainit: re-testing entire track on head 0, cylinder 576
mediainit: reading error rate test log for head 1
mediainit: reading error rate test log for head 2
mediainit: reading error rate test log for head 3
mediainit: reading error rate test log for head 4
mediainit: reading error rate test log for head 5
mediainit: reading error rate test log for head 6
mediainit: reading run time log for head 0
mediainit: reading run time log for head 1
mediainit: reading run time log for head 2
mediainit: reading run time log for head 3
mediainit: reading run time log for head 4
mediainit: reading run time log for head 5
mediainit: reading run time log for head 6
mediainit: initialization process completed
#
... it may be a good idea to spare some of the other things (like the
hard errors listed on the top of the drive), but I don't know how to
turn bytes-from-index numbers back into CS/80 sectors. You may be
able to turn them up as errors by running more ERT passes. I should
probably put the drive on a 3000 and look at the spared-sector lists
with CS80UTIL.
As they say, "your mileage may vary." But my drive now powers up
without a flashing red error light; sooner or later I'll newfs it and
play with it.
(end copy-pasta)
-Frank McConnell