FD(4)

NOM
fd - Lecteurs de disquettes

CONFIGURATION
Les lecteurs de disquettes sont des peripheriques bloc ayant un numero majeur 2. Typiquement ils sont la propriete de root.floppy (c'est a dire l'utilisateur root, et le groupe floppy) et ont la permission d'acces 0660 (acces par le groupe) ou 0666 (acces pour tous). Le numero mineur contient le type de peripherique, le numero de lecteur et le numero de controleur. Pour chaque type de peripherique (c'est a dire les combinaisons de densite et de nombre de pistes), il existe un numero mineur de base. A ce numero de base s'ajoute le numero du lecteur (sur son controleur), et la valeur 128 si le lecteur est sur le second controleur. Dans les tables de peripheriques indiquees ci-dessous n represente le numero de lecteur. Attention : Si vous utilisez un format disposant d'un nombre plus eleve de pistes que celles effectivement gerees par votre lecteur, vous pouvez l'endommager physiquement. Essayer une seule fois de voir si le lecteur supporte plus que les 40/80 pistes habituelles ne devrait pas l'endommager, mais aucune garantie n'en est fournie. Ne creez pas de fichiers speciaux de peripheriques pour ces formats si vous n'etes pas surs de vous.

Fichier de peripherique independant du lecteur, detectant automatiquement le format et la capacite :

Nom | Num base mineure
fdn | 0

Fichiers de peripherique 5.25" double densite :

Nom | Capac. | Cyl. | Sect. | Tetes | Num mineur base
fdnd360 | 360K | 40 | 9 | 2 | 4

Fichiers de peripheriques 5.25" haute densite :

Nom | Capac. | Cyl. | Sect. | Tetes | Num mineur base
fdnh360 | 360K | 40 | 9 | 2 | 20
fdnh410 | 410K | 41 | 10 | 2 | 48
fdnh420 | 420K | 42 | 10 | 2 | 64
fdnh720 | 720K | 80 | 9 | 2 | 24
fdnh880 | 880K | 80 | 11 | 2 | 80
fdnh1200 | 1200K | 80 | 15 | 2 | 8
fdnh1440 | 1440K | 80 | 18 | 2 | 40
fdnh1476 | 1476K | 82 | 18 | 2 | 56
fdnh1494 | 1494K | 83 | 18 | 2 | 72
fdnh1600 | 1600K | 80 | 20 | 2 | 92

Fichiers de peripheriques 3.5" double densite :

Nom | Capac. | Cyl. | Sect. | Tetes | Num mineur base
fdnD360 | 360K | 80 | 9 | 1 | 12
fdnD720 | 720K | 80 | 9 | 2 | 16
fdnD800 | 800K | 80 | 10 | 2 | 120
fdnD1040 | 1040K | 80 | 13 | 2 | 84
fdnD1120 | 1120K | 80 | 14 | 2 | 88

Fichiers de peripheriques 3.5" haute densite :

Nom | Capac. | Cyl. | Sect. | Tetes | Num mineur base
fdnH360 | 360K | 40 | 9 | 2 | 12
fdnH720 | 720K | 80 | 9 | 2 | 16
fdnH820 | 820K | 82 | 10 | 2 | 52
fdnH830 | 830K | 83 | 10 | 2 | 68
fdnH1440 | 1440K | 80 | 18 | 2 | 28
fdnH1600 | 1600K | 80 | 20 | 2 | 124
fdnH1680 | 1680K | 80 | 21 | 2 | 44
fdnH1722 | 1722K | 82 | 21 | 2 | 60
fdnH1743 | 1743K | 83 | 21 | 2 | 76
fdnH1760 | 1760K | 80 | 22 | 2 | 96
fdnH1840 | 1840K | 80 | 23 | 2 | 116
fdnH1920 | 1920K | 80 | 24 | 2 | 100

Fichiers de peripheriques 3.5" extra densite

