[comp.os.os2.programmer] ST01 & OS/2 clash

mckenney@talos.pm.com (Frank McKenney) (12/03/90)

BACKGROUND
----------
A few weeks back I reported that my Everex AT clone was unable to
boot either the OS/2 1.1 or 1.2 Installation Diskettes. I <could>
boot IBM PC DOS 3.3 from the A: drive with no problems.

    Everex System 1800 10 MHz AT Clone, 5 MB RAM
    AMI BIOS: S286-2098 Rev-F3-20 04/26/89-KD
    A: 1.44 Mb 3.5"   B: 360 Kb 5.25"
    C: 40 Mb Seagate ST-251-1 (Everex controller)
    D: 80 Mb Seagate ST-296N / ST01 adapter
    Video-7 Vega VGA adapter

Both the System and Keyboard BIOS chips were upgraded early this
year, and the current ROM SETUP routine allows the A: drive to be
configured as a 3.5" high-density drive.

SUCCESSFUL WORK-AROUND
----------------------
Removing the Seagate ST01 SCSI Host Adapter made the problem go
away. With it out of the system, I have successfully booted the
OS/2 1.2 Installation diskette, run a "test" install of OS/2, and
booted OS/2 from the ST-251 C: drive.

UGLY DETAILS
------------
It turns out that the BIOS in my Seagate ST01 SCSI Host Adapter
was mangling the diskette parameter tables so carefully set up by
my System BIOS, setting a track limit of <8> sectors per track.
Yes, this is an odd thing for an <HD-only> adapter to do...

Why doesn't PC DOS run into the same problem? Because the DOS 3.3
boot code establishes its <own> diskette parameters specifying
<18> sectors/track. This DOS table is constructed in the initial
boot area (0:7C00-0:7DFF), and is later replaced with a more
permanent version.

I would expect this bug to affect <any> boot code that trusts the
diskette parameters set up for it (i.e. non-DOS systems). Seagate
Tech Support (800-468-3472) says that this problem has been fixed
in the current ST01 BIOS, level 3.2 (my ST01, purchased last
December, is at level 3.0). They also won't sell me an updated
BIOS chip.

I did come up with a work-around for the BIOS bug. I rewrote the
OS/2 boot block to set up a new parameter block in the INT 80h-
82h vector locations, and then update the DISK_POINTER field (the
INT 1Eh vector) to point to this new block. This let me boot the
OS/2 Installation Diskette starter system and successfully
complete the installation process.

Unfortunately, I still cannot bring up OS/2 from my (MFM) C:
drive. It comes up part way, complains about a missing COUNTRY
file, and wants me to fix it. After five conversations with
Seagate Tech Support persons, the last in response to a message I
posted to the Seagate BBS (408-438-8771), I finally spoke to
someone who admitted that there is no way I can use an ST01 with
OS/2. I was also told that Seagate had no plans to make the ST01
compatible with OS/2 or networks, and that I should upgrade to a
16-bit SCSI controller.

What is really frustrating is that I could live with being unable
to access the SCSI drive under OS/2 if only the ST01 weren't
screwing up OS/2's access to my MFM drive.

My thanks to those of you who responded to my initial posting. I
wish I could have found a better work-around than "remove the
ST01" to post in return.

I will confess that late one night I did consider disassembling
the ST01 BIOS, converting the code to a DOS device driver, and
then removing the ROM chip from the ST01 adapter, but at this
point my queue is already full of projects with which to fill my
copious (;-) free time. Besides, Seagate won't release any
technical information on the ST01 - it's <proprietary>...

Any recommendations for an inexpensive AT-type SCSI adapter which
can coexist with an MFM controller and for which an OS/2 driver
exists?

Frank McKenney

P.S.  There were several recent articles in comp.os.minix regarding
problems with the ST01, so it seemed worthwhile to cross-post.

mitchell (Bill Mitchell) (12/03/90)

In article <1990Dec3.002622.14210@talos.pm.com> mckenney@talos.pm.com (Frank McKenney) writes:
>BACKGROUND
>----------
>A few weeks back I reported that my Everex AT clone was unable to
>boot either the OS/2 1.1 or 1.2 Installation Diskettes. I <could>
>boot IBM PC DOS 3.3 from the A: drive with no problems.
>
[.....]
>
>SUCCESSFUL WORK-AROUND
>----------------------
>Removing the Seagate ST01 SCSI Host Adapter made the problem go
>away.
>
[.....]
>
>UGLY DETAILS
>------------
>It turns out that the BIOS in my Seagate ST01 SCSI Host Adapter
>was mangling the diskette parameter tables so carefully set up by
>my System BIOS, setting a track limit of <8> sectors per track.
>Yes, this is an odd thing for an <HD-only> adapter to do...
>
[.....]
>
>I would expect this bug to affect <any> boot code that trusts the
>diskette parameters set up for it (i.e. non-DOS systems). Seagate
>Tech Support (800-468-3472) says that this problem has been fixed
>in the current ST01 BIOS, level 3.2 (my ST01, purchased last
>December, is at level 3.0). They also won't sell me an updated
>BIOS chip.
>
[.....]
>
>Any recommendations for an inexpensive AT-type SCSI adapter which
>can coexist with an MFM controller and for which an OS/2 driver
>exists?
>

Ouch!  I'd recommend a controller made by someone other than Seagate.
I'll surely remember this tale of woe in my future disk upgrades.

-- 
mitchell@mdi.com (Bill Mitchell)