Drivers I-o Data SCSI & RAID Devices

Posted on

The driver tries to do transfers directly to/from user space. If this is not possible, a driver buffer allocated at run-time is used. If direct i/o is not possible for the whole transfer, the driver buffer is used (i.e., bounce buffers for individual pages are not used). Direct i/o can be impossible because of several reasons, e.g.

Drivers Scsi free download - CopyTrans Drivers Installer, Adaptec ASPI Drivers, Microsoft DirectX Drivers (Windows 95), and many more programs. Recover data from SCSI hard drives in 5 steps. Updated on January 21, 2020. Remo Recover provides an instant way to recover data from SCSI hard drives of various manufacturers like Seagate, Barracuda, HP, Western Digital etc. Use this tool to recover data when it is lost due to electronic failure, corruption, after formatting, reformatting, repartitioning any SCSI drive.

Device Drivers for OS/2

Before proceeding with the following installation instructions, copy all the OS/2 files to a diskette.The SDMS™ Software Device Drivers and Utilities CD-ROM contains all the OS/2 files in this directory:

{CD-ROM Drive Letter}:DRIVERS8XX-1010OS2

or

Use the Build Driver Diskette page to make an SDMS driver diskette. (Select OS/2).

Installing the SDMS OS/2 DRIVERS SYM8XX.ADD and SYM_HI.ADD

This document provides installation instructions for the OS/2 drivers and includes these topics:

The OS/2 operating system version 4.0 provides an integrated platform featuring the Presentation Manager graphical windowing interface that allows multiple applications to be viewed at the same time. Multitasking is also supported, enabling several different programs to run at the same time in different windows. Presentation Manager allows you to switch between programs, start other programs, and maintain files and directories.

This version of OS/2 requires an 80386 or higher microprocessor. Other hardware requirements include a minimum of 8 Mbytes of RAM and a minimum hard disk drive size of 90 Mbytes. SDMS 4.0 provides the necessary SCSI device drivers for OS/2, which are SYM8XX.ADD and SYM_HI.ADD. LSI Logic recommends reviewing the OS/2 manual prior to proceeding.

Note: Current OS/2 drivers can be downloaded from the LSI Logic web site at http://www.lsilogic.com. After you are connected to this web site, place your cursor on the Get Drivers option in the menu bar. Click on the Drivers selection. Choose the OS/2 operating system for SCSI and click on the Go button. Follow the instructions on subsequent screens to download the drivers.

The SDMS device drivers for OS/2 support these features:

  • Synchronous negotiation (including Fast SCSI/Ultra SCSI/Ultra2 SCSI)
  • Ultra160 data transfers (for LSI53C1010 and LSI53C1000 chips only)
  • Parallel Protocol Request (PPR)
  • Double Transition data transmission
  • Wide SCSI (single-ended and differential)
  • Multiple host adapters
  • Disconnect/Reselect
  • Scatter/Gather
  • Tagged command queuing
  • Single-ended, differential, and low voltage differential termination
  • Target-initiated negotiation
  • Allow up to 8 host adapters
  • NVRAM/NVS configuration storage
  • Alternate CHS (Cylinder Head Sector) mapping algorithm
  • A command line /EXCLUDE option to block use of a specified adapter
  • Higher performance by requiring only one interrupt per I/O
  • Flexible GPIO pin definition using a table in the manufacturing data area of NVM

Although the LSI Logic SCSI controller's firmware can access the SCSI hard disk drives attached to the computer independently, the SCSI device drivers SYM8XX.ADD and SYM_HI.ADD act as an enhanced interface between the computer system and the SCSI BIOS firmware. Use of the device drivers increases the abilities of the SCSI controller firmware and fully utilizes the advancements and improvements of Pentium-based and higher microprocessors.

The device drivers are also necessary to support the use of SCSI tape drives and CD-ROM drives with an OS/2 system. The SYM8XX.ADD and SYM_HI.ADD device drivers are written in compliance with the IBM OS/2 ADD (Adapter Device Driver) specification, and the device drivers work with third party applications that comply with the same specification.

