home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 29 Fixes_o / 29-Fixes_o.zip / idedasd2.zip / readme.txt < prev   
Text File  |  2002-12-20  |  47KB  |  1,112 lines

  1.  
  2.   FIXED IDE HARD DRIVE AND REMOVABLE MEDIA SUPPORT
  3.  
  4.   September 06, 2002
  5.  
  6.   OS/2 Device Driver Development
  7.   IBM Solution Technologies
  8.   Austin, TX
  9.  
  10.   (c) Copyright International Business Machines Corporation, 2001, 2002.
  11.   All rights Reserved.
  12.  
  13.   CONTENTS
  14.   ________
  15.  
  16.   1.0  INTRODUCTION
  17.  
  18.   2.0  INSTALLATION
  19.   2.1  Updating the Installation Diskettes
  20.   2.2  Updating a Previously Installed Warp System
  21.  
  22.   3.0  LARGE HARD DRIVE CONSIDERATIONS
  23.   3.1  System Hang or Hard Drive Hesitation
  24.   3.2  Cannot Mark a Partition Installable
  25.   3.3  IPE on Boot, "Trap D"
  26.   3.4  Inconsistencies in Total Disk Space
  27.   3.5  Application Install Fails with "Not Enough Space"
  28.   3.6  Performance Problems With Two Devices on a Single Channel
  29.   3.7  Install Diskettes or Utility Diskettes Hang on Boot (APAR JR12065)
  30.   3.8  Additional Parameters For IDE Device Driver
  31.   3.9  Additional Parameters for IBMATAPI.FLT and IBMIDECD.FLT drivers
  32.  
  33.   4.0  REMOVABLE MEDIA SUPPORT
  34.   4.1  Partitioned Removable Media
  35.     4.1.1  Using Protected Media
  36.     4.1.2  Assignment of Drive Letters
  37.     4.1.3  Configuring Partition Support (OS2DASD)
  38.     4.1.4  Ejecting the media
  39.     4.1.5  Limitations of Partitioned Removable Media Support
  40.   4.2  Large Floppy Removable Media (LS-120)
  41.     4.2.1  Limitations of LS-120 Support
  42.   4.3 CD-ROM Device Manager (OS2CDROM.DMD)
  43.   4.4 CD-RW media support in IBMIDECD.FLT
  44.  
  45.   5.0 SUPPORTED CHIPSETS, KNOWN RESTRICTIONS AND LIMITATIONS
  46.   5.1 Supported chipset table
  47.   5.2 Known restrictions and limitations
  48.     5.2.1 Intel chipsets limitations
  49.     5.2.2 VIA chipsets restrictions
  50.     5.2.3 SiS chipset limitation
  51.  
  52.   6.0  COPYRIGHT AND TRADEMARK INFORMATION
  53.  
  54.   1.0  INTRODUCTION
  55.   _________________
  56.  
  57.   FixPak 35 (FP35) for Warp 3 and FixPak 6 (FP6) for Warp 4 extended support
  58.   for fixed Enhanced IDE drives to sizes up to 8.4GB and added new caching HPFS
  59.   and FAT file system support for removable media drives such as SCSI Syquest
  60.   Syjet 1.5GB portable hard drive and the Iomega jaz 1GB and 2GB personal hard
  61.   drives.
  62.  
  63.   This package contains updates to the support in FP35 and FP6,
  64.   extending support to fixed Enhanced IDE drives greater than 8.4GB,
  65.   fixing some problems, and adding additional documentation on
  66.   removable media support.  Beginning with FP40 and FP10 OS/2 base
  67.   device drivers were separated into a Base Device Driver FixPak.
  68.  
  69.   This package also contains extensions to OS2CDROM.DMD, providing support for
  70.   multi-session CDROM media.
  71.  
  72.   The package also contains an updated floppy diskette driver (IBM1FLPY.ADD),
  73.   which corrects a failure that occurs upon a Resume on a ThinkPad when
  74.   the diskette drive is installed in the ThinkPad docking station.
  75.  
  76.   For Warp Server Advanced HPFS386 support of removable media, you additionally
  77.   need LAN Server SelectPack IP_8508.
  78.  
  79.   These fixpaks are available from http://ps.software.ibm.com/ under the link
  80.   "Downloads and News."  Install the fixpaks first, carefully following the
  81.   instructions with the fixpaks; then follow the directions in this README to
  82.   install this package.
  83.  
  84.   If you are attempting to install Warp 3 or Warp 4 for the first time on a fixed
  85.   hard drive greater than 4.3GB, then:
  86.  
  87.   1.  Follow the instruction on "Updating the Installation Diskettes" in this
  88.       README and use the new diskettes to install Warp.
  89.  
  90.   2.  Install FP35 for Warp 3 or FP6 for Warp 4.
  91.  
  92.   3.  Follow the instructions in this README to install this package.
  93.  
  94.   2.0  INSTALLATION
  95.   _________________
  96.  
  97.   2.1  UPDATING THE INSTALLATION DISKETTES
  98.   ________________________________________
  99.  
  100.   If you are attempting to install Warp on a hard drive greater than
  101.   4.3GB, or your are attempting to install Warp Server for e-business on
  102.   a hard drive greater than 30GB, then the Installation diskettes must
  103.   be updated.
  104.  
  105.   1.  Make a backup copy of your Diskette 1 (D1).
  106.  
  107.   2.  Copy the new versions of IBM1S506.ADD, and IBMIDECD.FLT
  108.       device driver files onto your D1 diskette.
  109.  
  110.   3.  If the installation diskettes are for Warp Server for e-business,
  111.       Warp Server for e-business Convenience Pak, or Warp 4 Convenience Pak,
  112.       copy the DASD32.DMD file to your D1 diskette and rename it to
  113.       OS2DASD.DMD.  Otherwise copy the DASD16.DMD file to your D1
  114.       diskette and rename it to OS2DASD.DMD.
  115.  
  116.   4.  Add the statement SET COPYFROMFLOPPY=1 to the CONFIG.SYS on D1.
  117.  
  118.   5.  Save the changes.
  119.  
  120.   6.  Start the installation with the Installation Diskette.
  121.  
  122.   7.  When you are prompted for Diskette 1, use the diskette you modified.
  123.  
  124.   8.  Proceed with the installation.
  125.  
  126.   9.  If during the installation process or when restarting your system, you
  127.       lose connection to your hard disk or CDROM, make sure that the device
  128.       driver statements are in the CONFIG.SYS file and the new versions of the
  129.       IBM1S506.ADD, IBMIDECD.FLT and OS2DASD.DMD device drivers have been
  130.       copied to the \OS2\BOOT directory.  Use the date of the files to distin-
  131.       guish the newer versions.
  132.  
  133.   2.2  UPDATING A PREVIOUSLY INSTALLED WARP SYSTEM
  134.   ________________________________________________
  135.  
  136.   1.  (Optional) Save the existing (old) level of drivers in your system.
  137.  
  138.       a.  Change Directory to the \os2\boot directory on your boot drive.
  139.  
  140.       b.  Rename the drivers (for example, where the boot drive is C:).  The
  141.           IBMATAPI.FLT driver may not have been previously installed.
  142.  
  143.             [C:\os2\boot] rename IBM1S506.ADD  IBM1S506.ORG
  144.             [C:\os2\boot] rename IBM1FLPY.ADD  IBM1FLPY.ORG
  145.             [C:\os2\boot] rename IBMIDECD.FLT  IBMIDECD.ORG
  146.             [C:\os2\boot] rename IBMATAPI.FLT  IBMATAPI.ORG
  147.             [C:\os2\boot] rename OS2CDROM.DMD  OS2CDROM.ORG
  148.             [C:\os2\boot] rename OS2DASD.DMD   OS2DASD.ORG
  149.  
  150.   2.  Open an OS/2 Window and enter the SYSLEVEL X: (where X: is your
  151.       boot drive).  Look for the entry x:\OS2\INSTALL\SYSLEVEL.OS2 and
  152.       see which version of OS/2 you have installed; for example "Version
  153.       4.00" or "Version 4.50".
  154.  
  155.   3.  Device Driver Install
  156.  
  157.       o   (Warp 3, Warp Server) Open the Device Driver Install program
  158.           in the OS/2 System Folder/System Setup Folder.
  159.  
  160.       o   (Warp 4, Warp Server for e-business) Open the Device Driver
  161.           Install program in the OS/2 System/System Setup/Install-Remove
  162.           Folder.
  163.  
  164.   3.  Point the Device Driver Install file dialogue to the directory where you
  165.       have placed the new files in this package.
  166.  
  167.          If your version of OS/2 is 4.00 or earlier, select the driver
  168.          named IBM IDE AND REMOVABLE MEDIA SUPPORT (V4.00).
  169.  
  170.          If your version of OS/2 is 4.50 or later, select the driver
  171.          named IBM IDE AND REMOVABLE MEDIA SUPPORT (V4.50).
  172.  
  173.       Click on INSTALL.
  174.  
  175.   4.  Reboot the system.
  176.  
  177.   3.0  LARGE HARD DRIVE CONSIDERATIONS
  178.   ____________________________________
  179.  
  180.   3.1  SYSTEM HANG OR HARD DRIVE HESITATION
  181.   _________________________________________
  182.  
  183.   The problem is the IDE chip sets on certain planars indicate that they support
  184.   Bus mastering but actually have a defect that prevents it from working cor-
  185.   rectly.  The driver detects bus mastering support, enables busmastering and
  186.   attempts to use it.  Some symptoms are:
  187.  
  188.   o   System will not boot with IBM1S506.ADD.
  189.  
  190.   o   CHKDSK command does not work properly.
  191.  
  192.   o   Hard drive stops or hesitates for minutes at a time.
  193.  
  194.   This is a known problem with ThinkPad models 760E/ED/ELD/EL.  However the
  195.   chip set can, and does, show up on planars of other manufacturers.  To
  196.   correct:
  197.  
  198.   1.  Edit the CONFIG.SYS file on Diskette 1 or the boot drive.
  199.  
  200.   2.  Disable busmastering by adding the parameter /!BM to the driver; for
  201.       example:
  202.  
  203.         BASEDEV=IBM1S506.ADD /A:0 /!BM /A:1 /!BM
  204.  
  205.   3.  Save the changes and reboot.
  206.  
  207.   3.2  CANNOT MARK A PARTITION INSTALLABLE
  208.   ________________________________________
  209.  
  210.   There is a BIOS restriction that installable (startable) or bootable parti-
  211.   tions must be contained within the first 1024 logical cylinders of the disk.
  212.   This is true for both EIDE and SCSI hard disk drives.  If FDISK fails to
  213.   allow a partition to be marked installable, the partition is either above
  214.   1024 cylinders or the partition spans the first 1024 logical cylinders of the
  215.   disk.  Use FDISK to reduce the size of the startable or bootable partition by
  216.   sufficient MBytes.  One way to calculate the correct partition size is to do
  217.   the following:
  218.  
  219.   1.  Edit your CONFIG.SYS and add the parameter /W or /V to the
  220.       BASEDEV=IBM1S506.ADD statement.
  221.  
  222.   2.  Save this change and reboot the system.
  223.  
  224.   3.  At initialization, record the far left hand column of numbers of the
  225.       geometry information under the OS2:log heading; for example, where
  226.       C=cylinder, H=head, and S=sector:
  227.  
  228.             OS2:log
  229.        C       1027
  230.        H         63
  231.        S        128
  232.  
  233.   4.  Calculate the 1024 cylinder size in MBytes as ( H x S ) / 2.  (round
  234.       down).
  235.  
  236.       All bootable partitions must be contained within this size.  In this
  237.       example the bootable partition must be contained in the first 4032
  238.       MBbytes of the disk and cannot exceed a single partition size of 4032
  239.       MBytes within this area.  No bootable partition may extend beyond the
  240.       first 4032 MBytes.
  241.  
  242.   5.  Use FDISK to resize the partitions and reboot.
  243.  
  244.   3.3  IPE ON BOOT, "TRAP D"
  245.   __________________________
  246.  
  247.   If you experience a Trap D on boot when using the /FORCE parameter on
  248.   IBM1S506.ADD, and you have the NetFinity client installed, REMark out the
  249.   BASEDEV=NFDASD.FLT statement in CONFIG.SYS.
  250.  
  251.   3.4  INCONSISTENCIES IN TOTAL DISK SPACE
  252.   ________________________________________
  253.  
  254.   This version of IBM1S506.ADD allows the detection and correct reporting of
  255.   some additional free space on certain drives.  This "free space" is real and
  256.   now can be accessed, either by creating a new partition or using a program
  257.   such as PartitionMagic to add the free space to an existing partition.  This
  258.   will not cause any corruption or inaccessibility to the data currently on the
  259.   disk.
  260.  
  261.   3.5  APPLICATION INSTALL FAILS WITH "NOT ENOUGH SPACE"
  262.   ______________________________________________________
  263.  
  264.   FAT partitions under OS/2 are limited to a 2.1GB maximum size.  HPFS parti-
  265.   tions are limited to a 64GB maximum size.  However there is the magic number,
  266.   2,147,483,647 (2.1GB).  This 2.1GB value is the maximum number that will fit
  267.   into a signed 32-bit integer.  Some application software installation pro-
  268.   grams query OS/2 about the available remaining space on the partition and
  269.   save the result into a signed 32-bit integer.  If more than 2.1GB is avail-
  270.   able there is an overflow, it appears no space is available, and the instal-
  271.   lation program refuses to continue.  Two solutions are:
  272.  
  273.   o   Partition the remaining space into maximum 2GB partitions.
  274.  
  275.   o   Retain the large partition, but before trying to install software create
  276.       a large temporary file that reduces available space to less than 2.1GB.
  277.       After installation of the application delete the temporary file.
  278.  
  279.   3.6  PERFORMANCE PROBLEMS WITH TWO DEVICES ON A SINGLE CHANNEL
  280.   ______________________________________________________________
  281.  
  282.   With certain planars, two devices attached to the same IDE channel will
  283.   exhibit performance problems when one device is a slow non-DMA device like a
  284.   CDROM or removable drive and the other device is a faster disk drive.  To
  285.   alleviate this problem move the slow device to the other channel, where it is
  286.   the only device or is paired with a similar slow device.
  287.  
  288.   If moving the device is not possible, then you can disable busmastering for
  289.   that channel, by specifying parameters on the driver IBM1S506.ADD in
  290.   CONFIG.SYS.  For example, if you wanted to disable bus mastering for the sec-
  291.   ondary controller, you would add the parameters "/A:1 /!BM" to the
  292.   IBM1S506.ADD line in CONFIG.SYS.
  293.  
  294.   3.7  INSTALL DISKETTES OR UTILITY DISKETTES HANG ON BOOT (APAR JR12065)
  295.   _______________________________________________________________________
  296.  
  297.   Diskette 1 of the Install or Utility diskette sets may appear to hang on
  298.   boot, waiting for a removable media device to respond.  To avoid:
  299.  
  300.   1.  Edit the CONFIG.SYS on Diskette 1 of the set
  301.  
  302.   2.  REMark out the basedev=ibmint13.i13 statement and save the file.
  303.  
  304.   3.  Reboot
  305.  
  306.   3.8  ADDITIONAL PARAMETERS FOR IDE DEVICE DRIVER
  307.   ________________________________________________
  308.  
  309.   PARAMETER      FUNCTION
  310.  
  311.   /V             Verbose Mode, displays controller status and drive geometry
  312.                  information during OS/2 initialization.
  313.  
  314.   /W             Verbose Mode, displays controller status and drive geometry
  315.                  information during OS/2 initialization.   Initialization stops
  316.                  after displaying the information for each device, with a
  317.                  "Press Enter to Continue" message.   It is possible that the
  318.                  message buffer will overflow, resulting in  a "Lost message"
  319.                  message.  This parameter works correctly on Warp 3 with FP35
  320.                  or later systems and on Warp 4 systems with FP6 or later.
  321.  
  322.   /FORCE         Forces the emulation of an IDE CDROM drive, even though one is
  323.                  not present during OS/2 initialization.  For example, the
  324.                  statements
  325.  
  326.                    BASEDEV=IBM1S506.ADD /A:1 /U:0 /ATAPI /FORCE
  327.                    BASEDEV=IBMIDECD.FLT
  328.  
  329.                  support inserting an internal CDROM drive into the Ultrabay of
  330.                  a ThinkPad 755CD after suspend, even though the drive is not
  331.                  present during initialization.
  332.  
  333.   /UDMA:x        If the system is Ultra DMA capable, this parameter may be used to
  334.                  limit the highest UDMA mode for an adapter or device. The limit is 
  335.                  specidied by "x", the value can be from 0 to 5. If the specified value is 
  336.                  higher than the maximum UDMA capability the parameter is ignored.
  337.                  For example, the statement
  338.  
  339.                     BASEDEV=IBM1S506.ADD /A:1 /U:0 /UDMA:2
  340.  
  341.                  limits Ultra DMA mode for secondary channel master device to Ultra DMA mode 2.
  342.                  
  343.   /!UDMA         This parameter is used to disable Ultra DMA modes of Bus Mastering but 
  344.          leave DMA BM modes enabled.
  345.  
  346.   /BM              If the system is DMA capable, this parameter can be used to
  347.                  enable or disable DMA for a specified device or adapter. 
  348.              Example: "/A:1 /U:0 /BM" enables DMA for the Master device attached 
  349.              to the secondary IDE channel. This can be useful to enable DMA on
  350.                  ATAPI devices ( CD-ROM, LS120, ZIP, etc) that are defaulted to run in 
  351.                  PIO mode. 
  352.              If a device is UDMA capable, using the "/BM" or "/UDMA" parameter is
  353.                  recommended only if the IDE 80 pin flat cable is connected (instead of
  354.                  the normal 40 pin flat cable). See section 5 for details on various
  355.                  chipsets.
  356.   /!BM           This parameter is used to disable Bus Mastering DMA for an adapter or device.
  357.                  For example, the statement
  358.                  
  359.                     "BASEDEV=IBM1S506.ADD /A:1 /!BM" disables BM DMA for secondary IDE channel,
  360.                     "BASEDEV=IBM1S506.ADD /A:0 /U:1 /!BM" disables BM DMA for master device on 
  361.                     primary IDE channel
  362.                     
  363.   
  364.  
  365.   3.9  ADDITIONAL PARAMETERS FOR IBMATAPI.FLT AND IBMIDECD.FLT DRIVERS
  366.   ____________________________________________________________________
  367.  
  368.   PARAMETER      FUNCTION
  369.  
  370.   /C             IBMATAPI.FLT and IBMIDECD.FLT have been modified so that they
  371.                  no longer fill the request's Scatter/Gather (S/G) list with 0's for the commands
  372.                  without a data tranfer phase, even if the particular command contains
  373.                  a valid S/G list. To avoid possible unforseen compatibility problems
  374.                  with older drivers, the /C parameter can be used to disables this new behavior.
  375.  
  376.  
  377.   4.0  REMOVABLE MEDIA SUPPORT
  378.   ____________________________
  379.  
  380.   Removable media devices attach to the system by a variety of interfaces.
  381.  
  382.   IDE            Supported with the OS/2 supplied IBM1S506.ADD device driver.
  383.  
  384.   EIDE           Supported with the OS/2 supplied IBM1S506.ADD device driver.
  385.  
  386.   ATAPI          Supported with the OS/2 supplied IBMATAPI.FLT device driver.
  387.  
  388.   ATA            Supported with the OS/2 supplied IBM1S506.ADD device driver.
  389.                  Iomega Zip ATA drives are supported only as single partition
  390.                  media and be configured in ATA Compatibility Mode; that is,
  391.                  the jumpers are:
  392.  
  393.                     Master             Slave
  394.  
  395.                       ■              ─ ■
  396.                                       
  397.  
  398.   SCSI           Small Computer System Interface.  Supported with the OS/2
  399.                  device driver for the SCSI controller to which the device is
  400.                  attached.  Many SCSI drivers are supplied with OS/2.  If your
  401.                  device is not recognized you must acquire the proper device
  402.                  driver from the vendor.   Consult
  403.                  http://service.software.ibm.com/os2ddpak/html/diskands/index.htm.
  404.                  To ensure correct operation with the Adaptec 1542 SCSI
  405.                  adapter, partition sizes should always be less than 1GB.
  406.  
  407.   PP             Parallel Port attached devices are supported with vendor-
  408.                  supplied drivers.  The device driver must have an ".ADD"
  409.                  extension for the media to be supported as partitioned remov-
  410.                  able.  For example, the Syquest Syjet Parallel drive is prop-
  411.                  erly supported by the vendor-supplied EPST.ADD driver, the
  412.                  Iomega Zip Parallel uses a vendor-supplied *.SYS driver and is
  413.                  not supported by the partitioned removable support, and the
  414.                  Syquest SparQ Parallel Iomega ZipPlus Parallel drives have no
  415.                  OS/2 drivers at all.
  416.  
  417.   USB            Floppy and removable media devices (including CDROM, CD-RW devices)
  418.                  are supported with the    OS/2 supplied USBMSD.ADD device driver and
  419.                  special CDROM class device driver USBCDROM.ADD.
  420.  
  421.   Removable media devices are supported in one of two ways.
  422.  
  423.   LARGE FLOPPY        The LS-120 drive.
  424.  
  425.   PARTITIONED         All other magnetic removable media devices.  This media
  426.                       appears as a removable hard drive.
  427.  
  428.   4.1  PARTITIONED REMOVABLE MEDIA
  429.   ________________________________
  430.  
  431.   Features of the partitioned removable media support are:
  432.  
  433.   o   Ability to partition removable media into multiple partitions
  434.  
  435.   o   Ability to format with either HPFS or FAT
  436.  
  437.   o   Ability to exploit caching performance
  438.  
  439.   o   Ability to use HPFS long file names
  440.  
  441.   o   Drag/drop capability through the Workplace drive icon
  442.  
  443.   o   Operating system protection to safely eject media through software eject
  444.       utility
  445.  
  446.   o   Assignment of drive letters to end of disk drive lettering chain to
  447.       prevent floating drive letters
  448.  
  449.   o   Ability to predetermine a fixed number of drive letters for multiple par-
  450.       titions for removable media
  451.  
  452.   4.1.1  USING PROTECTED MEDIA
  453.  
  454.   There are some restrictions on the use of these devices.  These restrictions
  455.   deal with vendor-provided protection routines that either read/write or pass-
  456.   word protect the media.
  457.  
  458.   You are unable to read or write HPFS formatted media that has been read,
  459.   write or password protected by a vendor supplied protection utility.  For all
  460.   read and write protected media, remove the vendor protection prior to trying
  461.   to read or write to the media.  For instance, if you do not remove the pro-
  462.   tection, you will get the following failures:
  463.  
  464.   o   If you issue a DIR command to write or password protected media, you will
  465.       receive  a  "Drive improperly stopped" error message.
  466.  
  467.   o   If you try to FORMAT a write or password protected media, you will
  468.       receive numerous error messages after a few minutes.
  469.  
  470.   o   If you try to use desktop operations like drag/drop folders/files, you
  471.       will receive numerous error messages.
  472.  
  473.   Once the vendor supplied protection is removed, then these errors will no
  474.   longer occur.
  475.  
  476.   4.1.2  ASSIGNMENT OF DRIVE LETTERS
  477.  
  478.   New Algorithm: no filters assumed
  479.  
  480.      Primary from fixed disk 1
  481.      Primary from fixed disk 2
  482.  
  483.      Primary from fixed disk n
  484.      Extended from fixed disk 1
  485.      Extended from fixed disk 2
  486.  
  487.      Extended from fixed disk n
  488.      Primary from removable disk 1
  489.      Extended(s) from removable disk 1
  490.      Primary from removable disk 2
  491.      Extended(s) from removable disk 2
  492.  
  493.      Primary from removable disk n
  494.      Extended(s) from removable disk n
  495.  
  496.   Lack of a primary partition (or Extended Partition only) is allowed.  If no
  497.   media is present at boot, a single logical drive is reported.  Note that some
  498.   drives, Syquest EZ135A for example, do NOT report correctly when no media is
  499.   present and will not be seen at all.  If media with multiple partitions is
  500.   present at boot, then all partitions will be assigned drive letters.
  501.  
  502.   4.1.3  CONFIGURING PARTITION SUPPORT (OS2DASD)
  503.  
  504.       BASEDEV=OS2DASD.DMD [/LF] [/MP:(disk,count)[,(disk,count)]]
  505.  
  506.   PARAMETER      DESCRIPTION
  507.  
  508.   /LF            Forces all removable devices to be treated as Large Floppy
  509.                  rather than partitioned media.
  510.  
  511.   /MP            Used to support allocating a predetermined number of
  512.                  drive letters for a partitioned removable media device.
  513.                  Note that this option only applies to partitioned
  514.                  removable devices, and is ignored for any other device
  515.                  type.
  516.  
  517.   If the /MP parameter is used, then:
  518.  
  519.   SUB-PARAMETER  DESCRIPTION
  520.  
  521.   DISK           The integer disk number of the device, as reported by FDISK,
  522.                  or the wildcard character * to specify all partitioned remov-
  523.                  able devices.
  524.  
  525.   COUNT          The integer count of the number of partitions to reserve for
  526.                  the device.  If the wildcard character * is used, it specifies
  527.                  a default number of drive letters to reserve for all parti-
  528.                  tioned removable devices.  Specifying a count for a particular
  529.                  disk will override this default.  Also, if there is media in
  530.                  the device at boot time, and it has more partitions which are
  531.                  eligible to receive drive letters than there are drive letters
  532.                  reserved for the device through the /MP option, then the
  533.  
  534.                  number of drive letters reserved for the device will be
  535.                  increased so that every eligible partition on the media will
  536.                  have a drive letter.
  537.  
  538.   If the /MP option is not used, the rules for determining the number of drive
  539.   letters reserved for a partitioned removable media device are as follows:
  540.  
  541.   o   If there is no media in the drive at boot time, or the media in the drive
  542.       has no valid partitions, then one drive letter is reserved for the
  543.       device.
  544.  
  545.   o   If there is media in the drive at boot time and the media has valid par-
  546.       titions which are eligible for drive letters, the number  of drive
  547.       letters is equal to the number of eligible partitions on the media.
  548.       Media which is formatted in floppy mode is treated as a single partition
  549.       and allocated a single drive letter.
  550.  
  551.   4.1.4  EJECTING THE MEDIA
  552.  
  553.   OS/2 prevents the media from being ejected during data transfers or while
  554.   there are pending file transactions.  The hardware manual eject button is
  555.   disabled during these times. The eject button will be enabled when the media
  556.   can be safely ejected.
  557.  
  558.   There is a new OS/2 utility, EJECT.EXE, that provides a command line method
  559.   for ejecting the media.  The Workplace Drive Icon now supports the software
  560.   eject option for these drives as well. For example, the command EJECT J:,
  561.   where J: is the logical drive letter of one of the partitions on the media
  562.   will cause the media to be ejected.
  563.  
  564.   In order for this command to succeed there must be no open files on any of
  565.   the partitions on the media, nor any open search operations.  Removable media
  566.   that is shared on a server cannot be ejected because of open file handles.
  567.   If it is necessary to remove the media without rebooting you may issue the
  568.   command CHKDSK J: /F, where J: is the logical drive letter of one of the par-
  569.   titions on the media.   This will free the media and a subsequent EJECT J:
  570.   command will cause the media to be ejected.
  571.  
  572.   4.1.5  LIMITATIONS OF PARTITIONED REMOVABLE MEDIA SUPPORT
  573.  
  574.   o   Applications that manipulate partitioned devices, such as file managers,
  575.       must be updated to test the fixed/removable flag in order to account for
  576.       partitioned removable devices.  Such applications that have not been
  577.       updated treat the removable devices as fixed and the results are unpre-
  578.       dictable whenever media is not present.
  579.  
  580.   o   Due to the variability of hardware adapter support, installing to or
  581.       booting from partitioned removable media is not supported.
  582.  
  583.   o   Optical drive support is unchanged.  Partitioned removable media and HPFS
  584.       do not support optical drives.  You should continue to use OPTICAL.DMD
  585.       and OS2SCSI.DMD.
  586.  
  587.   o   The following devices were tested during the development of the Parti-
  588.       tioned Removable Media Support.  Similar devices should operate cor-
  589.       rectly, as should other removable media devices that are made available
  590.       with a supporting ADD device driver.
  591.  
  592.       -   Iomega SCSI jaz 1GB and 2GB personal hard drives
  593.  
  594.       -   Iomega Zip ATA 100MB drives (supported only as single partition
  595.           media).
  596.  
  597.       -   Iomega Zip ATAPI 100 MB drives
  598.  
  599.       -   Syquest SCSI Syjet 1.5GB portable hard drives
  600.  
  601.       -   Syquest IDE Syjet 1.5GB portable hard drives
  602.  
  603.       -   Syquest SparQ IDE portable hard drives
  604.  
  605.   4.2  LARGE FLOPPY REMOVABLE MEDIA (LS-120)
  606.   __________________________________________
  607.  
  608.   The LS-120 drive supports 120-MB diskettes and is compatible with 3.5 inch
  609.   1.44-MB standard diskettes, with improved performance.
  610.  
  611.   4.2.1  LIMITATIONS OF LS-120 SUPPORT
  612.  
  613.   o   If you have an LS-120 drive as drive B, then you must not format it from
  614.       an OS/2 windowed or full screen session where the current drive is drive
  615.       A or drive B. The current drive for an OS/2 windowed or full screen
  616.       session is given as part of the command prompt.  For example, if the
  617.       command prompt in an OS/2 windowed or full screen session is [C:\], then
  618.       drive C is the current drive.
  619.  
  620.   o   If an LS-120 drive is installed in a ThinkPad docking station and a CD-ROM
  621.       or DVD drive is in the system UltraBay, you may get an error message
  622.       "A program in this session encountered a problem and cannot continue." when
  623.       a DOS window is opened.    In this case edit the config.sys file and move the
  624.       statement BASEDEV=IBMIDECD.FLT so that it appears before the statement
  625.       BASEDEV=IBMATAPI.FLT in the file.
  626.  
  627.   o   The following devices were tested during the development of the Large
  628.       Floppy Removable Media Support.  Similar devices should operate cor-
  629.       rectly.
  630.  
  631.       -   Imation LS-120
  632.  
  633.       -   SuperDisk LS-120
  634.  
  635.   4.3  CD-ROM DEVICE MANAGER (OS2CDROM.DMD)
  636.   __________________________________________________
  637.  
  638.   The CD-ROM Device Manager (OS2CDROM.DMD) has the following additional features:
  639.  
  640.   o   support read/write blocks for CD-RW media,
  641.  
  642.   o   support USB CD-ROM, CD-RW, DVD-ROM, DVD-RAM devices,
  643.  
  644.   o   low level formatting for CD-RW and DVD-RAM media,
  645.  
  646.   o   new IOCtl functions added:
  647.          Format and Verify Disk (Cat: 8, Funct: 45h),
  648.          Execute SCSI-command (Cat: 80h, Funct: 7Ah),
  649.          Write sectors (Cat: 80h, Funct: 52h),
  650.          Write and verify sectors (Cat: 80h, Funct: 53h),
  651.          OS2CDROM Features (Cat: 82h, Funct: 63h),
  652.          Get CD-ROM Drives (Cat: 82h, Funct: 60h).
  653.  
  654.   o   some IOCtl functions modified:
  655.          Get Device Parameters (Cat: 8, Funct: 63h),
  656.          Read sectors (Cat: 80h, Funct: 72h).
  657.  
  658.   Category: IOCTL_DISK (08h)
  659.   Function: DSK_FORMATVERIFY (45h)
  660.   Description: Format and Verify Disk
  661.  
  662.   Parameter Packet format:
  663.  
  664.    struct FmtVerify_param {
  665.       UCHAR        Command;  // Bit 7: 0 = start formatting, 1 = format status
  666.    };
  667.  
  668.   Data Packet format:
  669.  
  670.    struct FmtVerify_data {
  671.       UCHAR        Status;   // Percent of formatted volume, if supported such feature
  672.                              // 0, if not supported
  673.    };
  674.  
  675.   Returns:
  676.  
  677.    02h - device not ready
  678.    03h - bad command (this IOCtl function is not supported)
  679.    13h - unsupported parameter
  680.    14h - device already in use
  681.    a3h - uncertain media
  682.  
  683.   Compatibility problem:
  684.  
  685.   If IOCtl function DSK_FORMATVERIFY (45h) is used in an earlier version of OS2CDROM.DMD you get back return code 03h.
  686.   It means this version of OS2CDROM.DMD is not supported.
  687.  
  688.  
  689.   Category: IOCTL_CDROMDISK (80h)
  690.   Function: CDROMDISK_EXECMD (7Ah)
  691.   Description: Executes SCSI command
  692.  
  693.   Parameter Packet format:
  694.  
  695.    struct ExecCMD {
  696.       ULONG        ID_code;         // 'CD01'
  697.       USHORT       data_length;     // length of the Data Packet
  698.       USHORT       cmd_length;      // length of the Command Buffer
  699.       USHORT       flags;           // flags
  700.       UCHAR        cmd_buffer[16];  // Command Buffer for SCSI command
  701.    };
  702.  
  703.   flags:
  704.      #define EX_DIRECTION_IN     0x0001
  705.      #define EX_PLAYING_CHK      0x0002
  706.  
  707.   EX_DIRECTION_IN         0, if transfer data to device,  1, if transfer data from device
  708.   EX_PLAYING_CHK          0, if don't check playing audio, 1, if device plays audio return error
  709.  
  710.   Data Packet format:
  711.  
  712.   Content of the Data Packet depends on the SCSI command. Length is defined by data_length field in the Parameter Packet.
  713.  
  714.   Returns:
  715.  
  716.    02h - device not ready
  717.    03h - bad command (this IOCtl function is not supported)
  718.    13h - unsupported parameter
  719.    14h - device already in use
  720.  
  721.   Compatibility problem:
  722.  
  723.   If IOCtl function CDROMDISK_EXECMD (7Ah) is used in an earlier version of OS2CDROM.DMD you get back return code 03h.
  724.   It means this version of OS2CDROM.DMD is not supported.
  725.  
  726.  
  727.   Category: IOCTL_CDROMDISK2 (82h)
  728.   Function: CDROMDISK2_FEATURES (63h)
  729.   Description: Returns features of the current DM version if applied to "CD-ROM2$" device name.
  730.  
  731.   Parameter Packet format:
  732.  
  733.      None.
  734.  
  735.   Data Packet format:
  736.  
  737.     ULONG driver_status;
  738.  
  739.   #define FEATURE_USB_SUPPORT     0x00000001L
  740.   #define FEATURE_CDRW_SUPPORT    0x00000002L
  741.   #define FEATURE_EXECMD_SUPPORT  0x00000004L
  742.  
  743.   Returns:
  744.  
  745.    03h - bad command (this IOCtl function is not supported)
  746.  
  747.   Compatibility problem:
  748.  
  749.   If IOCtl function CDROMDISK2_FEATURES (63h) is used in an earlier version of OS2CDROM.DMD
  750.   you get back return code 03h. It means this version of OS2CDROM.DMD doesn't
  751.   support this function.
  752.  
  753.  
  754.   Category: IOCTL_CDROMDISK2 (82h)
  755.   Function: CDROMDISK2_DRIVELETTERS (60h)
  756.   Description: Returns drive letters for CD-ROM devices if applied to "CD-ROM2$" device name.
  757.  
  758.   Parameter Packet format:
  759.  
  760.      None.
  761.  
  762.   Data Packet format:
  763.  
  764.    struct DriveLetters {
  765.       USHORT        DriveCount;         // number of supported CD-ROM drives
  766.       USHORT        DriveFirst;         // letter of the first CD-ROM drive
  767.    };
  768.  
  769.   Returns:
  770.  
  771.    03h - bad command (this IOCtl function is not supported)
  772.  
  773.   Compatibility problem:
  774.  
  775.   This function didn't work correctly in previous versions of OS2CDROM.DMD.
  776.  
  777.   Category: IOCTL_DISK (08h)
  778.   Function: DSK_GETDEVICEPARAMS (63h)
  779.   Description: Query device parameters
  780.  
  781.   Parameter and data packet formats are standard but the values of 2 fields
  782.   of BIOSPARAMETERBLOCK depends on device and media type.
  783.  
  784.   Media Descriptor contains information about media type:
  785.  
  786.      MEDIA TYPE        VALUE
  787.  
  788.      CD-R              4
  789.      CD-ROM            5
  790.      DVD-ROM           6
  791.      DVD-RAM           7
  792.      CD-RW             8
  793.      DVD-R             9
  794.      DVD-RW            10
  795.      DVD+RW            11
  796.      DDCD-ROM          12
  797.      DDCD-R            13
  798.      DDCD-RW           14
  799.      DVD+R             15
  800.  
  801.   If media allows writing but cannot be written at the moment (device cannot
  802.   write such media type or disk is write-protected) 128 is added to the value.
  803.  
  804.   Device Type field contains information about device type. If device cannot write
  805.   on the disk inserted value 7 is returned. If device allows writing on the disk inserted
  806.   (DVD-RAM disk in the DVD-RAM device or CD-RW disk in the CD-Writer) value 8
  807.   is returned.
  808.  
  809.   Category: IOCTL_CDROMDISK (80h)
  810.   Function: CDROMDISK_READLONG (72h)
  811.   Description: Reads the specified sectors in the data buffer.
  812.  
  813.   Parameter Packet format:
  814.  
  815.    struct ReadLong_param {
  816.       ULONG       ID_code;                // 'CD01'
  817.       UCHAR       address_mode;           // Addressing format of start_sector:
  818.                                           //   00 - Logical Block format
  819.                                           //   01 - Minutes/Seconds/Frame format
  820.       USHORT      transfer_count;         // Numbers of sectors to read. Must not be 0
  821.       ULONG       start_sector;           // Starting sector number of the read operation
  822.       UCHAR       reserved;               // Reserved. Must be 0
  823.       UCHAR       interleave_size;        // Not used. Must be 0
  824.       UCHAR       interleave_skip_factor; // Not used. Must be 0
  825.    };
  826.  
  827.   Data Packet format:
  828.  
  829.    struct ReadLong_data {
  830.       UCHAR       sector_data[SECTOR_SIZE]; // Sector read from the disk
  831.                                             // SECTOR_SIZE is 2352 for CD disks and 2048 for DVD disks
  832.    };
  833.  
  834.    The media type is detected by means of IOCtl function DSK_GETDEVICEPARAMS (63h)
  835.    of category IOCTL_DISK (08h) (see above).
  836.  
  837.    For DVD disk (DVD-ROM, DVD-R, DVD+R, DVD-RAM, DVD-RW and DVD+RW) sector_data
  838.    contains user data (2048 bytes).
  839.  
  840.    For CD disk (CD-ROM, CD-R, CD-RW, DDCD-ROM, DDCD-R, DDCD-RW) sector_data consists of 2352 bytes.
  841.    Contents of the sector depends on the mode of the sector (byte 15 from the beginning
  842.    of the sector_data or field data_mode of the structure describing sector's contents (see below)).
  843.  
  844.    Mode 0 is rarely used format as it is zero filled in the entire user data area.
  845.    Structure of the sector for Mode 0 is described by Mode_0_sector_data:
  846.  
  847.    struct Mode_0_sector_data {
  848.       UCHAR     sync_pattern[12]; // Data block sync pattern
  849.       UCHAR     msf[3];           // Block MSF address
  850.       UCHAR     data_mode;        // Data mode = 0
  851.       UCHAR     user_data[2336];  // User data (each byte is 0)
  852.    };
  853.  
  854.    Mode 1 data is most prevalent in CD-ROM applications. Structure of the sector
  855.    for Mode 1 is described by Mode_1_sector_data:
  856.  
  857.    struct Mode_1_sector_data {
  858.       UCHAR     sync_pattern[12]; // Data block sync pattern
  859.       UCHAR     msf[3];           // Block MSF address
  860.       UCHAR     data_mode;        // Data mode = 1
  861.       UCHAR     user_data[2048];  // User data
  862.       UCHAR     crc[4];           // CRC
  863.       UCHAR     zero_fill[8];     // Zero bytes
  864.       UCHAR     p_parity[172];    // P parity symbols
  865.       UCHAR     q_parity[104];    // Q parity symbols
  866.    };
  867.  
  868.    The Mode 2 form 1 format is regularly used in recorder applications and Video CD.
  869.    Structure of the sector for Mode 2 form 1 is described by Mode_21_sector_data:
  870.  
  871.    struct Mode_21_sector_data {
  872.       UCHAR     sync_pattern[12]; // Data block sync pattern
  873.       UCHAR     msf[3];           // Block MSF address
  874.       UCHAR     data_mode;        // Data mode = 2
  875.       UCHAR     sub_header1;      // Sub-header, first copy
  876.       UCHAR     sub_header2;      // Sub-header, second copy
  877.       UCHAR     user_data[2048];  // User data
  878.       UCHAR     crc[4];           // CRC
  879.       UCHAR     p_parity[172];    // P parity symbols
  880.       UCHAR     q_parity[104];    // Q parity symbols
  881.    };
  882.  
  883.    The Mode 2 form 2 format is regularly used in recorder applications and Video CD.
  884.    Structure of the sector for Mode 2 form 2 is described by Mode_22_sector_data:
  885.  
  886.    struct Mode_22_sector_data {
  887.       UCHAR     sync_pattern[12]; // Data block sync pattern
  888.       UCHAR     msf[3];           // Block MSF address
  889.       UCHAR     data_mode;        // Data mode = 2
  890.       UCHAR     sub_header1;      // Sub-header, first copy
  891.       UCHAR     sub_header2;      // Sub-header, second copy
  892.       UCHAR     user_data[2324];  // User data
  893.       UCHAR     crc[4];           // Optional CRC
  894.    };
  895.  
  896.    The difference between 2 forms of Mode 2 is defined by sub-header (Bit 5 of the field sub_mode):
  897.  
  898.    struct Mode_2_sub_header {
  899.       UCHAR     file_number;    // Identifies the file to which the block belongs
  900.       UCHAR     channel_number; // Playback channel selection
  901.       UCHAR     sub_mode;       // Bit 7: End of file
  902.                                 // Bit 6: Real time block
  903.                                 // Bit 5: 0 = form 1, 1 = form 2
  904.                                 // Bit 4: Trigger block
  905.                                 // Bit 3: Data block
  906.                                 // Bit 2: Audio block
  907.                                 // Bit 1: Video block
  908.                                 // Bit 0: End of record
  909.       UCHAR     code_info;      // Coding information
  910.    };
  911.  
  912.   Returns:
  913.  
  914.    02h - device not ready
  915.    03h - bad command (this IOCtl function is not supported)
  916.    08h - sector not found
  917.    10h - uncertain media
  918.    13h - unsupported parameter
  919.    14h - device already in use
  920.  
  921.   Category: IOCTL_CDROMDISK (80h)
  922.   Function: CDROMDISK_WRITELONG (52h)
  923.   Description: Writes the data buffer to the specified sectors.
  924.  
  925.   Parameter Packet format:
  926.  
  927.    struct WriteLong_param {
  928.       ULONG       ID_code;                // 'CD01'
  929.       UCHAR       address_mode;           // Addressing format of start_sector:
  930.                                           //   00 - Logical Block format
  931.                                           //   01 - Minutes/Seconds/Frame format
  932.       USHORT      transfer_count;         // Numbers of sectors to read. Must not be 0
  933.       ULONG       start_sector;           // Starting sector number of the read operation
  934.       UCHAR       reserved;               // Reserved. Must be 0
  935.       UCHAR       interleave_size;        // Not used. Must be 0
  936.       UCHAR       interleave_skip_factor; // Not used. Must be 0
  937.    };
  938.  
  939.   Data Packet format:
  940.  
  941.    struct WriteLong_data {
  942.       UCHAR       sector_data[2048]; // Sector to be written to the disk
  943.    };
  944.  
  945.   Returns:
  946.  
  947.    02h - device not ready
  948.    03h - bad command (this IOCtl function is not supported)
  949.    08h - sector not found
  950.    10h - uncertain media
  951.    13h - unsupported parameter
  952.    14h - device already in use
  953.  
  954.   Category: IOCTL_CDROMDISK (80h)
  955.   Function: CDROMDISK_WRITEVLONG (53h)
  956.   Description: Writes the data buffer to the specified sectors and verifies.
  957.  
  958.   Parameter Packet format:
  959.  
  960.    struct WriteVLong_param {
  961.       ULONG       ID_code;                // 'CD01'
  962.       UCHAR       address_mode;           // Addressing format of start_sector:
  963.                                           //   00 - Logical Block format
  964.                                           //   01 - Minutes/Seconds/Frame format
  965.       USHORT      transfer_count;         // Numbers of sectors to read. Must not be 0
  966.       ULONG       start_sector;           // Starting sector number of the read operation
  967.       UCHAR       reserved;               // Reserved. Must be 0
  968.       UCHAR       interleave_size;        // Not used. Must be 0
  969.       UCHAR       interleave_skip_factor; // Not used. Must be 0
  970.    };
  971.  
  972.   Data Packet format:
  973.  
  974.    struct WriteVLong_data {
  975.       UCHAR       sector_data[2048]; // Sector to be written to the disk
  976.    };
  977.  
  978.   Returns:
  979.  
  980.    02h - device not ready
  981.    03h - bad command (this IOCtl function is not supported)
  982.    08h - sector not found
  983.    10h - uncertain media
  984.    13h - unsupported parameter
  985.    14h - device already in use
  986.  
  987.       
  988.   4.4  CD-RW MEDIA SUPPORT IN IBMIDECD.FLT
  989.   ________________________________________
  990.  
  991.   IBMIDECD.FLT now supports IDE CD-Writers for reading and writing.
  992.  
  993.  
  994.   5.0 SUPPORTED IDE CONTROLLERS, KNOWN RESTRICTIONS AND LIMITATIONS
  995.   _________________________________________________________________
  996.  
  997.   5.1 Supported chipset table
  998.   ___________________________
  999.  
  1000.   The OS/2 IDE Controller Adapter Device Driver (IBM1S506.ADD)
  1001.   supports the following PCI IDE Controllers
  1002.   --------------------------------------------------------------
  1003.   |Controller|   Controller Info    | Highest |  Comments      |
  1004.   |   Name   |                      |  UDMA   |                |
  1005.   --------------------------------------------------------------
  1006.   |CMD640    | First CMD640         |    -    |                |
  1007.   |RZ1000    | First RZ1000         |    -    |                |
  1008.   |I82371FB  | INTEL82371FB         |    -    |                |
  1009.   |PIIX3     | Intel PIIX3 IDE      |    -    |                |
  1010.   |ORION     | INTEL_ORION          |    -    |                |
  1011.   |PIIX4     | Intel PIIX4 IDE      | ATA 33  |                |
  1012.   |I82801AA  | Intel 82801AA IO HUB | ATA 66  |See sec.  5.2.1 |
  1013.   |I82801AB  | Intel 82801AB IO HUB | ATA 33  |                |
  1014.   |I82801BA  | Intel 82801BA IO HUB | ATA 100 |See sec.  5.2.1 |
  1015.   |I82801CA  | Intel 82801CA IO HUB | ATA 100 |See sec.  5.2.1 |
  1016.   |I82801DB  | Intel 82801DB IO HUB | ATA 100 |See sec.  5.2.1 |
  1017.   |CMD646    | CMD 646 PCI to IDE   | ATA 33  |                |
  1018.   |CMD648    | CMD 648 PCI to IDE   | ATA 66  |                |
  1019.   |VIA586B   | VIA 586B PCI to IDE  | ATA 33  |See sec.  5.2.2 |
  1020.   |VIA596B   | VIA 596B PCI to IDE  | ATA 66  |See sec.  5.2.2 |
  1021.   |VIA686A   | VIA 686A PCI to IDE  | ATA 66  |See sec.  5.2.2 |
  1022.   |SIS630    | SIS 630 PCI to IDE   | ATA 66  |See sec.  5.2.3 |
  1023.   --------------------------------------------------------------
  1024.  
  1025.   5.2 Known restrictions and limitations
  1026.   ______________________________________
  1027.  
  1028.   This section covers some restrictions and/or limitation for the IBM1S506.ADD
  1029.   driver. These restrictions are mainly due to hardware problems.
  1030.  
  1031.   DMA for ATAPI devices is disabled by default. The exception to this 
  1032.   is ATAPI devices on Intel I82801AA through I82801DB (ICH - ICH4) 
  1033.   chipsets. 
  1034.   DMA for the ATAPI device can be enabled by using the "/BM" parameter. 
  1035.   (To enable it see sec. 3.8) Example: "/A:1 /U:0 /BM" enables DMA for the 
  1036.   Master device attached to the secondary IDE channel.
  1037.   If a device is UDMA capable, using "/BM" parameter is recommended only 
  1038.   if the IDE 80 pin flat ribbon cable is used (instead of standard 40 pin 
  1039.   flat cable).
  1040.  
  1041.   5.2.1 Intel chipsets limitations
  1042.   _________________________________
  1043.  
  1044.   -for the 82801AA, 82801BA and 82801BA Mobile chipsets where there
  1045.    are 2 devices on a channel, the fastest UDMA mode will be limited 
  1046.    to UDMA 2.
  1047.   -on some systems with 82801DA chipset, there is problem with proper 40 pin 
  1048.    cable detection if 2 devices (one master and one slave device) is attached 
  1049.    to it. If you use 40 pin cable on primary or secondary channel, please 
  1050.    specify the parameter "/UDMA:2" in CONFIG.SYS for that channel. Usage of 
  1051.    this parameter is described above (see sec. 3.8). Examples:
  1052.        use "/A:0 /UDMA:2" if you have a 40 pin cable on the primary channel 
  1053.        use "/A:1 /UDMA:2" if you have a 40 pin cable on the secondary channel 
  1054.        use "/A:0 /UDMA:2 /A:1 /UDMA:2" if you have a 40 pin cable on both channels.
  1055.   -for 82801 series chipsets DMA is enabled for ATAPI devices by 
  1056.    default. It can be disabled using "/!BM" parameter (see sec. 3.8).
  1057.    Example: "/A:1 /U:1 /!BM" disables DMA for Slave device attached
  1058.    to secondary IDE channel.
  1059.  
  1060.   5.2.2 VIA chipsets restrictions
  1061.   _______________________________
  1062.  
  1063.   The IBM1S506.ADD driver has the following limitations for the VIA IDE
  1064.   controllers listed above:
  1065.  
  1066.   - all of the VIA chipsets have a problem with 80 pin cable detection.
  1067.     To ensure proper operation, please check to see what kind of IDE
  1068.     cables are used. If you have a 40 pin cable on  the primary or
  1069.     secondary channel, please specify the parameter "/UDMA:2"  in 
  1070.     CONFIG.SYS  for that channel. Usage of this parameter is described
  1071.     above (see sec. 3.8). Examples:
  1072.        use "/A:0 /UDMA:2" if you have a 40 pin cable on the primary channel 
  1073.        use "/A:1 /UDMA:2" if you have a 40 pin cable on the secondary channel 
  1074.        use "/A:0 /UDMA:2 /A:1 /UDMA:2" if you have a 40 pin cable on both channels.
  1075.   - any VIA chipset, which is not listed above, but has the same
  1076.     PCI Device ID, will be detected as a VIA586B and UDMA performance mode will be 
  1077.      limited to UDMA 2 for any device that can operate above UDMA Mode 2.
  1078.  
  1079.   5.2.3 SiS chipset limitation
  1080.   _______________________________
  1081.  
  1082.   For SiS IDE  controllers listed above the following  restriction applies:
  1083.  
  1084.     If there is a UDMA device on the SiS Secondary channel and an 80 pin 
  1085.     ribbon cable is not detected, then the driver will limited the mode to
  1086.     PIO for this channel.
  1087.  
  1088.   6.0  COPYRIGHT AND TRADEMARK INFORMATION
  1089.   ________________________________________
  1090.  
  1091.   The following terms are trademarks of International Business Machines
  1092.   Corporation in the United States and/or other countries:
  1093.         IBM
  1094.         OS/2
  1095.         ThinkPad
  1096.         Ultrabay
  1097.   Other company, product, and service names may be trademarks or service
  1098.   marks of others.
  1099.  
  1100.   THE INFORMATION PROVIDED IN THIS README IS PROVIDED "AS IS" WITHOUT 
  1101.   WARRANTY OF ANY KIND.  IBM DISCLAIMS ALL WARRANTIES, WHETHER 
  1102.   EXPRESSED OR IMPLIED, INCLUDING WITHOUT LIMITATION, THE IMPLIED 
  1103.   WARRANTIES OF FITNESS FOR A PARTICULAR PURPOSE AND MERCHANTABILITY 
  1104.   WITH RESPECT TO THE INFORMATION IN THIS DOCUMENT. BY FURNISHING
  1105.   THIS DOCUMENT, IBM GRANTS NO LICENSES TO ANY PATENTS OR COPYRIGHTS.
  1106.  
  1107.   (C) Copyright IBM Corporation, 2001, 2002. All rights reserved.
  1108.   U.S. Government Users Restricted Rights -- Use, duplication or 
  1109.   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  1110.  
  1111.  
  1112.