devb-fdc

Driver for floppy disk interface (QNX Neutrino)


Note: You must be root to start this driver.

Syntax:

devb-fdc [cam option[,option]...]
         [disk option[,option]...] 
         [fdc option[,option]...]
         [blk option[,option]...] &

Runs on:

Neutrino

Targets:

x86

Options:


Note: Use commas (,) to separate the options. You can put the cam, disk, fdc, and blk groups of options in any order.

cam options

quiet
Be quiet: don't display any information on startup.
verbose
Be verbose.

disk options

The disk options control the driver's interface to cam-disk.so. If specified, they must follow the disk keyword.

fdc options

The fdc options control the driver's interface to the fdc controller. If you've installed multiple controllers, you can repeat these options for each controller. Remember, however, to specify the fdc keyword before each controller's set of options.

ioport=port
The I/O port of the interface. The default is 0x3f0.
irq=req
The interrupt used by the controller. The default is 6.
dma=channel
Use the specified DMA channel. The default is 2.

blk options

The blk options control io-blk.so. If specified, they must follow the blk keyword.

Description:

The devb-fdc driver is for the floppy disk interface. It autodetects interfaces at address 0x3f0, interrupt 6, dma channel 2 by default. If you have an interface at a different address/interrupt/dma, specify them to the driver using the fdc options.


Note:
  • The default cache size specified by io-blk.so is excessive for devb-fdc. You'll probably want to reduce it to something more reasonable:
    devb-fdc blk cache=512k &
  • The device enumerator (see enum-devices, as well as Device enumeration in the Controlling How Neutrino Starts chapter of the QNX Neutrino User's Guide) doesn't start devb-fdc by default. If your system has a floppy drive, you can start the driver manually or uncomment the devb-fdc lines in the /etc/system/enum/devices/block file.

Examples:

Assume an FDC interface, and list all connected devices:

devb-fdc &

Mount a floppy drive that can access QNX or DOS floppy disks:

devb-fdc blk cache=128k &
mount -tqnx4 /dev/fd0 /qnxflop
mount -tdos /dev/fd0 /dosflop

or:

devb-fdc blk cache=128k,automount=+fd0:/qnxflop:qnx4,\
automount=+fd0:/dosflop:dos &

Files:

The devb-fdc driver causes io-blk.so to adopt various block special devices under /dev. These devices are normally named fdn, where n is the physical unit number of the device.

This driver could also require the following shared objects:

Binary Required
cam-disk.so For floppy-disk access.
libcam.so Always

Exit status:

The devb-fdc 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-fdc 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:

While there's no limit to the size of a disk or partition, I/O (i.e. the lseek(), read() and write() functions) is currently limited to 2 gigabytes per partition (or disk). This I/O limit has no effect on the partition size for mounted filesystems.

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.

See also:

cam-*, devb-*, fdformat, fs-*, io-blk.so

Connecting Hardware chapter, and Filesystems and block I/O (devb-*) drivers in the Fine-Tuning Your System chapter of the QNX Neutrino User's Guide