Both the SYM8XX.ADD and SYM_HI.ADD drivers allow up to eight host adapters to be present in your system. The first four host adapters are accessed in the order you specify using the SCSI BIOS Configuration Utility. This configuration utility is provided with some members of the LSI Logic family of host adapters. Refer to the PCI Storage Device Management System SDMS 4.0 User's Guide for information on the availability and use of the SCSI BIOS Configuration Utility. Remaining host adapters are accessed based on their physical position in your system. Refer to your system documentation for further information.

All LSI Logic devices and host adapters have undergone a name change. They have transitioned from a SYM prefix to an LSI prefix. No name changes have occurred for the SDMS OS/2 drivers.

The SYM8XX.ADD driver supports the following devices and their associated LSI Logic host adapters:

  • LSI53C810, LSI53C810A, LSI53C810AE (LSI8100S, LSI8100ASP, LSI20810)
  • LSI53C815 (LSI815XS, LSI8150SP)
  • LSI53C825, LSI53C825A (LSI8250S, LSI8251S, LSI8251D, LSI8250ASP, LSI8251ASP, LSI8251AD)
  • LSI53C860, LSI53C860AE (LSI8600SP, LSI20860)
  • LSI53C875, LSI53C875E (LSI8750SP, LSI8751SP, LSI8751SPE, LSI8751D)
  • LSI53C876 (LSI22801, LSI22802)
  • LSI53C885
  • LSI53C895 (LSI8951U, LSI8952U)
  • LSI53C895A (LSI8953U)

The SYM_HI.ADD driver supports the following devices and their associated LSI Logic host adapters:

  • LSI53C895A (LSI8953U)
  • LSI53C896 (LSI22910, LSI21002, LSI22902)
  • LSI53C1000 (LSI8955U*)
  • LSI53C1010 (LSI8955U**, LSI21040, LSI22915, LSI22903)

* 66 MHz
** 33 MHz

Note: Both the SYM8XX.ADD and SYM_HI.ADD drivers support the LSI53C895A chip. If both drivers have been installed, whichever driver appears first in the CONFIG.SYS file will control the LSI53C895A chip. Refer to the section Driver Order in the CONFIG.SYS File in this document to understand the importance of driver order.

The SDMS OS/2 driver diskette contains eight files:

  • Device drivers SYM8XX.ADD and SYM_HI.ADD,
  • Text files SYM8XX.DDP and SYM_HI.DDP,
  • Executable files SYM8XXPC.EXE and SYM_HIPC.EXE
  • Text files OS2.TXT and LEGAL.TXT.

When the device driver installation utility under OS/2 is activated, it looks for all files with the DDP extension. The DDP files contain the necessary information to install SCSI device drivers. The EXE files contain a utility that verifies an appropriate adapter is present. If you do not wish to install both device drivers, create a diskette containing the appropriate driver, DDP file, and EXE file to use instead of the SDMS OS/2 driver diskette.

These instructions are specific and accurate for the SDMS OS/2 SYM8XX.ADD and SYM_HI.ADD drivers. The next sections provide instructions on:

Note:If you previously installed OS2CAM.ADD (a previous version of theSYM8XX.ADD driver), delete OS2CAM.ADD and the corresponding BASEDEV=statement in the CONFIG.SYS file after you complete the installation procedures.

If you previously installed SYM8XX.ADD and/or SYM_HI.ADD in a directory other than OS2BOOT, move SYM8XX.ADD and/or SYM_HI.ADD to OS2BOOT, where the new versions of these drivers can replace the old versions.

In both instances, the system will continue to boot using the previous drivers until thesesteps are taken.

Drivers I-o Data SCSI & RAID Devices

Your system configuration determines which installation instructions are appropriate for you.

