Printing current settings
-------------------------
`-T'
`--type'
Print out the drive name of a floppy device. This is used by the
`MAKEFLOPPIES' script. The drive name is a letter (describing the
drive type) followed by the capacity of the format in bytes. The
letter is E for 3.5 ED drives, H for 3.5 HD drives, D for 3.5 DD
drives, h for 5.25 HD drives and d for 5.25 DD drives. The drive
type letter corresponds to the oldest drive type supporting the
format of this device node (not necessarily the type of the drive
refered by this node.) For the generic format nodes (/dev/fd0 et
al.) the name of "native format" of the drive is printed, and for
the default formats, if a generic format has been redefined, its
name becomes `(null)'.
`-p'
`--print'
Prints out the configuration of the drive. The names of the various
fields are the same as the names of the option to set them, see
below.
`-P'
`--printstate'
Prints out the cached internal state of the driver. The first line
lists various attributes about the disk:
`drive present'
`disk present'
`disk writable'
These are only updated when the drive is accessed.
`spinup'
is the time when the motor became switched on for the last
time.
`select'
is the time when the drive became selected for the last time
`first_read'
is the time when the first read request after the last spin up
completed.
`probed_fmt'
is the the index of the autodetected format in the
autodetection sequence for this drive.
`cylinder'
is the cylinder where the drive head currently sits. If this
number is negative, it has the following meaning:
* -1 means that the driver doesn't know, but the
controller does (a seek command must be issued).
* -2 means that the controller doesn't know either, but is
sure that it not beyond the 80th track. The drive needs
a recalibration.
* -3 means that the head may be beyond the 80th track.
The drive needs two successive recalibrations, because
at each recalibration, the controller only issues 80
move head commands per recalibration.
`maxblock'
is the highest block number that has been read.
`maxcylinder'
is a boolean which is set when a sector that is not on
cylinder 0/head 0 has been read. These are used for smart
invalidation of the buffer cache on geometry change. The
buffer cache of the drive is only invalidated on geometry
change when this change actually implies that a block that
has already been read changes position. This optimization is
useful for mtools which changes the geometry after reading
the boot sector.
`generation'
is roughly the number of disk changes noticed since boot.
Disk changes are noticed if the disk is actually changed, or
if a flush command is issued and for both cases if any I/O
to/from the disk occurs. (i.e. if you insert several disks,
but don't do any I/O to them, the generation number stays the
same.)
`refs'
is number of open file descriptors for this drive. It is
always at least one, because floppycontrol's file descriptor
is counted too.
`device'
is format type (as derived from the minor device number)
which is currently being used.
`last_checked'
is date (in jiffies) when the drive was last checked for a
disk change, and a disk was actually in the drive.
`--pollstate'
Polls the drive and then prints out the internal state of the
driver.(`--Printstate' only prints out the cached information
without actually polling the drive for a disk change.)
`--printfdcstate'
Prints out the state of the controller where the target drive is
attached to.
`spec1'
`spec2'
are the current values of those registers.
`rate'
is current data transfer rate
`rawcmd'
is true if a raw command has been executed since the last
reset. If this is the case, a reset will be triggered when a
drive on the same FDC is next opened.
`dor'
is the value of the digital output register. The 4 high bits
are a bit mask describing which drives are spinning, the 2
low bits describe the selected drive, bit 2 is used to reset
the FDC, and bit 3 describes whether this FDC has hold of the
interrupt and the DMA. If you have two FDCs, bit 3 is only
set on one of them.
`version'
is the version of the FDC. See `linux/include/linux/fdreg.h'
for a listing of the FDC version numbers.
`reset'
is true if a reset needs to be issued to the FDC before
processing the next request.
`need_configure'
is true if this FDC needs configuration by the `FD_CONFIGURE'
command.
`has_fifo'
is set if the FDC understands the `FD_CONFIGURE' command.
`perp_mode'
describes the perpendicular mode of this FDC. 0 is
non-perpendicular mode, 2 is HD perpendicular mode, 3 is ED
perpendicular mode, and 1 is unknown.
`address'
is the address of the first I/O port of the FDC. Normally,
this is 0x3f0 for the first FDC and 0x370 for the second.