fd(4) dispositivo de disco flexible (disquetera)

CONFIGURACIÓN

Las unidades de disco flexible son dispositivos hardware cuyo número mayor es 2. Tipicalmente, pertenecen a root.floppy (es decir, usuario root, grupo floppy) y tienen o bien el modo 0660 (la comprobación de acceso se realiza a través de la pertenencia al grupo) o bien el modo 0666 (cualquiera tiene acceso). Los números menorer codifican el tipo de dispositivo, número de dispositivo, número de controlador. Para cada tipo de dispositivo (es decir, combinación de densidad y número de pistas) hay un numero base menor. A este número base, suma el número de dispositivo en su controladora y 128 si el dispositivo está en el controlador secundario. En las siguientes tablas de dispositivos, n representan el número de dispositivo.

Cuidado: Si usas formatos con más pistas que las soportadas por tu dispositivo, puedes causarle daños mecánicos. Probar una vez si se soportan más pistas de las usuales 40/80 no debería dañarlo, pero no se da ninguna garantía por ello. No crees entradas de dispositivos para esos formatos para prevenir su uso si no estas seguro.

Ficheros independientes del dispositivo que detectan automáticamente el formato y la capacidad del medio:

NombreNº base menor

fdn 0

Ficheros de dispositivos de doble densidad y 5.25":

NombreCapac.Cil.Sect.Cabez.Nº base menor

fdnd360360K40924

Ficheros de dispositivos de alta densidad y 5.25":

NombreCapac.Cil.Sect.Cabez.Nº base menor

fdnh360360K409220
fdnh410410K4110248
fdnh420420K4210264
fdnh720720K809224
fdnh880880K8011280
fdnh12001200K801528
fdnh14401440K8018240
fdnh14761476K8218256
fdnh14941494K8318272
fdnh16001600K8020292

Ficheros de dispositivos de doble densidad y 3.5":

NombreCapac.Cil.Sect.Cabez.Nº base menor

fdnD360360K809112
fdnD720720K809216
fdnD800800K80102120
fdnD10401040K8013284
fdnD11201120K8014288

Ficheros de de dispositivos de alta densidad y 3.5":

NombreCapac.Cil.Sect.Cabez.Nº base menor

fdnH360360K409212
fdnH720720K809216
fdnH820820K8210252
fdnH830830K8310268
fdnH14401440K8018228
fdnH16001600K80202124
fdnH16801680K8021244
fdnH17221722K8221260
fdnH17431743K8321276
fdnH17601760K8022296
fdnH18401840K80232116
fdnH19201920K80242100

Ficheros de dispositivos de densidad extra y 3.5":

NombreCapac.Cil.Sect.Cabez.Nº base menor

fdnE28802880K8036232
fdnCompaQ2880K8036236
fdnE32003200K80402104
fdnE35203520K80442108
fdnE38403840K80482112

DESCRIPCIÓN

Los ficheros especiales fd acceden a las unidades de disquete en modo crudo. Las siguientes llamadas ioctl(2) están soportadas por dispositivos fd:
FDCLRPRM
borra la información del medio de una unidad (geometría del disco en la unidad).
FDSETPRM
Establece la información del medio de una unidad. La información del medio se perderá cuando se cambie de medio.
FDDEFPRM
Establece la información del medio de una unidad (geometría del disco en la unidad). La información del medio no se perderá cuando se cambie de medio. Esto desactivará la autodetección. En orden a reactivar la autodetección, tienes que emitir un FDCLRPRM .
FDGETDRVTYP
devuelve el tipo de una unidad (parametro nombre). Para formatos que funcionan en varios tipos de unidad, FDGETDRVTYP devuelve un nombre el cuál es apropiado para el tipo de unidad más antiguo que soporta este formato.
FDFLUSH
invalida el cache de buffer para la unidad dada.
FDSETMAXERRS
ajusta el umbral de error para informar de errores, abortar la operación, recalibrar, reinicar la unidad y leer sector a sector.
FDSETMAXERRS
obtiene el umbral actual de error.
FDGETDRVTYP
obtiene el nombre interno de la unidad.
FDWERRORCLR
borra la estadística de errores de escritura.
FDWERRORGET
lee la estadística de errores de escritura. Esto incluye el número total de errores de escritura, la posición y disco del primer error de escritura, y la posición y disco del último error de escritura. Los discos se identifican mediante un número de generación el cuál se incrementa (al menos) en cada cambio de disco.
FDTWADDLE
Apaga el motor de la unidad por unos pocos microsegundos. Esto podría ser necesario para acceder a un disco cuyos sectores están muy juntos.
FDSETDRVPRM
ajusta varios parametros de unidad.
FDGETDRVPRM
devuelve los parámetros anteriores.
FDGETDRVSTAT
obtiene el estado de la cache de la unidad (cambios de disco, protección de escritura)
FDPOLLDRVSTAT
consulta a la unidad y devuelve su estado.
FDGETFDCSTAT
obtiene el estado del controlador de la disquetera.
FDRESET
reinicia el controlador de la disquetera bajo ciertas condiciones.
FDRAWCMD
envía una orden directa al controlador de la disquetera.

Para una información más precisa, consultar también los ficheros de cabecera <linux/fd.h> y <linux/fdreg.h>, así como la página de manual para floppycontrol.

OBSERVACIONES

Los diversos formatos permiten leer y escribir muchos tipos de discos. No obstante, si un disquete está formateado con un espacio entre sectores demasiado pequeño, el rendimiento puede caer, hasta el punto de necesitar unos pocos segundos para acceder a una pista entera. Para prevenir esto, usar formatos con entrelazado. No es posible leer discos que han sido formateados usando GCR(group code recording), la cuál se usa en computadores Apple II y Macintosh (discos de 800K). No está soportada la lectura de disquetes con los sectores marcados físicamente, mediante un agujero por sector. Esto solía ser común en los viejos disquetes de 8 pulgadas.

FICHEROS

/dev/fd*

AUTORES

Alain Knaff ([email protected]), David Niemi ([email protected]), Bill Broadhurst ([email protected]).