If neither your boot drive nor SCSI CD-ROM is connected to an LSI Logic host adapter, install OS/2 and then add the drivers. Refer to the OS/2 Installation Guide to install the operating system. Follow the steps in Updating SYM8XX.ADD/SYM_HI.ADD For Existing System Installations to add the drivers.

or

If your boot drive or SCSI CD-ROM is connected to an LSI Logic host adapter, follow these steps:

  1. Make copies of the diskettes used for installation that are included with the CD-ROM version of OS/2.
  1. Determine the appropriate driver(s) for installation by locating the host adapter(s) to which the CD-ROM and/or boot drive is attached in the section of this guide titled LSI Logic Devices Supported.
  1. Copy the indicated driver(s) to the copy of Diskette 1.

In order to do so, you must delete files on Diskette 1 to provide space. Consult the README.1ST file on the Device Driver Pak. It contains a list of files that may not be deleted. Follow the instructions provided in the README.1ST file. Once space is made available on Diskette 1, copy the appropriate SDMS OS/2 device driver onto this diskette.

When ADD drivers are deleted from Diskette 1, make certain to delete or remark out the corresponding BASEDEV= statement in the CONFIG.SYS file. Otherwise, error messages will show up during installation.

  1. Edit the CONFIG.SYS file on the copy of Diskette 1 by adding one of the following lines at the end of the file:

BASEDEV=SYM8XX.ADD /V

or

BASEDEV=SYM_HI.ADD /V

  1. Follow the directions in the README.1ST file for adding the following line to the CONFIG.SYS file:
  2. SET COPYFROMFLOPPY=1

    This allows the SDMS driver to be copied from the installation diskette to the system's boot drive.

  3. Place the copy of Installation Diskette in the A: drive and reboot the computer.
  1. Proceed with the OS/2 installation process as documented in the OS/2 Installation Guide.

This section provides instructions for existing system installations. Apply these instructions when you have to:

  • Add drivers for newly installed LSI Logic host adapters
  • Update drivers for existing LSI Logic host adapters

To add or update SDMS OS/2 drivers, follow these steps:

  1. Open the System Setup folder located in the OS/2 System folder on the OS/2 Desktop.
  1. Open the Install/Remove folder and then double click on the Device Driver Install icon.
  1. Insert the diskette containing the SDMS OS/2 device driver(s) in the source drive. The system will find all DDP files on the diskette and automatically install the corresponding drivers.
  1. Open the Utilities folder located within the Programs folder on the OS/2 Desktop to make sure that the installation was successful.
  1. Double click on the OS/2 System Editor to start the editor.
  1. Open the CONFIG.SYS file in the root directory and find the line(s):
  2. BASEDEV=SYM8XX.ADD /V

    and/or

    BASEDEV=SYM_HI.ADD /V

    If installing both drivers, make sure that the BASEDEV= lines for the drivers appear in the CONFIG.SYS file in the order in which the drivers must load. Refer to the section Driver Order in the CONFIG.SYS File in this document to understand the importance of driver order.

  3. Check that the appropriate drivers are in the OS2BOOT directory on the boot drive.

back to top

Because of the way OS/2 assigns drive letters, the order in which drivers appear in the CONFIG.SYS file is important. The drivers must appear in the order in which the drive letters are to be assigned. In particular:

  • OS/2 will install the BASEDEV= line at the beginning of the target system's CONFIG.SYS file regardless of where the line is located in that file on Diskette 1. You may need to rearrange the order in which drivers appear in the CONFIG.SYS file for the target system.
  • The driver for the host adapter to which the boot device is attached must appear before all other BASEDEV= drivers in the CONFIG.SYS file.
  • If you are installing both SDMS drivers and a host adapter containing the LSI53C895A chip, the driver that will control the host adapter will be the driver that appears first in the CONFIG.SYS file. If one of the two SDMS drivers is controlling the boot drive, that driver will also control the LSI53C895A chip, since it must appear first in order for the boot drive to be recognized.

Refer to the OS/2 documentation to fully understand this requirement.

back to top

Command Line Options

