29 October 2011
After recalibrating track zero during power-on self-diagnostic, the Archive Sidewinder QIC drive motor starts and will not stop. If a tape is inserted, it is wound past EOT (or BOT) and unspooled.
According to the Sidewinder Maintenance Manual, this indicates a probable defect on the motor driver board. If the motor stops when pin 4 of IC 3B (74LS04) is shorted to ground, this indicates a probable defect on the main board.
My 9045L-2 is a Sidewinder LSI and accordingly does not have separate motor driver and main circuit boards. They are all integrated with the QIC-02 formatter on a single logic board. It was sufficient in this case to re-seat all socketed parts on the logic board. After doing so, the motor control circuit began responding normally again.
The Sun-2 Multibus SCSI host adapter (P/N 501-1006) times out communicating with the IBM UltraStar XP DFHS-S2F.
Auto-boot in progress... Boot: sd(0,0,0)vmunix scsi: timeout scsi: timeout scsi: timeout scsi: timeout Waiting for disk to spin up... Please start it, if necessary, -OR- press any key to quit. scsi: timeout
These messages will continue indefinitely.
Jumper the drive to disable target-initiated synchronous negotiation.
When encountering a tape error, the Boot ROM diagnostic prints only a cryptic hexadecimal error code, leaving the true nature of the problem a mystery. When encountered by the second stage tape boot loader, tape errors are described only slightly more helpfully. The hexadecimal value encodes sense data from the Sysgen SC4000 QIC-02 bridge, which are documented in /usr/sys/sundev/streg.h.
status | |||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
* | other_bit | at least one other bit set in this word | |||||||||||||||
* | no_cart | no cartridge in drive | |||||||||||||||
* | not_there | no drive installed | |||||||||||||||
* | write_prot | cartridge write protected | |||||||||||||||
* | eot | end of last track | |||||||||||||||
* | data_err | unrecoverable data error | |||||||||||||||
* | no_err | data transmitted not in error | |||||||||||||||
* | file_mark | file mark detected | |||||||||||||||
8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | flag | description | LSW | |||||||
MSW | 8 | 4 | 2 | 1 | 8 | 4 | 2 | 1 | |||||||||
other_bit2 | at least one other bit set in this word | * | |||||||||||||||
illegal | illegal command | * | |||||||||||||||
no_data | unable to find data | * | |||||||||||||||
retries | retries exhausted (>8) | * | |||||||||||||||
bot | beginning of tape | * | |||||||||||||||
reserved | * | ||||||||||||||||
reserved | * | ||||||||||||||||
pwr_on | power on or reset since last operation | * |
Below are actual error conditions I encountered. The first column lists the error message printed by the ROM monitor; the second column lists the accompanying text from the second stage tape boot loader (where available); the third column includes any additional notes I may have taken in conjunction with this error.
Stage 1 | Stage 2 | Notes |
---|---|---|
st: error D000 | no tape loaded | |
st: error 96A0 | ||
st: error 9690 | retension possibly required | |
st: error 9490 | <WriteProt,HardErr,Flaking> | media error, some data read |
st: error 9488 | ||
st: error 86A0 | <HardErr,WrongBlock,NoData> | DC-600 cart, probably QIC-24 data format |
The standalone diagnostic on the SunOS 2.0 tape is only capable of dealing with SMD disks, or ST412 disks on the ACB4000 bridge. It will not format or label an ESDI disk on the MD21 bridge, or a native SCSI device.
The following controllers are supported:
The following disks are supported when attached to the ACB4000:
Arbitrary ST412 disks on the ACB4000 bridge are supported if the number of cylinders, heads, sectors per track, and interleave are known.
A native SCSI disk may be used if it is formatted and labelled using a machine with a newer SunOS release.
See also: SunOS 3.5 standalone diagnostic does not support SCSI disks.
SunOS 2.0 fails to bring the DFHS-S2F online when attempting to mount the root filesystem.
Load: sd(0,0,0)boot Boot: sd(0,0,0)vmunix Size: 368640+57344+66652 bytes Sun UNIX 4.2 Release 2.0 (GENERIC) #1: Mon May 20 15:32:06 PDT 1985 Copyright (c) 1985 by Sun Microsystems, Inc. mem = 2048K (0x200000) avail mem = 1495040 Ethernet address = 8:0:20:1:d:d3 sc0 at mbmem 80000 pri 2 sd0 at sc0 slave 0 sd1 at sc0 slave 1 st0 at sc0 slave 32 ropc0 at virtual ee0800 zs0 at virtual eec800 pri 3 zs2 at mbmem 80800 pri 3 zs3 at mbmem 81000 pri 3 ie0 at mbmem 88000 pri 3 pi0 at virtual ee2000 tod0 at virtual ee1000 root on sd0 using 76 buffers containing 155648 bytes of main memory sd0: not online panic: rootmount cannot mount root syncing disks... done dumping to dev 701, offset 0 dump device bad Rebooting Unix...
Jumper the DFHS-S2F to disable unit attention. It may also be necessary to disable SCSI parity on the drive (I did so).
I tried to create a 68010 SunOS 2.0 root disk using a SPARCstation LX running SunOS 4.1.4. After the following procedure,
the drive booted SunOS 2.0 when attached to the Sun 2/120. The filesystem mounted read-only, but fsck was not happy.
root on sd0 using 76 buffers containing 155648 bytes of main memory Automatic reboot in progress... Sun Aug 19 13:46:11 PDT 1990 /dev/sd0a: BAD SUPER BLOCK: TRASHED VALUES IN SUPER BLOCK /dev/sd0a: USE -b OPTION TO FSCK TO SPECIFY LOCATION OF AN ALTERNATE /dev/sd0a: SUPER-BLOCK TO SUPPLY NEEDED INFORMATION; SEE fsck(8). /dev/sd0a: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. Automatic reboot failed... help! # fsck /dev/rsd0a ** /dev/rsd0a BAD SUPER BLOCK: TRASHED VALUES IN SUPER BLOCK USE -b OPTION TO FSCK TO SPECIFY LOCATION OF AN ALTERNATE SUPER-BLOCK TO SUPPLY NEEDED INFORMATION; SEE fsck(8). # fsck -b 32 /dev/rsd0a Alternate super block location: 32 ** /dev/rsd0a ** Last Mounted on ** Phase 1 - Check Blocks and Sizes CG 0: BAD MAGIC NUMBER CG 1: BAD MAGIC NUMBER CG 2: BAD MAGIC NUMBER CG 3: BAD MAGIC NUMBER CG 4: BAD MAGIC NUMBER ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts FREE INODE COUNT WRONG IN SUPERBLK FIX? yes ** Phase 5 - Check Cyl groups CG 0: BAD MAGIC NUMBER CG 1: BAD MAGIC NUMBER CG 2: BAD MAGIC NUMBER CG 3: BAD MAGIC NUMBER CG 4: BAD MAGIC NUMBER 33667 BLK(S) MISSING BAD CYLINDER GROUPS SALVAGE? y ** Phase 6 - Salvage Cylinder Groups 244 files, 4756 used, 33667 free (27 frags, 4205 blocks) ***** FILE SYSTEM WAS MODIFIED ***** #
This was not the end of it. After a reboot:
Automatic reboot in progress... Sun Aug 19 13:47:52 PDT 1990 /dev/sd0a: CG 0: BAD MAGIC NUMBER /dev/sd0a: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. Automatic reboot failed... help! # fsck -b 32 /dev/rsd0a Alternate super block location: 32 ** /dev/rsd0a ** Last Mounted on ** Phase 1 - Check Blocks and Sizes CG 0: BAD MAGIC NUMBER CG 1: BAD MAGIC NUMBER CG 2: BAD MAGIC NUMBER CG 3: BAD MAGIC NUMBER CG 4: BAD MAGIC NUMBER ** Phase 2 - Check Pathnames ** Phase 3 - Check Connectivity ** Phase 4 - Check Reference Counts ** Phase 5 - Check Cyl groups CG 0: BAD MAGIC NUMBER CG 1: BAD MAGIC NUMBER CG 2: BAD MAGIC NUMBER CG 3: BAD MAGIC NUMBER CG 4: BAD MAGIC NUMBER 33667 BLK(S) MISSING BAD CYLINDER GROUPS SALVAGE? y ** Phase 6 - Salvage Cylinder Groups 244 files, 4756 used, 33667 free (27 frags, 4205 blocks) ***** FILE SYSTEM WAS MODIFIED ***** #
fsck would not fix the remaining errors. The data could be read, but the filesystem would not mount for write access.
When attempting to load the kernel with an option—for example, to boot single-user:
> b sd()vmunix -s
—the sdboot program in the disk boot block ignores any arguments entered on the ROM monitor command line.
Use the tape boot program, from the SunOS install tape:
> b st() Boot: sd()vmunix -s
This will result in a single-user boot.
When booting off a partition other than 0 (zero),
> b sd(0,0,1)vmunix
the SunOS 2.0 kernel will automatically mount the root filesystem from the 0 partition. This seems independent from what may be specified in fstab.
While operating, the Sun 2/120 processor crashes and fails to respond to power-on reset. All eight diagnostic LEDs on processor board (P/N 501-1007) are lit, but do not appear to be at full brightness.
The 5 volt power supply has failed. With the load disconnected, it outputs approximately 2 VDC.
Replace the two electrolytic filter capacitors mounted in parallel across the 5 volt output lugs. They are rated 26000 µF 7.5 VDC, with -10% +75% tolerance. The physical size is 1.375" dia. by 2.25" high, 10-32 screw mount with 0.5" lug spacing. The replacement capacitors must be no larger than this to fit without significant mechanical alterations to the power supply.
I found it difficult to obtain suitable replacements.
Note: The Sun 2/120 power supply must be tested under load. The PSU will not regulate voltage correctly if there is no load attached.
When installing the Archive Sidewinder LSI QIC drive into the Sun 2/120 chassis, its frame arrangement prevents a 5.25" full-height drive from being installed into the center drive bay, directly behind the QIC drive. The rearmost 5.25" drive bay can still be used.
The older Sidewinder (non-LSI) QIC drive has a metal frame which extends deep into the chassis, but is arranged in such a way that a 5.25" full-height drive may be installed behind it. The frame fully surrounds the 5.25" drive, with the QIC-02 Standalone Controller (SAC) PCB thereby situated above it.
The plastic frame of the Sidewinder LSI has a shorter overall installed depth, but is made from thicker stock which intrudes into the space where the frontmost 5.25" full-height drive would be mounted. The frame also blocks screw holes on the right-hand side of the system chassis which are used to secure the drive mounting tray, though the remaining unblocked screw holes are sufficient to hold the tray in place.