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