Your host adapter has a default configuration that consists of optimal values for operation. You may decide to alter these default values if there is a conflict between device settings or if you need to optimize system performance. Some values may be changed using the SCSI BIOS Configuration Utility provided with some members of the LSI Logic family of host adapters. Refer to your host adapter user's guide for information on the availability and use of the SCSI BIOS Configuration Utility. In addition, the SDMS OS/2 device drivers have several embedded functions that can be accessed by using switches on the command line in the CONFIG.SYS file.

Values are applied in the following order:

  • Manufacturer's settings
  • SCSI BIOS Configuration Utility changes
  • Command line options

For the SYM8XX.ADD driver: When applying new values using the command line options, changes in synchronous and wide negotiations may onlydecrease speed or reduce width. Any changes that attempt to increase speedor width will be ignored.

For the SYM_HI.ADD driver: When applying new values using the commandline options, all changes in synchronous and wide negotiations areaccepted.

Drivers I-o Data SCSI & RAID Devices

The options available using command line switches are described below. The SYM8XX.ADD driver is used in all examples; SYM_HI.ADD may be substituted for SYM8XX.ADD with identical results.

The following conventions are used:

Drivers i-o data scsi & raid devices download

The hba represents the logical number of a host adapter as displayed by the Verbose option in the column headed HBA. This is not the SCSI ID of the host adapter. Use an hba value with no :id following it to indicate all devices on an adapter.

The id represents a SCSI target ID on the indicated adapter. To indicate all devices on a host adapter, do not use the SCSI ID of the host adapter for the id value. Instead, use the hba value as indicated in the preceding paragraph.

[ ] indicates optional information.

* indicates the pattern enclosed in the [ ] may be repeated.

The command line options and their descriptions are described below.

back to top

This option appears on the command line by default. It enables display of a banner, version number, and SCSI bus information during startup of the system.

Usage:/VERBOSE

For example, to see more detailed information displayed when you boot, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /VERBOSE

or

BASEDEV=SYM8XX.ADD /V

Computer sound cards. To disable this feature, remove this switch from the command line.

back to top

This option disables use of the IBM-supplied DASD manager (OS2DASD.DMD) for the devices listed. The DASD manager supports direct access devices such as hard drives.

Usage: /!DM<hba[:id]>[,<hba[:id]>]*

For example, to disable OS2DASD.DMD for devices on host adapter 0 at target IDs 3 and 5, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /!DM<0:3>,<0:5>

back to top

This option disables use of the IBM-supplied SCSI manager (OS2SCSI.DMD) for the devices listed. The SCSI manager supports SCSI tape drives.

Usage: /!SM<hba[:id]>[,<hba[:id]>]*

For example, to disable OS2SCSI.DMD for devices on host adapter 0 at target IDs 3 and 5, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /!SM<0:3>,<0:5>

back to top

This option disables a host adapter so that it is not seen by the SDMS OS/2 device drivers. This allows a host adapter to be ignored without physically removing the board from the system. This may be necessary if the adapter in question is causing a resource conflict.

Note: If you exclude the adapter to which the boot device is attached, the system will not boot.

Usage: /EXCLUDE<chip:bus:devfunc>[,<chip:bus:devfunc>]*

Where:

chip is a unique identifier that indicates the LSI Logic board type. The Verbose option displays a table with this value appearing in the CHIP column.

bus represents the PCI bus number into which the adapter is plugged. The Verbose option displays a table with this value appearing in the BUS column.

devfunc is the number derived by combining the PCI device and function numbers and serves as a unique board identifier in conjunction with the PCI bus. The Verbose option displays a table with this hexadecimal value appearing in the DEV/FUNC column. It may contain an A, B, C, D, E, or F as part of its value.

For example, to exclude a host adapter with chip type F, PCI bus number 0 and devfunc number A0, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /EXCLUDE<F:0:A0>

or

BASEDEV=SYM8XX.ADD /X<F:0:A0>

back to top

