Disabling SCSI parity checking to dump disk on ACB4000 MFM-SCSI adapter?

Michael Engel engel at multicores.org
Sat Sep 26 10:32:53 CDT 2020


On 9/26/20 5:22 AM, Grant Taylor via cctalk wrote:
> On 9/25/20 10:38 AM, Glen Slick via cctalk wrote:
>> If the Adaptec 2940 BIOS seems to detect the disk I wonder what would 
>> happen if DOS was set up on the system and ASPI8DOS.SYS was loaded. 
>> Would the Adaptec 2940 and ASPI driver respect the BIOS parity 
>> setting and interact with the ACB4000 bridge well enough for a fairly 
>> simple DOS program to be able to use the ASPI interface to send READ 
>> CDBs to read the sectors from the device? If I had such a device 
>> myself to experiment with I'd probably give that a try to see if it 
>> works.
>
> If it would work, I wonder if you could then use something like Ghost 
> to copy the drive to an image or another more standard drive that 
> could then more easily be worked with

Using DOS might be another option, I seem to hit a roadblock with every 
Unix version I try...

After quite a bit experimenting it seems that older Linux kernels (down 
to 2.2, I´m not sure if earlier kernels would support the Pentium 4 I 
have here) don´t seem to make a difference, Linux doesn´t talk to the 
disk via the Adaptec 2940 and complains about parity errors.

So I tried another idea from this thread - using a SunOS 4 machine. I 
set up a Sparcstation LX for netbooting SunOS 4.1.4 and it discovers the 
disk (typed in from the screen, I didn´t think of setting up a serial 
console):

sd3: non-CCS device found at target 0 lun 0 on esp0
sd3: at esp0 target 0 lun 0
sd3: corrupt label - wrong magic number
sd3: Vendor ´ADAPTEC*´, product ´ACB4000*********´, 181520 512 byte blocks

The corrupt label is expected and the vendor and product name as well as 
the disk size seem to be discovered correctly. However, when I try to 
dump the disk, I get the following error message:

# dd if=/dev/sd3c of=/root/foo bs=512
(same for /dev/rsd3c) SunOS complains:
dd: open: /dev/sd3c: No such device or address

The disk is jumpered to address 0, it shows as address 3 due to the 
strange SCSI address renumbering of SunOS 4. Partition c should be the 
"whole disk" device. When I rejumper the ACB4000 to address 3, it shows 
as sd0 as expected - but I still get the same error message (with the 
other disk device name shown, of course).

/dev/sd3c has major device ID 7, minor 26 (sd0c is 7/2), both were 
generated with the SunOS 4 MAKEDEV script in the NFS root directory, so 
they should be correct.

I can also read the internal disk just fine with dd when I connect it. 
So it seems that this is a problem of a missing disk label that confuses 
the SunOS SCSI driver (I seem to remember having similar problems in the 
´90s with our Suns)? Maybe I have to start reading SunOS kernel code...

Btw., NetBSD (I tried 1.3.3 and 1.6.2) on the Sparc LX complains about 
SCSI phase errors if the ACB4000 is attached, so that´s also probably 
not an option.

-- Michael



More information about the cctalk mailing list