for connected embedded systems
![]() |
![]() |
![]() |
Fsys.sym8scsi
Driver for Symbios/NCR 53C8xx SCSI adapters (QNX)
Syntax:
Fsys.sym8scsi [general_options...] [fsys fsys_options...]
[sym8scsi sym8scsi_options...]...
Options:
general_options
If specified, the general_options must precede any fsys or sym8scsi options:
- -a unit=type
- Add this unit to the driver's device list. You should find this option
handy in situations where a SCSI device might not be powered
up when the driver performs its scan. Without -a, the
only devices the driver will support are those that respond during the
scan. You can specify multiple -a options.
The unit can be one of the following combinations (the number of commas affects how the unit information is interpreted):
Specify Meaning controller,target,lun fully specified controller, target, and LUN controller,target equivalent to controller,target,0 target equivalent to 0,target,0 In the type argument, you can specify one of the following SCSI device types:
type String equivalent 0 direct-access (e.g. hard disk) 1 sequential-access (e.g. tape) 2 printer 3 processor 4 WORM 5 CD-ROM 6 scanner 7 optical 8 medium_changer 9 communications To specify the type, you can use either the number or its string equivalent. When specifying a string, you need include only as many characters as are necessary to uniquely identify the type. For example to indicate type 1, you could specify se. Note that strings are case insensitive.
Not all of the above types are currently supported by the Filesystem Manager. See the -n option.
- -L
- Disable automatic scan for LUNs.
- -q
- Be quiet: don't display any information on startup.
- -S scanmask
- Target scan bitmask (default: 0xffff).
- -v
- Be verbose: display full information about SCSI units (devices) on startup.
Description:
fsys_options
The fsys_options control the driver's interface to Fsys. If specified, they must follow the fsys keyword:
- -B num
- Use this many 512-byte buffers for blocking/deblocking (default
is 8). You need to specify this option if you have one or more units
that don't use 512-byte sectors. CD-ROM units, for
example, may use 2048-byte sectors.
The value of num is the sum of all the buffers required for SCSI units that use sectors larger than 512 bytes. To obtain the buffer required for a unit, you must use the following formula:
buf = (2*(sector_size / 512))
The value that should be used for num will be the sum of the results for all units.
- -d
- Allow concurrent I/O with other DMA-based drivers.
Some ISA motherboards have problems when on-board DMA and bus-mastering DMA occur concurrently. To avoid those problems, Fsys drivers which use DMA perform I/O concurrently only if the -d option is specified to either or both drivers. In general, you shouldn't use -d on an ISA machine if the floppy is going to be used at the same time as the SCSI hard disk. This option may be used safely on MCA and EISA machines.
- -h num[,sect]
- Report this many heads/sectors to Fsys for hard disks (default is 64 heads, 32 sectors). The QNX filesystem doesn't need this information for normal operation. The information is needed only to let fdisk write the correct boot cylinder for booting.
- -i
- Ignore partition table when determining heads/sectors.
- -l
- ("el") Disable locking while open on removable and tape devices.
- -m num
- Transfer no more than this many 512-byte sectors from the SCSI controller to memory in one operation (default is 127).
- -M num
- Allow no more than this many units to register with Fsys (default is the number of SCSI units available).
- -n type=name
- For the given SCSI unit type, use the specified name.
For example, to have hard drives use
/dev/scsin, you would
specify -n 0=scsi. You can specify multiple
-n options.
By default, the driver assigns names as follows:
type String equivalent Default name 0 direct-access (e.g. hard disk) hd 1 sequential-access (e.g. tape) tp 4 WORM wo 5 CD-ROM cd 7 optical mo As in the -a general option, you can specify the type using either the number or its string equivalent.
To have the driver ignore a type of device, specify an empty setting. For example, to ignore hard disks, specify -n 0.
- -N name
- Assign this unique version name to this invocation of the driver. The name can range from 1 to 8 characters in length.
- -r
- Reassign bad blocks automatically. If a bad block is found on a drive, a
"REASSIGN BLOCKS" command will be given to the
controller, causing the drive to map the block through a defect-mapping
table.
Use this option with care since bad blocks could be erroneously reported by the device if the SCSI bus isn't properly terminated. If this occurs and you've specified -r, the defect-mapping table will be filled unnecessarily.
- -R
- Disable reserving the SCSI unit when the unit is open.
- -s mins
- Minutes of inactivity before stopping direct drive. (disabled)
- -S
- Try to always use Scatter/Gather.
sym8scsi_options
The sym8scsi_options control the driver's interface to the Symbios/NCR controllers.
- -c ChipSet
- When specified, this tells the driver which chipset
feature list to use. If the DeviceId isn't
specified, then this will be the chipset used during the HBA
detection. (Default: 810)
Chipset Device 810 53C810 (VendorId:DeviceId -- 0x1000:0x0001) 811 53C811 (VendorId:DeviceID -- 0x1000:0x0005) 815 53C815 (VendorId:DeviceID -- 0x1000:0x0004) 820 53C820 (VendorId:DeviceID -- 0x1000:0x0002) 825 53C825 (VendorId:DeviceID -- 0x1000:0x0003) 860 53C860 (VendorId:DeviceID -- 0x1000:0x0006) 875 53C875 (VendorId:DeviceID -- 0x1000:0x000F) 885 53C885 (VendorId:DeviceID -- 0x1000:0x000D) 895 53C895 (VendorId:DeviceID -- 0x1000:0x000C) 896 53C896 (VendorId:DeviceID -- 0x1000:0x000B) - -p PciIndex
- PCI index to use (Default: 0).
Forces PCI detection of the driver to this PciIndex. All PCI cards with the same PCI IDs have a PciIndex number. This allows you to specify the card you want. Use in association with show_pci. Normally, you'd need to specify -p only if you have more than one Symbios/NCR 53C8xx SCSI card in your system. - -u MaxUnits
- Maximum number of SCSI units to reserve Memory for. (Default: (MaxTargets * MaxLuns))
- -a IoBase
- When this is specified, the driver will scan for HBA with a matching IoBase.
- -i Irq
- When this is specified, the driver will attach to this
interrupt, regardless of PCI configuration information.