This option sets the maximum synchronous transfer rate (in Mbyte transfers per second) to negotiate with a particular device. The allowable values for this setting are 0, 5, 10, 20, 40, and 80 Mbyte transfers per second, if the adapter is capable of the specified speed. All LSI Logic host adapters support at least 10 Mbyte transfers per second; some support 20, 40, or 80 Mbyte transfers per second. To turn off synchronous transfers for a particular device, specify 0 (zero). The value set by this option only defines the maximum transfer rate negotiated. The actual rate also depends on what the device can do. The default value is the fastest transfer rate that is supported by a particular host adapter.

Note: The maximum synchronous transfer rates effectively double when the adapter and device permit wide transfers (See the /WIDTH option). For example, a synchronous transfer rate setting of 40 Mbyte transfers per second will actually produce a transfer rate of 80 Mbyte transfers per second if the adapter and device both allow and are set to perform wide transfers.

Usage: /SYNCH_RATE=n<hba[:id]>[,n<hba[:id]>]*

Where: n = 0, 5, 10, 20, 40, or 80.

Two examples illustrate how to use this option:

  1. To turn off synchronous transfers to ID 3 on host adapter 0, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /SYNCH_RATE=0<0:3>

  1. To set synchronous transfers to 10 Mbyte transfers per second on all devices on host adapter 1, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /SR=10<1>

back to top

This option sets the maximum synchronous offset to negotiate with a particular device. The allowable values for this setting are 0 to the maximum synchronous offset supported by the specified adapter. The LSI Logic controller chips support offsets up to 62. Refer to your host adapter user's guide for information on the maximum offset supported by your host adapter. If 0 (zero) is specified for the synchronous offset value, synchronous transfers are turned off for any specified device. The value set by this option only defines the maximum offset that is negotiated. The resulting rate also depends on the device's capability. The default value is the maximum offset that is supported by a particular host adapter.

Usage:/SYNCH_OFFSET=n<hba[:id]>[,n<hba[:id]>]*

Where:n = 0 up to maximum synchronous offset for the adapter.

For example, to change the synchronous offset to 6 for ID 3 on host adapter 0, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /SYNCH_OFFSET=6<0:3>

or

BASEDEV=SYM8XX.ADD /SO=6<0:3>

The SDMS OS/2 device drivers use a timeout mechanism to detect certain errors. When the driver issues a command to a SCSI device, a timer is started. If the timer expires before the command completes, the driver assumes that something has gone wrong with the device, and takes steps to recover. The default value for this is 10 seconds. If you set the value to be less than the system has allocated for a particular device, your value will be ignored. To turn off the timeout mechanism for a particular device, set the value to 0 (zero).

Usage:/TIMEOUT=n<hba[:id]>[,n<hba[:id]>]*

Where: n = timeout value in seconds for device, n= 0-65535.

For example, if you have a particularly slow device at ID 3 on host adapter 0 and you wish to extend the timeout on this device to 60 seconds, then the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /TIMEOUT=60<0:3>

or

BASEDEV=SYM8XX.ADD /T=60<0:3>

SCSI devices have the ability to disconnect from the bus during an I/O transfer. This option allows (or does not allow) a device to disconnect during an I/O transfer. If a particular adapter has parity checking disabled, then you must use this option to disable disconnects for all devices on that adapter that do not generate parity. Refer to the /PARITY option for more information.

Usage:/DISCONNECT=n<hba[:id]>[,n<hba[:id]>]*

Where: n = ON is the default value for all devices, which allows disconnects. OFF does not allow disconnects.

For example, to disable disconnects on the device at ID 2 on host adapter 0, then the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /DISCONNECT=OFF<0:2>

or

BASEDEV=SYM8XX.ADD /DC=OFF<0:2>

The LSI53C8XX and LSI53C1XXX chips are capable of enabling or disabling the SCSI bus data integrity checking feature known as parity. Some non-compliant SCSI devices sold as SCSI devices do not generate parity. You can use this option to disable parity checking. The LSI Logic chips always generate parity (for outputs), but may optionally check the parity (for inputs).

