NAME
rf —
DEC RX01 / RX02 floppy disk
interface
SYNOPSIS
rfc0 at uba? csr 0177170 # RX01/RX02 controller
rf* at rfc? drive? # RX01/RX02 floppy disk drive
DESCRIPTION
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 |
FILES
- /dev/rf?[abc]
-
- /dev/rrf?[abc]
-
DIAGNOSTICS
- 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.
SEE ALSO
dd(1),
tar(1),
vax/intro(4),
disklabel(5),
disklabel(8),
mknod(8),
mount(8),
newfs(8)
HISTORY
The rf driver appeared in
NetBSD 2.0. It is a complete
rewrite, not related to the old 4.2BSD
rx driver.
AUTHORS
Jochen Kunz
BUGS
Writing of a
disklabel(5) is
not supported. The driver return always the internally fake disklabel.