Nom | Capac. | Cyl. | Sect. | Tetes | Num mineur base
fdnE2880 | 2880K | 80 | 36 | 2 | 32
fdnCompaQ | 2880K | 80 | 36 | 2 | 36
fdnE3200 | 3200K | 80 | 40 | 2 | 104
fdnE3520 | 3520K | 80 | 44 | 2 | 108
fdnE3840 | 3840K | 80 | 48 | 2 | 112

DESCRIPTION
Les fichiers fd accedent aux disquettes en mode direct. Les appels ioctl(2) suivants sont supportes par les peripheriques fd :

FDCLRPRM
    efface les informations sur le media (la geometrie du disque dans le lecteur).

FDSETPRM
    fixe les informations sur le media (la geometrie du disque dans le lecteur). Ces informations seront perdues au changement de disquette.

FDDEFPRM
    fixe les informations sur le media (la geometrie du disque dans le lecteur). Ces informations seront conservees lors du changement de disquette. Cela desactive l'auto-detection. Pour la reactiver, il faut effectuer un appel FDCLRPRM .

FDGETDRVTYP
    renvoie le type de lecteur (nom). Pour les formats qui fonctionnent avec plusieurs types de lecteurs, FDGETDRVTYP renverrra le nom du plus ancien type de lecteur supportant le format.

FDFLUSH
    desactiver le buffer cache pour le lecteur.

FDSETMAXERRS
    fixe le seuil d'erreur pour les rapports d'erreurs, les abandons, le recalibrage, la reinitialisation, et la lecture secteur par secteur.

FDSETMAXERRS
    recupere le seuil d'erreur actuel.

FDGETDRVTYP
    recupere le nom interne du lecteur.

FDWERRORCLR
    efface les statistiques sur les erreurs d'ecriture.

FDWERRORGET
    recupere les statistiques sur les erreurs d'ecriture. Celles-ci incluent le nombre total d'erreurs d'ecriture, l'emplacement et le disque de la premiere erreur, et l'emplacement et le disque de la derniere. Les disques sont identifies par un numero qui augmente a (presque) chaque changement de disquette.

FDTWADDLE
    eteint pendant quelques micro-secondes le moteur du lecteur. Ceci peut etre necessaire pour acceder a un disque dont les secteurs sont trop rapproches.

FDSETDRVPRM
    fixe plusieurs parametres du lecteur.

FDGETDRVPRM
    recupere ces memes parametres.

FDGETDRVSTAT
    recupere l'etat cache du lecteur (disque change, protection ecriture,..)

FDPOLLDRVSTAT
    recupere l'etat reel du lecteur (disque change, protection ecriture,..)

FDGETFDCSTAT
    recupere l'etat du controleur.

FDRESET
    reinitialise le controleur sous certaines conditions.

FDRAWCMD
    envoie une commande directe au controleur.

Pour plus d'informations, consulter aussi les fichier d'en-tete <linux/fd.h> et <linux/fdreg.h> ainsi que floppycontrol(1).

NOTES
Les divers formats permettent la lecture et l'ecriture sur de nombreux disques. Neanmoins si le disque est formatte avec un espace entre secteurs trop petit, les performances peuvent diminuer, necessitant plusieurs secondes pour acceder a une piste entiere. Pour eviter ceci, utiliser des formats entrelaces. Il n'est pas possible de lire des disquettes formattees en GCR (group code recording), utilisees par l'Apple ][ et les MacIntosh (disquettes 800 Ko). La lecture des disques avec sectorisation materielle (un trou par secteur, avec un trou d'index legerement decalle) n'est par supportee. Ceci etait surtout utilise avec les vieilles disquettes 8".

FICHIERS
/dev/fd*

AUTEURS
Alain Knaff (Alain.Knaff@imag.fr), David Niemi (niemidc@clark.net), Bill Broadhurst (bbroad@netcom.com).

VOIR AUSSI
floppycontrol(1), mknod(1), chown(1), getfdprm(1), superformat(1), mount(8), setfdprm(8)