smad is the
boot-time loadable driver (BTLD) for
Adaptec AIC-6x60 chipset host adapter cards.
It directly supports these host adapters:
AHA-1510
AHA-1510 A
AHA-1520
AHA-1520 A
AHA-1522
AHA-1522 A
The smad driver supports both the
AIC-6260 and AIC-6360 chipsets,
and replaces the older and less efficient spad
driver (which only supported the AIC-6260 chipset).
Refer to the
Compatible Hardware Web Pages.
to determine the support status of your host adapter, or
contact your system supplier.
Configuring the smad driver
You can configure the smad driver using entries in
/etc/conf/cf.d/mdevice and /etc/conf/sdevice.d/smad.
See
mdevice(F)
and
sdevice(F).
Changes to these files
will only take effect if the kernel is relinked using
link_unix(ADM)
and the machine rebooted.
Configure smad driver-specific characteristics
by editing the /etc/conf/pack.d/smad/space.c file,
which controls parameters such as address, host adapter ID,
IRQ, parity, Fast SCSI,
synchronous/asynchronous functionality,
and whether disconnection is allowed.
Host adapter base address
Reset the port address for the host adapter.
By default, Host adapter 0 is set at port address 0x340.
For example,
if you want to configure host adapter 0 at 0x340
and host adapter 1 at 0x140,
define this as:
paddr_t smad_base[ha_number] = {0x340, 0x140};
If you do not modify the space.c file,
the HIM sets all the configuration parameters
to the default.
If you want to change the default,
the first number indicates
whether the default should be changed.
If it is set to 0,
the parameter will be set to the default
for non-readable jumper hardware,
such as the AHA-1510.
If it is set to 1,
the second number will be used
to override the default.
For readable jumper hardware like the AHA-1520,
setting the first number to 0
causes the jumper settings to be read as default values.
Host adapter SCSI ID
Change the SCSI ID
for non-readable jumper hardware
from the default value of 7.
For example, to configure host adapter 0 as SCSI ID 5
and host adapter 1 as the default (7),
set this parameter as follows:
aha_change smad_hba_id[ha_number] = {0,5,0,0};
Interrupt level
Change the IRQ level for non-readable jumper hardware
from the default value of 11.
For readable jumper hardware,
this value is always read from the jumper:
aha_change smad_irq[ha_number] = {0,irq,1,irq};
Parity option
Specifies whether the host adapter checks parity
on incoming SCSI data.
Note that parity is always generated on outbound SCSI data.
The supported values are:
1
parity checking is enabled (default)
0
parity checking is disabled
aha_change smad_parity[ha_number] = {1,0};
Fast SCSI option
Enable/disable the Fast SCSI option
when the AIC -6460 is configured.
Supported values are:
1
synchronous transfers up to 10MB per second
can be negotiated
0
synchronous transfers up to 5MB per second
can be negotiated
aha_change smad_fast[ha_number] = {1,1};
Asynchronous option
Enable/disable the asynchronous option.
The valid values are:
1
respond to synchronous negotiation attempts
by SCSI targets (default)
0
operate in asynchronous mode only;
refuse to respond to synchronous negotiation
aha_change smad_asyn[ha_number] = {1,0};
Synchronous negotiation option
Enable/disable the synchronous negotiation option.
The supported values are:
0
initiate for synchronous negotiaton (default)
1
respond to synchronous negotiation
aha_change smad_sync_mode[ha_number] = {1,1}
Allow disconnection
Determine whether disconnection is allowed.
Supported values are:
0
allow target to disconnect (default)
1
do not allow target to disconnect
aha_change smad_discon[ha_number] = {1,1}
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 smad driver
supports all standard SCSI ioctls
that are defined in the <sys/scsicmd.h> header file
and documented on the
scsi(HW)
manual page.
Diagnostics
The following error messages may be displayed on the console.
See
messages(M)
for general information about kernel error messages,
including a list of generic device driver errors.
WARNING: smad: Cannot initialize drive ID: n
smad was unable to perform SCSI commands on the boot drive
to determine its drive geometry.
This might indicate that not enough memory was available
to perform the operation.
WARNING: smad: Poll command failed on drive ID:n
smad was unable to perform SCSI command on the drive indicated.
WARNING: smad: spurious interrupt
An unexpected interrupt was received.
WARNING: smad: cannot allocate DMA channeln
Requested DMA channel was not available.
WARNING: smad: adapternError: msg
msg can be one of:
Abort Failure
Timeout
Time allocated for completion of request was exceeded.
Target Returned Busy
SCSI Bus Reset
The SCSI bus was reset.
Parity Error
Possible data corruption on SCSI bus.
Auto-Request Sense Failed
Request sense command on previous command that
generated a check condition has failed.
Data Overrun Occurred
The amount of data requested does not match the
amount of data returned.
Unexpected Bus Free Occurred
SCSI bus went to ``bus free'' state unexpectedly.
Protocal Error
Possible hardware signal conflict between host
adapter and target device.
Reservation Conflict
Command Terminated
Command has been terminated.
Queue is full
Adapter cannot accept any more commands until
the existing commands have completed.