Note: When disabling parity checking, it is necessary to disable disconnects for any device that does not generate parity, as the LSI Logic chips cannot disable parity checking for that device during the reselection phase. If a device does not generate parity and it disconnects, the I/O never completes as the reselection never completes. Refer to using the /DISCONNECT option for more information on how to disable disconnects for a device.

Usage: /PARITY=n<hba[,hba]*>[,n<hba[,hba]*>]*

Where: n = ON is the default value for all devices, which enables parity checking. OFF disables parity checking.

For example, to turn off parity checking on host adapter 0, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /PARITY=OFF<0>

or

BASEDEV=SYM8XX.ADD /P=OFF<0>

Queue tagging allows more than one outstanding command per SCSI device. Some non-compliant SCSI devices sold as SCSI devices do not allow queue tags, in which case queue tagging must be disabled. The value given in the command line will be the depth of the queue for queue tags for the device(s) indicated. To disable queue tag support, a value of 0 or 1 should be given.

Usage: /QTAG=n<hba[:id]>[,n<hba[:id]>]*

Where: n = the number of queue tags allowed for a device (0-256).

Two examples illustrate how to use this option:

  1. To turn off queue tagging for ID 3 on host adapter 0, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /QTAG=0<0:3>

  1. To set the queue depth to 5 for all devices on host adapter 2, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /QT=5<2>

back to top

Devices attached to a SCSI bus are narrow or wide devices. Narrow devices transfer data one byte (or 8 bits) at a time. Wide devices transfer two bytes (or 16 bits) at a time. The value given in the command line option will determine the size of data transfers.

Usage:/WIDTH=n<hba[:id]>[,n<hba[:id]>]*

Where: n = 8 or 16.

Two examples illustrate how to use this option:

  1. To have the device at ID 3 on host adapter 0 treated as a narrow device, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /WIDTH=8<0:3>

  1. To have all devices on host adapter 2 treated as 8-bit devices, the line in the CONFIG.SYS file that loads SYM8XX.ADD should look like this:

BASEDEV=SYM8XX.ADD /W=8<2>

Some potential problems and their suggested solutions are:

Problem: You cannot access the SCSI device(s).

Solution:

  1. Make sure the SCSI device driver is installed properly.
  1. Make sure each device has power.
  1. Verify that the appropriate BASEDEV= line (BASEDEV=SYM8XX.ADD /V or BASEDEV = SYM_HI.ADD/V) exists in the CONFIG.SYS file.
  1. Check the ordering of BASEDEV= entries in the CONFIG.SYS file to be sure that the boot device is loaded first.
  1. Verify that the correct driver is in the appropriate directory (OS2BOOT).
  1. Check the cable connections and the host adapter installation.
  1. Verify that the adapter is not turned off in the SCSI BIOS Configuration Utility and that the adapter is not excluded using the /EXCLUDE command line option.

Problem: The computer hangs or locks up when booting and the SCSI devices attached are not seen by the computer system.

Solution:

  1. Make sure that all the SCSI devices are configured at different ID numbers. If booting the system from a device on the SCSI bus, the boot drive must have the lowest ID or the highest ID, depending on the scan order option selected in the SCSI BIOS Configuration Utility.
  1. Make sure both, but only, the ends of the SCSI bus are terminated.
  1. Make sure the device driver is listed in the CONFIG.SYS file (and loaded when booting).

Problem: The device driver does not see one of the SCSI devices.

Solution:

  1. Make sure the SCSI devices have different ID numbers.
  1. Make sure both, but only, the ends of the SCSI bus are terminated.
  1. Check the cable and power connections.
  1. Check the ordering of BASEDEV= entries in the CONFIG.SYS file to be sure that the boot device is loaded first.
  1. Verify that the adapter is not turned off in the SCSI BIOS Configuration Utility and that the adapter is not excluded using the /EXCLUDE command line option.
  1. Reboot the computer.

