blc -- BusLogic Multimaster SCSI host adapter driver


blc is the boot-time loadable driver (BTLD) for BusLogic MultiMaster SCSI host adapter cards. The MultiMaster product line consists of the following models:

Model Description
BT-54x ISA Fast SCSI
BT-64x MicroChannel Fast SCSI
BT-75x EISA Fast & Wide SCSI
BT-946 PCI Fast SCSI
BT-948 PCI Ultra SCSI
BT-956 PCI Fast & Wide SCSI
BT-956D PCI Fast & Wide Differential SCSI
BT-958 PCI Ultra & Wide SCSI
BT-958D PCI Ultra & Wide Differential SCSI

 |Model   | Description                        |
 |BT-445  | VESA Fast SCSI                     |
 |BT-54x  | ISA Fast SCSI                      |
 |BT-64x  | MicroChannel Fast SCSI             |
 |BT-74x  | EISA Fast SCSI                     |
 |BT-75x  | EISA Fast & Wide SCSI              |
 |BT-946  | PCI Fast SCSI                      |
 |BT-948  | PCI Ultra SCSI                     |
 |BT-956  | PCI Fast & Wide SCSI               |
 |BT-956D | PCI Fast & Wide Differential SCSI  |
 |BT-958  | PCI Ultra & Wide SCSI              |
 |BT-958D | PCI Ultra & Wide Differential SCSI |

The blc driver works with up to four adapters. Note that this driver does not support the BusLogic FlashPoint SCSI host adapter product line.

The intallation setup requirements are as follows:

Card type Port address IRQ DMA
ISA , VESA x Selectable at installation Any 5
EISA, MicroChan Selectable at installation Any Any
PCI Any Any Any

 Card type         Port address                 IRQ   DMA
 ISA , VESA x      Selectable at installation   Any   5
 EISA, MicroChan   Selectable at installation   Any   Any
 PCI               Any                          Any   Any

You should disable the ad(HW) driver, as it conflicts with the blc driver. The blc driver should drive the ad card if you have one. For a proper BTLD installation, you need to to enter disable=ad on the boot line.

Please refer to the Compatible Hardware Web Pages. to determine the support status of your host adapter, or contact your system supplier.

Configuring the blc driver

You can configure the blc driver using entries in /etc/conf/cf.d/mdevice and /etc/conf/sdevice.d/blc. See mdevice(F) and sdevice(F). Changes to these files take effect once you relink the kernel using link_unix(ADM) and reboot the system.

Configure blc driver-specific characteristics by editing the /etc/conf/pack.d/blc/space.c file, which controls parameters such as tagged command queuing option, command timeout handling, boot-time reset option, and reset delay.

Tag Queuing
The Tag Queuing option allows multiple requests to be sent to SCSI devices that support this feature (normally hard disks or RAID subsystems) to be sorted and processed by these devices for optimum performance. To enable this option, set blc_do_tag to 1 and relink the kernel:
   int blc_do_tag	=0;	/* 1 = do command queuing */

Command timeout handling
The blc driver has a built-in mechanism to handle recoverable SCSI bus hangs that may be caused by ill-behaved devices. The driver provides several options to modify the default parameters used in handling timeouts:

Enables timeout handling when set to 1. Otherwise set to 0.

Number of seconds to wait for I/O request before timing out.

Number of times to retry request before resetting the controller.

NOTE: If the I/O request is started just after the timer is called, the actual timeout period can be up to twice the time that is specified for blc_timeout_period.

As an example, the following settings establish timeout handling. The driver will wait 15 seconds for the I/O request before timing out, and will retry the request twice before resetting the controller:

   int blc_timeout             =1;
   int blc_timeout_period      =15;
   int blc_retry_max           =2;

Boot-time hard reset
By default, the driver does not perform Hard/SCSI reset at boot time. If your environment requires a reset at boot time, set blc_inittime_hard_reset to 1:
   int blc_inittime_hard_reset  =0;

Reset delay
The driver posts a three-second delay after a hard reset is generated at boot-time or during the final error recovery attempt of the command timeout feature. Certain SCSI devices that require a longer delay can be accomodated by modifying the blc_reset_delay parameter:
   int blc_reset_delay     =3;

Boot time configuration of SCSI
Use the bootstring(HW) parameters to override the default hardware configuration information. Of special interest are the adapter= parameter that specifies information for the host adapter card that plugs into or is part of the motherboard, and the periph= parameter that specifies information about the host adapter being used by one of the generic peripheral interfaces (Sdsk, Srom, or Stp).

ioctl commands

The blc driver supports all standard SCSI ioctls that are defined in the <sys/scsicmd.h> header file and documented on the scsi(HW) manual page.


These error messages associated with blc may display on the console. See messages(M) for general information about kernel error messages, including a list of generic device driver errors.

WARNING: BusLogic: H/W Failed (ha=1, lun=0)
Maximum attempt at recovering from a SCSI bus hang had been made to this adapter. This adapter is no longer accepting requests.

WARNING: blc_MM_ResetCard: BusLogic ctlr did not come up ready after hard reset.
During a command-timeout recovery, the adapter did not respond back from a hard reset.

WARNING: blc_MM_Start: adapter busy
A request to the adapter could not be sent because the adapter is busy or the SCSI bus is hung.




See also

boot(HW), link_unix(ADM), mdevice(F), mkdev(ADM), sconf(ADM), scsi(HW), sdevice(F)

``Adding SCSI host adapters and peripherals'' in the SCO OpenServer Handbook
SCO OpenServer System Administration Guide

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003