[Previous] [Contents] [Next]

Fsys.floppy

Driver for floppy disk controller (QNX)

Syntax:

Fsys.floppy [options...]

Options:

-a controller
The controller address (default is 3f0 hex).
-d channel
Set DMA channel (default is 2).
-D level
Print diagnostic information:
1
show errors
2
show results of all activity
3
show controller level information
-i interrupt
The interrupt level used by the controller (default is 6).
-m maxsize
The maximum number of blocks that will be transferred from the diskette to memory in one operation (default is 36).
-n device_name
The name of the block special device associated with the floppy. The default is fd, which yields a device name of /dev/fdn, where n is a unit number assigned by Fsys.
-N version_name
A unique version name to be assigned to this invocation of the driver. The name can be from 1 to 11 characters in length.
-s id
Bus type (Ziatech hardware only)
-V file
Direct diagnostics into the named file rather than to the standard output.

Description:

Fsys.floppy is the driver for IBM PC/AT/PS2-compatible floppy disk controllers. These controllers are based on the NEC 765 FDC, the INTEL 8237 DMA controller, and some extra control hardware defined by IBM for the PC.

Since these controllers use the 8237 DMA controller to transfer data between memory and the device, the driver will attempt to allocate up to maxsize * 512 bytes upon startup.

Ideally, maxsize should be the number of sectors in a cylinder, allowing the driver to read an entire cylinder in a single request. The default is 36, which is the number of sectors in a cylinder on a 1.44M drive.

This driver automatically changes the drive parameters to match the disk in the drive (e.g. 360K or 1.2M; 720K, 1.4M or 2.8M ). It does this by reading the first block of the disk, on which the QNX fdformat has written the information used to set the drive parameters (heads, sectors/track, cylinders). When using disks from UNIX systems, e.g. tar archives on floppy disks, you must disable this feature of the driver by using the lockfd utility. The feature may be re-enabled via the same utility.

When running multiple copies of Fsys.floppy, you must use the -N version_name option to assign a unique version name to the driver. To help prevent you from unintentionally starting the same driver twice, Fsys rejects the invocation of any driver that has the same version name as another previously mounted driver. (You can display the version name of a driver with the sin ver command.) You should also use the -n device_name option to specify a unique device name, since another driver may have already created the default device name.

Some ISA motherboards have problems when on-board DMA and bus-mastering DMA occur concurrently. To avoid those problems, Fsys drivers which use DMA will usually not perform I/O concurrently, unless one or both drivers has been configured to allow this by command-line option. (Fsys.floppy cannot be configured this way.)


Caution: This driver is sensitive to the drive type specified in the non-volatile setup information in AT and PS/2 computers. Specifying the wrong type of drive during this setup might result in sporadic errors.


Note: The driver recognizes and mounts the proper parameters for diskettes from QNX 4, QNX 2.1, and several versions of DOS. If you need to specify additional parameters to the driver, you use the qnx_ioctl() C function.

Examples:

Start Fsys.floppy using the configuration information in the CMOS setup data for drive information:

    Fsys.floppy &

Files:

Fsys.floppy closes its standard input, standard output and standard error immediately after performing its startup initialization.

Fsys.floppy will cause Fsys to adopt block special files under /dev for each floppy device being serviced by the driver. These filenames are normally /dev/fdn where n is the drive number. The base portion of the filename (fd) can be overridden by using the -n option.

Exit status:

Fsys.floppy will terminate only in response to a signal or errors encountered during its startup initialization.

0
No floppy drives were detected in the system, or Fsys.floppy was started in the foreground and Fsys.floppy successfully forked a copy of itself.
>0
An error occurred during initialization. An error message will have been written to standard error.

Caveats:

You can specify the controller address (via option -a), but your floppy disk controller hardware must match the IBM specification, which involves more than the NEC 765 FDC.

The floppy controller interface and timing requirements are poorly specified; variations from machine to machine make this unreliable hardware.

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:

Blkfsys, dinit, fdformat, Fsys, Fsys.*, lockfd, pax, tar


[Previous] [Contents] [Next]