Problem: OS/2 attempts to install to or boot from an IDE drive instead of the SCSI drive.

Solution:

The system BIOS finds the IDE drive before it finds the SCSI drive, and therefore uses the IDE drive as the boot device.

  1. Check that the appropriate BASEDEV= line (BASEDEV=SYM8XX.ADD /V or BASEDEV=SYM_HI.ADD /V) appears first in the CONFIG.SYS file.
  1. Disable the IDE drive in the CMOS setup.
  1. On some hardware platforms, the IDE drive must be physically disconnected before installing to a SCSI drive.

Problem: The following message appears at bootup:

OS/2 is unable to operate your hard disk or diskette drive. The system is stopped. Correct the preceding error and restart the system.

Solution:

  1. This problem occurs when the system is booting from a hard drive attached to an IDE bus, a SCSI disk is attached to your LSI Logic host adapter, and the SDMS BASEDEV= line (BASEDEV=SYM8XX.ADD /V or BASEDEV=SYM_HI.ADD /V) appears in the CONFIG.SYS file before the IDE device driver statement.

or

This problem occurs when the system is booting from a hard drive attached to the LSI Logic adapter, an IDE drive is in the system, and the IDE BASEDEV= line appears in the CONFIG.SYS file before the SDMS BASEDEV= line (BASEDEV=SYM8XX.ADD /V or BASEDEV=SYM_HI.ADD /V).

  1. Boot the system using the floppy drive and installation diskettes and proceed to the F3=Command Prompt screen. Use the TEDIT.EXE editor to edit the CONFIG.SYS file. Move the BASEDEV= statements to the appropriate order for the system's configuration.
  1. Restart your system.

Problem: During normal operation, either the system locks up, multiple bus resets occur or one of the following messages appears:

The <drive letter>: device is not ready.

or

The <drive letter>: device is not functioning.

or

A program in this session encountered a problem and cannot continue.

Solution:

  1. If possible, replace the cables connecting the problem device. Some cables cannot handle the synchronous transfer rate negotiated by the driver and device.

If you cannot tell which device is experiencing difficulties, change the cabling for each device separately to see if the problem is resolved.

  1. Reduce the synchronous transfer rate for the problem device. It may have indicated during initialization that it can communicate at a synchronous transfer rate that it does not actually support. If available, use the SCSI BIOS Configuration Utility provided with some members of the LSI Logic family of host adapters to reduce the synchronous transfer rate. Refer to the PCI Storage Device Management System SDMS 4.0 User's Guide for the availability and use of the SCSI BIOS Configuration Utility. If the SCSI BIOS Configuration Utility is not provided with your host adapter, use the /SYNCH_RATE command line option.

If you cannot tell which device is experiencing difficulties, reduce the synchronous transfer rate for each device separately to see if the problem is resolved.

  1. Disable disconnects for the problem device. Communication between the driver and the device may not be accurate if the device is allowed to disconnect from the bus during an I/O transfer. If available, use the SCSI BIOS Configuration Utility provided with some members of the LSI Logic family of host adapters to disable disconnects. Refer to the PCI Storage Device Management System SDMS 4.0 User's Guide for the availability and use of the SCSI BIOS Configuration Utility. If the SCSI BIOS Configuration Utility is not provided with your host adapter, use the /DISCONNECT command line option.

If you cannot tell which device is experiencing difficulties, disable disconnects for each device separately to see if the problem is resolved.

  1. Back up your data and perform a low-level format on the problem device. You may be attempting to read from or write to a bad sector on your device.

Note: Low-level formatting will completely and irreversibly erase all data on the device. It will default the drive to a 512-byte sector size even if the drive had previously been formatted with another sector size.

OS/2 IS A REGISTERED TRADEMARK OF THE INTERNATIONAL BUSINESS MACHINES CORPORATION

Introduction¶

