rf
—
DEC RX01 / RX02 floppy disk interface
rfc0 at uba? csr 0177170 # RX01/RX02 controller
rf* at rfc? drive? # RX01/RX02 floppy disk drive
The rf
device provides access to DEC RX01 and RX02
floppy disk drives and clones thereof. These drives use preformatted 8"
single sided, soft sectored media. The RX01 and RX02 drives use a geometry of
77 cylinders, one head and 26 sectors. Each sector contains 128 bytes in case
of single density ( RX01 and RX02 in RX01 mode) or 256 bytes in double density
mode. As NetBSD is not able to handle non-512 byte
media the driver translates this to a geometry of 50 cylinders, one head and
10 sectors in single density and 77 cylinders, one head and 13 sectors in
double density mode. While the later matches the total number of sectors, the
fake geometry in single density does not cover the last two physical sectors
exact, but it is possible to access this sectors at 512 byte LBN 501. When a
512 byte block is written to LBN 501 the last 256 bytes are ignored. When this
512 byte block is read the last 256 bytes contain undefined data.
This driver supports three minor devices corresponding to the
slices:
Slice |
Description |
a |
Single density only mode. |
b |
Double density only mode. |
c |
Density autodetect. |
As the RX01 and RX02 hardware is not able to support formatting a blank disk,
this driver has no support for according IOCTLs. But there are clones from
third party vendors that support formatting. Formatting a blank disk may be
initiated by the following commands on the VAX chevron prompt:
Single density |
d/p/w 20001E78 9 |
d/p/w 20001E7A 92 |
Double density |
d/p/w 20001E78 109 |
d/p/w 20001E7A 92 |
- /dev/rf?[abc]
-
- /dev/rrf?[abc]
-
- rfc_attach: Error creating bus_dma map: %d
- did not respond to INIT CMD
- Possible errors during
vax/autoconf(4). %d
is the return code of
bus_dmamap_create(9).
- %s: did not respond to CMD %x
- An error occurred while the driver tried to send command %x to drive
%s.
- rfc_intr: Error while reading sector: %x
- rfc_intr: Error while writing sector: %x
- rfc_intr: Error while DMA: %x
- %x is status code from the controller error and status register.
- rfc_intr: Error while loading bus_dma map: %d
- %d is return code of
bus_dmamap_load(9).
- %s: density error.
- A single density disk was opened in double density only mode or vice versa
or the medium in the drive attached as %s was not readable at all.
The rf driver appeared in NetBSD 2.0. It is a complete
rewrite, not related to the old 4.2BSD rx
driver.
Writing of a disklabel(5) is
not supported. The driver return always the internally fake disklabel.