Be careful not to force sym8scsi to attach to an incorrect interrupt number -- interrupts enabled from the card can cause spurious interrupts to another system driver.
- -V VendorId
- Specifies chipset vendor.
- -D DeviceID
- Used in conjunction with ChipSet. This will
allow the driver to attempt to attach to a device with this
PCI identifier, loading the feature set with that of the
specified chipset.

Use this option with extreme caution -- it's not intended for normal use.
- -r
- When specified, no SCSI bus RESET will be done at start up.
- -T TimeOut
- When specified, this will change the default CAM command
timeout value. (Default: 32)

The -T option isn't intended for normal use.
- -A TargetMask
- When this is set, targets who correspond to the TargetMask won't be allowed to abort commands. (Default: 0)
- -S TargetMask
- Allow Sync on these Targets. (Default: supported == allowed)
- -W TargetMask
- Allow Wide on these Targets. (Default: supported == allowed)
- -x TargetMask
- Allow Ultra2 on these Targets. (Default: supported == allowed)
- -U TargetMask
- Allow Ultra on these Targets. (Default: supported == allowed)
- -F TargetMask
- Allow Fast on these Targets. (Default: supported == allowed)
- -v
- Verbose output.
Fsys.sym8scsi is the driver for the Symbios/NCR 53c8xx SCSI adapters. The driver automatically scans the machine for controllers. 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 6) and for each target, each LUN (Logical Unit Number) is scanned (0 to 6). Devices are numbered starting from 0, and each type of device is numbered separately. For example, if you have a hard disk and a CD-ROM device, they'll be numbered hd0 and cd0, respectively. The Fsys.sym8scsi driver always sets the hosts SCSI ID to 7.
The filesystem manager supports only the following types of SCSI units:
- 0
- direct-access (e.g. hard disk)
- 1
- sequential-access (e.g. tape)
- 4
- WORM (write once/read multiple)
- 5
- CD-ROM
- 7
- optical
![]() |
This driver currently does not support synchronous or wide data transfers. |
Tape units
If a tape unit is found during the driver's scan or if you specify a sequential-access unit with the -a general option, two block special files are created under /dev. By default, they're named /dev/tp0 and /dev/tpr0. Both these files reference the same physical drive, but /dev/tpr0 will perform a rewind on a close.
![]() |
To boot from a unit connected to the controller, make sure the controller is configured for a 64-head BIOS entry, or specify the driver's fsys -h option. |
Examples:
Start all cards in the system:
Fsys -c512K & Fsys.sym8scsi &
Start two cards in the system:
Fsys -c512K & ./Fsys.sym8scsi sym8scsi -c875 -p0 -v & ./Fsys.sym8scsi sym8scsi -c875 -p1 &
Set interrupts:
Fsys -c512K & ./Fsys.sym8scsi sym8scsi -c885 -i9 -p0 -v &
Disable LUN scan and start the second 53C860 device:
Fsys -c512K & ./Fsys.sym8scsi -L sym8scsi -c860 -p1 &
Files:
Fsys.sym8scsi closes its standard input, standard output, and standard error immediately after completing its initializations. Error messages may be produced during the initialization phase and will be written to standard error.
Fsys.sym8scsi will cause Fsys to adopt various block special devices under /dev. These devices will normally be named according to the device types in the form typen, where type is the abbreviated device type and n is the physical unit number of the device. The names used for the abbreviated device type may be overridden via the -n type=n option.
Exit status:
Fsys.sym8scsi will terminate only if an error occurs during startup, or if it has successfully forked itself upon startup because it had not been initially started in the background.
- 0
- Fsys.sym8scsi was not started in the background and as a result forked itself. The original process terminated with a zero exit status, the forked process continued.
- >0
- An error occurred during startup.
Caveats:
Don't use slay to shut down a filesystem driver! If you do, new drivers may not be able to load properly and Fsys itself may experience internal errors.
If you need to shut down a filesystem driver, follow the steps in the "Driver shutdown" section in the documentation for Fsys.
See also:
![]() |
![]() |
![]() |

![[Previous]](../prev.gif)
![[Contents]](../contents.gif)
![[Next]](../next.gif)