The SCSI Generic driver (sg) is one of the four “high level” SCSI devicedrivers along with sd, st and sr (disk, tape and CDROM respectively). Sgis more generalized (but lower level) than its siblings and tends to beused on SCSI devices that don’t fit into the already serviced categories.Thus sg is used for scanners, CD writers and reading audio CDs digitallyamongst other things.

Rather than document the driver’s interface here, version informationis provided plus pointers (i.e. URLs) where to find documentationand examples.

Major versions of the sg driver¶

There are three major versions of sg found in the linux kernel (lk):
  • sg version 1 (original) from 1992 to early 1999 (lk 2.2.5) .It is based in the sg_header interface structure.
  • sg version 2 from lk 2.2.6 in the 2.2 series. It is based onan extended version of the sg_header interface structure.
  • sg version 3 found in the lk 2.4 series (and the lk 2.5 series).It adds the sg_io_hdr interface structure.

Sg driver documentation¶

Drivers I-o Data Scsi & Raid Devices List

The most recent documentation of the sg driver is kept at the LinuxDocumentation Project’s (LDP) site:

This describes the sg version 3 driver found in the lk 2.4 series.

Drivers I-o Data Scsi & Raid Devices For Sale

The LDP renders documents in single and multiple page HTML, postscriptand pdf. This document can also be found at:

Documentation for the version 2 sg driver found in the lk 2.2 series canbe found at http://sg.danny.cz/sg/. A larger versionis at: http://sg.danny.cz/sg/p/scsi-generic_long.txt.

The original documentation for the sg driver (prior to lk 2.2.6) can befound at http://www.torque.net/sg/p/original/SCSI-Programming-HOWTO.txtand in the LDP archives.

A changelog with brief notes can be found in the/usr/src/linux/include/scsi/sg.h file. Note that the glibc maintainers copyand edit this file (removing its changelog for example) before placing itin /usr/include/scsi/sg.h . Driver debugging information and other notescan be found at the top of the /usr/src/linux/drivers/scsi/sg.c file.

A more general description of the Linux SCSI subsystem of which sg is apart can be found at http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO .

Example code and utilities¶

There are two packages of sg utilities:

sg3_utilsfor the sg version 3 driver found in lk 2.4
sg_utilsfor the sg version 2 (and original) driver found in lk 2.2and earlier

Both packages will work in the lk 2.4 series however sg3_utils offers morecapabilities. They can be found at: http://sg.danny.cz/sg/sg3_utils.html andfreecode.com

Drivers I-o Data Scsi & Raid Devices Usb

Another approach is to look at the applications that use the sg driver.These include cdrecord, cdparanoia, SANE and cdrdao.

Mapping of Linux kernel versions to sg driver versions¶

Here is a list of linux kernels in the 2.4 series that had new versionof the sg driver:

  • lk 2.4.0 : sg version 3.1.17
  • lk 2.4.7 : sg version 3.1.19
  • lk 2.4.10 : sg version 3.1.20 [1]
  • lk 2.4.17 : sg version 3.1.22
[1]There were 3 changes to sg version 3.1.20 by third parties in thenext six linux kernel versions.

Drivers I-o Data Scsi & Raid Devices Download

For reference here is a list of linux kernels in the 2.2 series that hadnew version of the sg driver:

  • lk 2.2.0 : original sg version [with no version number]
  • lk 2.2.6 : sg version 2.1.31
  • lk 2.2.8 : sg version 2.1.32
  • lk 2.2.10 : sg version 2.1.34 [SG_GET_VERSION_NUM ioctl first appeared]
  • lk 2.2.14 : sg version 2.1.36
  • lk 2.2.16 : sg version 2.1.38
  • lk 2.2.17 : sg version 2.1.39
  • lk 2.2.20 : sg version 2.1.40

The lk 2.5 development series has recently commenced and it currentlycontains sg version 3.5.23 which is functionally equivalent to sgversion 3.1.22 found in lk 2.4.17.

Douglas Gilbert

26th January 2002