CMD 32-Bit Local Bus OS/2 2.x IDE Driver Installation Instructions ------------------------------------------------------------------ INSTALLATION ------------ 1) Copy CMD640X.ADD to your OS2 directory (e.g., C:\OS2). 2) Edit C:\CONFIG.SYS (type E C:\CONFIG.SYS), replacing BASEDEV=IBM1S506.ADD with BASEDEV=CMD640X.ADD /V 3) Reboot the system and verify that it is functioning correctly. The following steps are optional, for those who are interested in getting maximum performance. 4) In order for the driver to load performance optimizations for your IDE drives, you must specify your Local Bus clock speed. IF YOU ARE NOT SURE OF YOUR LOCAL BUS CLOCK SPEED, DO NOT PROCEED UNTIL YOU ARE SURE. If you are using a DX processor, your Local Bus clock speed is equal to your CPU clock speed. If you are using a DX2, your Local Bus clock speed is half of your CPU clock speed. VL Examples: 1) 486-50DX CPU - Local Bus clock speed = 50 2) 486-66DX2 CPU - Local Bus clock speed = 66/2 = 33 5) Edit C:\CONFIG.SYS. Find the line BASEDEV=CMD640X.ADD /V and change it to BASEDEV=CMD640X.ADD /V /LBSPEED:dd where dd = Local Bus Speed in MHz. 6) Next, reboot your system, and the driver will load drive optimizations. COMMAND LINE OPTIONS -------------------- The following diagram illustrates the CMD640X.ADD unit parameter structure: BASEDEV=CMD640X.ADD ---------------------------> | ^ |--- /V ------------| |--- /LBSPEED:dd ---| |----/CH2:dd--------| |-------------------| -------> /A:d --------------------------------------> ^ | ^ | | |------ /I ----------->| | | |------ /R -------->| | | |------ /IRQ:dd ------>| | | |------ /PORT:hhhh --->| | | |------ /16BIT ------->| | | |-------/!SATM---------| | | |----------------------| | | | |-----------------------------| -------> /U:d -------> /GEO: ------------> dd --------------------------> ^ ^ | | ^ | | | | | | |----- (dddd,dddd,dddd) -----| | | | | | | | | | | | |------------ /T:dddd ----------------------| | | | | |------------ /SMS ----------------------| | | | | |------------ /LBA ----------------------| | | | | |------------ /PIOMODE:d -------------------| | | | |-----------------------------------------------| | | | |---------------------------------------------------------------| CMD640X.ADD Device Driver Parameters /V Verbose - Display driver information This parameter displays the adapter device driver level, disk controller status and drive geometry information during the OS/2 system initialization. /LBSPEED:dd Local Bus Clock Speed This parameter specifies the clock speed of the local bus in MHz. Specifying this parameter enables the driver to load performance optimizations for each attached drive (ATA Timing Modes).
must be between 20 and 50. The /V - (Verbose) option will display the local bus clock speed, as well as the ATA PIO Timing mode supported by each drive. NOTE: If your BIOS has built-in support for Fast PIO Modes on the PCI-0640x, specifying /LBSPEED will override your BIOS' settings. Don't specify /LBSPEED if you do not wish the driver to perform PCI-0640x drive/chip initialization. See the /!SATM parameter below for information on how to control initialization on a per-IDE port basis. /CH2:dd Secondary IDE Channel This parameter enables support of the secondary IDE channel if
is set to 1, the driver will support an external 16-bit ISA IDE adapter. If /CH2 is not specified, the secondary IDE channel is ignored. /A:d Adapter Number This parameter specifies the IDE port number to which options following this parameter apply. Specify 0 for the Primary IDE, and 1 for Secondary IDE. /I Ignore Adapter This parameter indicates that the CMD IDE driver should not attempt to initialize the adapter indicated. This adapter device driver automatically attempts to locate and initialize both the primary and secondary adapters. In some cases other DASD controllers may appear between the primary and secondary IDE controllers. In these cases the system should be configured as follows: BASEDEV=CMD640X.ADD /V /A:1 /I BASEDEV=MOREDASD.ADD BASEDEV=CMD640X.ADD /V /A:0 /I /R Reset Adapter If this parameter is negated (/!R), adapter resets are disabled. In most cases resets are beneficial to assist in recovering from transient hardware problems such as lost interrupts, timeouts, or commands a particular adapter may not support. /IRQ:dd Interrupt Level This parameter overrides the default IRQ Number for the adapter indicated. The default IRQ address for Adapter 0 is (14) and for Adapter 1 is (15). /PORT:hhhh Port Number This parameter specifies the (hexadecimal) I/O port base address to be used when accessing the specified adapter. Defaults for are 1F0 for /A:0, and 170 for /A:1. /16BIT 16-Bit Access By default, 32-Bit accesses are used for primary Local Bus IDE port. If 16-Bit accesses are preferred, this parameter should be specified. /U:d Unit Number This parameter specifies the fixed disk drive number to which options following this parameter apply. Fixed disk drive numbers start at 0. /GEO Drive Geometry This parameter overrides the Cylinder/Head/Sector geometry for the unit selected. The fourth parameter is the Write Precompensation Cylinder which may be omitted for drives which do not require precompensation. As an alternate format standard BIOS drive types may be used. Types (0-46) are supported. User defined types 47-49 should be entered directly by in the previous format. If a second set of geometry is present, then the first set specifies the physical geometry of the drive, and the second set indicates the translated geometry which is reported to the OS/2 system. /T:dddd Drive Timeout This parameter indicates the total allowable error recover time for a request. Error recovery times < 5 seconds will be ignored. This parameter defaults to 30 seconds. A shorter interval may be desirable for fault tolerant applications. /SMS Enable Multple Block I/O Support This parameter enables Set Multiple Support, which the improves performance of most IDE drives. If the drive does not support this feature, this switch will be ignored. The /V - (Verbose) option will indicate whether this feature has been enabled on a particular drive. By default, Set Multiple Support is enabled. To disable it on a particular drive, use /!SMS. /LBA Enable LBA Support This parameter enables Logical Block Support for IDE drives which support this option. The /V - (Verbose) option will indicate whether this feature has been enabled on a particular drive. By default, LBA Support is disabled. /!SATM Disable Setting of ATA Timing Modes This parameter prevents the driver from loading performance optimizations for drives attached to the currently specified adapter. If your BIOS directly supports the CMD PCI-0640X and you don't want to override its settings, you must specify /!SATM. NOTE: Not specifying /LBSPEED is equivalent to "/A:0 /!SATM /A:1 /!SATM." /PIOMODE:d Override Vendor-Specified ATA PIO Mode By default, the driver automatically sets the highest ATA PIO timing mode supported by each drive. This parameter allows the user to override the vendor-specified ATA PIO timing mode with any timing mode between 0 and 5. This is particularly useful for support of drives which have firmware bugs, causing them to return incorrect PIO timing modes in the IDENTIFY DRIVE command. For example, many current drives which claim to be Mode 2 are really Mode 0 or Mode 1. WARNING: Setting a PIO Mode higher than supported by a drive may cause boot failure or data corruption. However, setting a lower PIO Mode than specified by a drive is harmless.