blc is the
boot-time loadable driver (BTLD) for
BusLogic MultiMaster SCSI host adapter cards.
The MultiMaster product line consists of
the following models:
VESA Fast SCSI
ISA Fast SCSI
MicroChannel Fast SCSI
EISA Fast SCSI
EISA Fast & Wide SCSI
PCI Fast SCSI
PCI Ultra SCSI
PCI Fast & Wide SCSI
PCI Fast & Wide Differential SCSI
PCI Ultra & Wide SCSI
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:
ISA , VESA x
Selectable at installation
Selectable at installation
You should disable the
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.
You can configure the blc driver using entries in
/etc/conf/cf.d/mdevice and /etc/conf/sdevice.d/blc.
Changes to these files
take effect once you relink the kernel using
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.
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.
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
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;
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
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).
The blc driver
supports all standard SCSI ioctls
that are defined in the <sys/scsicmd.h> header file
and documented on the
These error messages associated with blc may display on the console.
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.