for connected embedded systems
![]() |
![]() |
![]() |
Fsys.ps2scsi
Driver for IBM PS/2 SCSI host adapter (QNX)
Syntax:
Fsys.ps2scsi [general_options] [fsys fsys_options]
[ps2scsi ps2scsi_options]...
Options:
general_options
If specified, the general_options must precede any fsys or ps2 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; see also the Examples section):
In the type argument, you can specify one of the following SCSI device types:Specify meaning controller,target,lun fully specified controller, target, and LUN controller,target equivalent to controller,target,0 target equivalent to 0,target,0
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.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 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.
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 heads[,sect]
- Report this many heads (and optionally sectors) to Fsys for hard disks (default is 64 heads, 32 sectors per track). 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 when open on removable and tape devices.
- -M num
- Allow no more than this many units to register with Fsys (default is the number of SCSI units available).
- -m num
- Transfer no more than this many 512-byte sectors from the SCSI controller to memory in one operation (default is 127).
- -N name
- Assign this unique version name to this invocation of the driver. The name can range from 1 to 8 characters in length.
- -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.
- -R
- Disable reserving the SCSI unit when the unit is open.
- -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.
- -S
- Try to always use scatter/gather.
- -s mins
- Minutes of inactivity before stopping direct drive (default: disabled)
ps2scsi_options
The ps2scsi_options control the driver's interface to the PS/2 SCSI controller. Remember to specify the ps2scsi keyword before these options.
- -a controller
- Use this controller address.
- -i irq
- Assume the controller is using this interrupt. By default, the driver queries the controller for this value.
- -l
- Display (R or W) in PS2 LCD window.
- -u num
- Allow no more than this many SCSI units per controller (default is 4).
Description:
Fsys.ps2scsi is the driver for the IBM PS/2 SCSI controller.
Fsys.ps2scsi scans for a controller in the command-line sequence given by the -a option. If no -a option is given, the driver scans for a controller at the following hex addresses, in order:
- 3540
- 3548
- 3550
- 3558
- 3560
- 3568
- 3570
- 3578
The driver then scans for installed units. All targets are scanned (7 to 0). The driver numbers the units (starting at 0) and registers them with Fsys in the order it finds them.
The Filesystem Manager supports only the following types of SCSI units:
| Type | Description |
|---|---|
| 0 | direct-access (e.g. hard disk) |
| 1 | sequential-access (e.g. tape) |
| 4 | WORM (write once/read multiple) |
| 5 | CD-ROM |
| 7 | optical |
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:
Support a PS/2 SCSI controller:
Fsys.ps2scsi &
Register the direct access unit as /dev/hardn and the sequential access unit as /dev/tapen:
Fsys.ps2scsi fsys -n direct=hard -n seq=tape &
Support a controller at address 0x3540 and run quietly. Register direct access units (e.g. hard disks) as /dev/scsin:
Fsys.ps2scsi -q fsys -n 0=scsi ps2scsi -a 3540 &
Support a PS/2 SCSI controller with 6 SCSI units and don't display the list of connected devices. Register direct access units (e.g. hard disks) as /dev/scsin:
Fsys.ps2scsi -q fsys -n 0=scsi ps2scsi -u 6 &
Use sixteen 512-byte deblocking buffers for two CD-ROMs that each use 2048-byte sectors:
Fsys.ps2scsi fsys -B 16 &
In the above example, the argument for -B was calculated as follows:
- 16 = (2*(2048/512)) + (2*(2048/512))
Files:
Fsys.ps2scsi 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.ps2scsi 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.ps2scsi 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.ps2scsi 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)
