FD(4) Manuale del programmatore di Linux FD(4)

fd - dispositivo per dischetti

I dispositivi dei dischetti sono dispositivi a blocchi con numero primario 2. Tipicamente sono di proprietà di root:floppy (cioè proprietario root e gruppo floppy) e hanno modi di accessi 0660 (accesso con verifica dell'appartenenza al gruppo) oppure 666 (tutti hanno l'accesso). I numeri secondari codificano il tipo di dispositivo, numero del drive e numero del controller. Per ogni tipo di dispositivo (cioè, per ogni combinazione di densità e numero di tracce) esiste un numero secondario base. A questo numero base occorre aggiungere il numero del drive sul suo controller e 128 se il drive è collegato al secondo controller. Nella seguente tabella di dispositivi, n rappresenta il numero del drive.

Attenzione: se si usano formati con più tracce di quelle supportate dal drive si può causare un danno meccanico. Provare una volta se sono supportate più delle 40/80 tracce solite non dovrebbe danneggiarlo, ma non è data nessuna garanzia. Se non si è sicuri, non creare i file speciali per quei formati in modo da prevenirne l'uso.

Questi sono i file di periferica che riconoscono automaticamente il formato e la capacità del disco indipendentemente dal drive:

Nome Numero base
secondario #
fdn 0

File speciali per dischetti da 5.25 pollici a doppia densità:

Nome Capac. Cil. Sett. Testine Numero base
KiB secondario #
fdnd360 360 40 9 2 4

File speciali per dischetti da 5.25 pollici ad alta densità:

Nome Capac. Cil. Sett. Testine Numero base
KiB secondario #
fdnh360 360 40 9 2 20
fdnh410 410 41 10 2 48
fdnh420 420 42 10 2 64
fdnh720 720 80 9 2 24
fdnh880 880 80 11 2 80
fdnh1200 1200 80 15 2 8
fdnh1440 1440 80 18 2 40
fdnh1476 1476 82 18 2 56
fdnh1494 1494 83 18 2 72
fdnh1600 1600 80 20 2 92

File speciali per dischetti da 3.5 pollici a doppia densità:

Nome Capac. Cil. Sett. Testine Numero base
KiB secondario #
fdnu360 360 80 9 1 12
fdnu720 720 80 9 2 16
fdnu800 800 80 10 2 120
fdnu1040 1040 80 13 2 84
fdnu1120 1120 80 14 2 88

File speciali per dischetti da 3.5 pollici ad alta densità:

Nome Capac. Cil. Sett. Testine Numero base
KiB secondario #
fdnu360 360 40 9 2 12
fdnu720 720 80 9 2 16
fdnu820 820 82 10 2 52
fdnu830 830 83 10 2 68
fdnu1440 1440 80 18 2 28
fdnu1600 1600 80 20 2 124
fdnu1680 1680 80 21 2 44
fdnu1722 1722 82 21 2 60
fdnu1743 1743 83 21 2 76
fdnu1760 1760 80 22 2 96
fdnu1840 1840 80 23 2 116
fdnu1920 1920 80 24 2 100

File speciali per dischetti da 3.5 pollici ad extra densità:

Nome Capac. Cil. Sett. Testine Numero base
KiB secondario #
fdnu2880 2880 80 36 2 32
fdnCompaQ 2880 80 36 2 36
fdnu3200 3200 80 40 2 104
fdnu3520 3520 80 44 2 108
fdnu3840 3840 80 48 2 112

I file speciali fd accedono in modo "raw" ai drive dei dischetti. Le seguenti chiamate ioctl(2) sono supportate dai dispositivi fd:

azzera le informazioni sul supporto (media information, cioè la geometria del disco nel drive) per un drive.
assegna le informazioni sul supporto di un drive. Tali informazioni saranno perse quando il disco viene cambiato.
assegna le informazioni sul supporto di un drive (la geometria del disco nel drive). Tali informazioni non saranno perse quando il dispositivo viene cambiato. Ciò disabiliterà la rilevazione automatica. Per poter riabilitare la rilevazione automatica, di deve fare un FDCLRPRM.
ritorna il tipo di un drive (parametro nome). Per formati che funzionano in diversi tipi di drive, FDGETDRVTYP ritorna un nome che è appropriato per il più vecchio tipo di drive che supporta questo formato.
invalida la cache dei dati relativi ad un drive.
assegna la soglia d'errore per riportare gli errori, la terminazione dell'operazione, la ricalibrazione, il reset, e la lettura settore per settore.
restituisce la soglia d'errore corrente.
restituisce il nome interno del drive.
azzera le statistiche sugli errori di scrittura.
legge le statistiche sugli errori di scrittura. Queste comprendono il numero totale di errori di scrittura, la posizione e il disco del primo errore di scrittura, e la posizione e il disco dell'ultimo errore di scrittura. I dischi sono identificati da un numero che viene incrementato ogni volta che viene cambiato il disco (o quasi).
Spegne il motore del drive per alcuni microsecondi. Ciò potrebbe essere necessario per poter accedere ad un disco i cui settori siano troppo vicini uno all'altro.
assegna diversi parametri del drive.
rilegge questi parametri.
restituisce lo stato della cache del drive (disk changed, write protected et al.)
interroga il drive e ritorna il suo stato.
restituisce lo stato del controller del dischetto.
reimposta il controller del dischetto, sotto certe condizioni.
invia un comando nudo al controller del dischetto.

Per informazioni più precise, consultare anche i file include <linux/fd.h> e <linux/fdreg.h>, come pure la pagina di manuale di floppycontrol(1).

/dev/fd*

I vari formati permettono la lettura e scrittura di molti tipi di dischi. Comunque, se un dischetto ha un intervallo tra i settori (inter sector gap) troppo piccolo, le prestazioni possono crollare, fino a causare un attesa di alcuni secondi per accedere ad una traccia completa. Per evitare ciò, usare i formati "interleaved".

Non è possibile la lettura di dischetti che sono formattati usando GCR (group code recording), formato usato dai computer Apple II e Macintosh (dischi da 800k).

La lettura di dischetti con "settorizzazione hardware" (un buco per settore, e il buoco indice un po' sbilenco) non è supportata. La "settorizzazione hardware" era comune con i vecchi dischetti da 8 pollici.

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

Questa pagina fa parte del rilascio 5.13 del progetto Linux man-pages. Una descrizione del progetto, le istruzioni per la segnalazione degli errori, e l'ultima versione di questa pagina si trovano su https://www.kernel.org/doc/man-pages/.

La traduzione italiana di questa pagina di manuale è stata creata da Giovanni Bortolozzo <borto@dei.unipd.it>, Alessandro Rubini <rubini@linux.it>, Giulio Daprelà <giulio@pluto.it> e Marco Curreli <marcocurreli@tiscali.it>

Questa traduzione è documentazione libera; leggere la GNU General Public License Versione 3 o successiva per le condizioni di copyright. Non ci assumiamo alcuna responsabilità.

Per segnalare errori nella traduzione di questa pagina di manuale inviare un messaggio a pluto-ildp@lists.pluto.it.

13 agosto 2020 Linux