devb-aha8

Driver for Adaptec AIC-7870/7880 based SCSI adapters (QNX Neutrino)

Note: You must be root to start this driver.

Syntax:

devb-aha8 [cam option[,option]...]
          [cdrom option[,option]...]
          [disk option[,option]...]
          [optical option[,option]...]
          [aha8 option[,option]...]
          [blk option[,option]...] &

Runs on:

QNX Neutrino

Targets:

x86

Options:

Note: Use commas (,) to separate the options. You can put the cam, cdrom, disk, optical, aha8, and blk groups of options in any order.
cam options
The cam options control the common access methods:
lun=mask
Enable Logical Unit Number (LUN) scan for the devices specified in mask. The mask is a hex bitmask specifying which IDs to scan for; the default is 0x00.
quiet
Be quiet: don't display any information on startup.
verbose
Be verbose: display full information about SCSI units (devices) on startup.
cdrom options
The cdrom options control the driver's interface to cam-cdrom.so. If specified, they must follow the cdrom keyword.
disk options
The disk options control the driver's interface to cam-disk.so. If specified, they must follow the disk keyword.
optical options
The optical options control the driver's interface to cam-optical.so. If specified, they must follow the optical keyword.
aha8 options
The aha8 options control the drivers interface to the AHA 8 series controllers. If you've installed multiple controllers, you can repeat these options for each controller. Remember, however, to specify the aha8 keyword before each controller's set of options.
pci=index
The PCI index of the controller in the machine, where index is a value between 0 and the number of adapters.
noreset
Don't reset the SCSI bus.
blk options
The blk options control io-blk.so. If specified, they must follow the blk keyword.

Description:

The devb-aha8 driver is for SCSI adapters based on the Adaptec AIC-7870 and AIC-7880 chips. Controllers supported by this driver include, but aren't necessarily limited to:

Manufacturer Controller
Adaptec AIC-7870
Adaptec AIC-7880
Adaptec AHA-2940
Adaptec AHA-2940W
Adaptec AHA-3940

The devb-aha8 driver queries the BIOS for PCI card memory addresses.

Note: If you have problems with the PCI adapter, make sure that you have an up-to-date version of the adapter BIOS as well as system BIOS.

Controllers are numbered from 0 to n, in the order they're found.

For each controller, the driver performs a scan, looking for installed units. All targets are scanned (0 to 7) and for each target, each LUN (Logical Unit Number) is scanned (0 to 7). Devices are numbered starting from 0, and each type of device is numbered separately.

The devb-aha8 driver closes its standard input, standard output and standard error immediately after completing its initializations. Error messages may be produced during the initialization phase and are written to standard error.

Examples:

Assume an AHA 8 controller, and list all connected devices:

devb-aha8 &

Assume an AHA 8 PCI controller with a PCI index of 1, and list all connected devices:

devb-aha8 aha8 pci=1 &

Files:

The devb-aha8 driver causes io-blk.so to adopt various block special devices under /dev. These devices are normally named hdn (or cdn for CD-ROMs), where n is the physical unit number of the device.

This driver could also require the following shared objects:

Binary Required
cam-cdrom.so For CD-ROM access.
cam-disk.so For hard-disk access.
libcam.so Always

Exit status:

The devb-aha8 driver terminates only if an error occurs during startup, or if it has successfully forked itself upon startup because it hadn't been initially started in the background.

0
The devb-aha8 driver wasn't started in the background and therefore forked itself. The original process terminated with a zero exit status, the forked process continued.
> 0
An error occurred during startup.

Caveats:

Unless overridden with the blk automount= option (see io-blk.so), devices are mounted as:

Device Mountpoint Filesystem type
/dev/hd0t77 /hd qnx4
/dev/cd0 /cd cd
/dev/hd0t6 /dos dos
/dev/hd0t11 /dos dos

While there's no limit to the size of a disk or partition, the limit on I/O (i.e., the lseek(), read() and write() functions) depends on the type of filesystem mounted and on whether you use the 32- or 64-bit versions of these functions. This I/O limit has no effect on the partition size for mounted filesystems. The maximum number of blocks is 232.

Known supported functions include:

chmod(), chown(), close(), closedir(), creat(), devctl(), dup(), dup2(), fcntl(), fpathconf(), fstat(), lseek(), mkdir(), mkfifo(), mknod(), open(), opendir(), pathconf(), read(), readdir(), readlink(), rewinddir(), rmdir(), stat(), symlink(), unlink() (not supported for directories), utime(), write()

Note that certain calls (such as pipe(), as well as read() and write() on FIFOs) may require the pipe manager.