SCSILEVL Utility
8032-based SCSI Controllers
80188-based SCSI Controllers
80186-based SCSI Controllers
Content by David L. Beem (original HERE). Edited by Tomáš Slavotínek.
Last update: 18 May 2023.
SCSILEVL Utility
Hidden away on one of the support diskettes, IBM has a small program named
SCSILEVL.COM. It reports the microcode firmware version on most of the
different IBM SCSI controllers used on Micro Channel (MCA) PS/2s (This page
does not cover the SCSI RAID controllers that IBM had on its server models nor
the rebranded Future Domain controller IBM called the Patriot). Besides being a
little too simplistic for my tastes, the program doesn't work on a few IBM
models (Industrial Gearbox 800, 8556/8557, and 9556/9557 PS/2s) that have SCSI
implemented on the system planar.
I intend to expand the program somewhat, as well as document how it works.
Most of the code is fairly easy to understand for those fluent in Assembler.
For some sections, you may have to see a debugging program (like Microsoft's
CodeView for DOS) single-step through the code on a system with IBM SCSI. I
recommend running the programs only in a pure DOS environment!
The original SCSILEVL.COM program doesn't even check if it is running on an
MCA system (the things IBM takes for granted)! I just find some areas worth
improving, mainly to make it check all the IBM SCSI microcode versions. The
interface can also be changed to be more grammatically correct (i.e. not
identifying a planar SCSI controller as being on a "slot").
SCSILEVL.COM - IBM's original version (zipped)
SCSILEVL.DIS - The original version disassembled
IBM made three different families of non-RAID Micro Channel SCSI
controllers, mainly distinguished by the microcontroller or microprocessor of
the circuit that controlled the SCSI bus. Even though some of the controllers
could use the same microcode firmware, I have separated them by how I see those
series laid out. The functionality among the families is largely the same, with
the members having similar capabilities.
I don't profess to know what the different microcode versions added or
fixed, but it is helpful to know if there is a later version for an upgrade (I
will have some microcode images of the non-flash series up soon so you can burn
your own EPROMs if you have the equipment). Generally, it is advised to have
the latest firmware possible. I have charted all the versions I have found so
far. If you have an unlisted version or one marked as
"Unknown", please notify me to add it.
8032-based SCSI Controllers
Based on the Intel-designed 8032
microcontroller (or its CMOS
variant). It is "Narrow" SCSI able to do a 5 MB/s transfer rate. All models
of this series have no controller cache. The microcode is on a single 32Kx8
EPROM.
80188-based SCSI Controllers
Based on the Intel-designed 80188
microprocessor. It is "Narrow" SCSI able to do a 5 MB/s transfer rate. Most
models of this series have a base 512 KB controller cache, some expandable to 2
MB using proprietary IBM SIMMs. The microcode is on a single 64Kx8 EPROM.
EPROM P/N |
µCode Rev. |
© Date |
Location |
MCA SCSI (15F6903 + 33F6715 chipset) |
64F1333 |
Unknown |
Unknown |
U47 of "Old" Spock, FRU 84F8149 |
33F5546 |
07h/07d |
1988, 1989 |
U47 of "Newer" Spock, FRU 85F0063 |
57F2423 |
08h/08d |
1989 |
U43 of Gearbox 800 Drives Module |
57F2716 |
09h/09d |
1990 |
U43 of Gearbox 800 Drives Module |
64F5984 |
09h/09d |
1990 |
U47 of "Old" Spock, FRU 84F8149 |
64F5984 |
09h/09d |
— |
U10 of 2/3 Length SCSI w/ Cache (50-pin), FRU 95F4488 |
10G4890 |
25h/37d |
1991 |
U47 of Spock Prime, FRU 85F0063 |
10G4890 |
25h/37d |
— |
U12 of Short SCSI A/32 w/ Cache (DIP Term.), FRU 35G2818 |
10G4890 |
25h/37d |
— |
U9 of Long SCSI A/32 w/ Cache and 2.5" HD, FRU 35G3785 |
10G4891 |
25h/37d |
— |
U12 of Short SCSI A/32 w/ Cache (SIP Term.), FRU 07G3063 |
39G2066 |
25h/37d |
1992 |
U20 of 9576/9577 Bermuda planar |
39G2066 |
25h/37d |
1992 |
U51 of 9585 'X' planar FRU 92F0270 |
61G2976 |
26h/38d |
1993 |
U47 of Spock Prime, FRU 85F0063 |
80186-based SCSI Controllers
Based on the Intel-designed 80186
microprocessor. It is "Fast/Wide" SCSI able to do a 20 MB/s transfer rate.
All models of this series have no controller cache. The microcode is on two
flash 64Kx8 chips able to be upgraded with software.
REV71UPD.EXE - SCSI-2 Fast/Wide Firmware Rev 7.1
(zipped image)
corv77.EXE - SCSI-2 Fast/Wide Firmware Rev 7.7
EPROM P/N |
µCode Rev. |
© Date |
Location |
MCA SCSI ("Malibu" + "Cutlass" chipset) |
61G3929/30 |
57h/87d |
1993 |
U1 & U2 of Corvette, FRU 92F0160 |
61G3929/30 |
57h/87d |
1993 |
U139 & U140 of 9585 'K/N' planar FRU 61G2405 or 61G2401 |
61G3929/30 |
58h/88d |
1993 |
U1 & U2 of Corvette, FRU 92F0160 |
61G3929/30 |
58h/88d |
1993 |
U139 & U140 of 9585 'K/N' planar FRU 61G2405 or 61G2401 |
61G3929/30 |
58h/88d |
1993 |
U1 & U2 of Diff. F/W or RS/6K "4-6", FRU 11H3599 or 11H7660 |
61G3929/30 |
71h/113d |
1993 |
U1 & U2 of Corvette, FRU 92F0160 |
61G3929/30 |
71h/113d |
1993 |
U139 & U140 of 9585 'K/N' planar FRU 61G2405 or 61G2401 |
61G3929/30 |
71h/113d |
1993 |
U1 & U2 of Diff. F/W or RS/6K "4-6", FRU 11H3599 or 11H7660 |
61G3929/30 |
73h/115d |
Unknown |
U1 & U2 of Diff. F/W or RS/6K "4-6", FRU 11H3599 or 11H7660 |
61G3929/30 |
74h/116d |
— |
U1 & U2 of RS/6K "4-7" Corvette, FRU 11H3600 |
61G3929/30 |
74h/116d |
— |
U1 & U2 of Diff. F/W or RS/6K "4-6", FRU 11H3599 or 11H7660 |
61G3929/30 |
75h/117d |
12/97 |
U1 & U2 of RS/6K "4-7" Corvette, FRU 93H8814 |
61G3929/30 |
77h/119d |
1994 |
U1 & U2 of Corvette, FRU 92F0160 |
61G3929/30 |
77h/119d |
1994 |
U139 & U140 of 9585 'K/N' planar FRU 61G2405 or 61G2401 |
61G3929/30 |
77h/119d |
1994 |
U1 & U2 of Diff. F/W or RS/6K "4-6", FRU 11H3599 or 11H7660 |
88G1094/95 |
C5h/197d |
Unknown |
U1 & U2 of Enh. Diff. F/W or RS/6K "4-C", FRU 52G3380 |
88G1094/95 |
C6h/198d |
Unknown |
U1 & U2 of Enh. Diff. F/W or RS/6K "4-C", FRU 52G3380 |
88G1094/95 |
C7h/199d |
Unknown |
U1 & U2 of Enh. Diff. F/W or RS/6K "4-C", FRU 52G3380 |
61G3929/30 |
C9h/201d |
1993 |
U1 & U2 of Corvette, FRU 92F0160 |
88G1094/95 |
C9h/201d |
1995 |
U1 & U2 of Enh. Diff. F/W or RS/6K "4-C", FRU 52G3380 |
Note: The flash update image is 131 082 bytes in
size — 10 bytes more than the expected 131 072 bytes to program two 64 KB
flash devices. This is because of a 10-byte long string "SCSI2_CODE" stored at
the beginning of the BIN file. This string is NOT written to the flash
storage.
|