FD(4)

ИМЯ
fd - дисковод

КОНФИГУРАЦИЯ
Дисководы - блочные устройства со старшим номером 2. Обычно их владельцем является root.floppy (т. е. пользователь root, группа floppy), а права доступа к ним -- 0660 (доступно членам группы) или 0666 (доступно всем). Младший номер определяется типом устройства, номером устройства, и номером контроллера. Для каждого типа устройства, то есть комбинации объема и количества дорожек, существует базовый младший номер. К этому базовому номеру прибавьте номер устройства в пределах его контроллера, и еще 128, если дисковод подключен к вторичному контроллеру. В нижеследующих таблицах n означает номер дисковода.

Предупреждение: Если вы используете формат дискет с большим числом дорожек, чем поддерживает ваш дисковод, вы можете вызвать механическое повреждение. Однажды попробовав работать с числом дорожек больше обычных 40/80, вы не должны его испортить, но нет гарантии, что этого не произойдет. Не создавайте устройства для таких форматов, чтобы предотвратить их использование, если вы не уверены.

Файлы устройств, не зависящие от привода, которые автоматически определяют формат и емкость диска:

Имя | Базовый младший #
fdn | 0

Файлы устройств 5.25 дюймов с двойной плотностью:

Имя | Объем | Дор. | Сект. | Голов. | Базовый младший #
fdnd360 | 360K | 40 | 9 | 2 | 4

Файлы устройств 5.25 дюймов с высокой плотностью:

Имя | Объем | Дор. | Сект. | Голов. | Базовый младший #
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

Файлы устройств 3.5 дюймов с двойной плотностью:

Имя | Объем | Дор. | Сект. | Голов. | Базовый младший #
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

Файлы устройств 3.5 дюймов с высокой плотностью:

Имя | Объем | Дор. | Сект. | Голов. | Базовый младший #
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

Файлы устройств 3.5 дюймов с дополнительной плотностью:

Имя | Объем | Дор. | Сект. | Голов. | Базовый младший #
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

ОПИСАНИЕ
Специальные файлы fd имеют доступ к дисководам в "сыром" виде (raw mode). Следующие вызовы ioctl(2) поддерживаются устройствами fd:

FDCLRPRM
    очищает информацию о носителе для устройства (геометрию диска в приводе).

FDSETPRM
    устанавливает информацию о носителе в устройстве. Информация о носителе потеряется, когда носитель будет сменен.

FDDEFPRM
    устанавливает информацию о носителе в устройстве (геометрию диска в приводе). Информация о носителе не будет потеряна, когда носитель будет сменен. При этом автоопределение носителя будет запрещено. Чтобы снова его разрешить, обратитесь к FDCLRPRM .

FDGETDRVTYP
    возвращает тип дисковода (параметр имени). Для форматов, работающих на нескольких типах дисководов, FDGETDRVTYP возвращает имя, которое соответствует самому старому типу дисковода, который поддерживает данный формат.

FDFLUSH
    отменяет использование текущих данных кэша для данного диска.

FDSETMAXERRS
    устанавливает пороговые значения для сообщения об ошибках, остановки действий, перекалибровки, сброса в начальное состояние и посекторного чтения.

FDSETMAXERRS
    возвращает текущие пороговые значения для ошибок.

FDGETDRVTYP
    возвращает внутреннее имя привода.

FDWERRORCLR
    очищает статистику ошибок записи.

FDWERRORGET
    читает статистику ошибок записи. Она включает общее число ошибок записи, расположение и диск, на котором произошла первая ошибка записи и расположение и диск, на котором произошла последняя ошибка записи. Диски обозначаются генерирующимся числом, которое увеличивается на единицу при (почти) каждой смене диска.

FDTWADDLE
    Выключить на несколько микросекунд мотор привода. Это может быть необходимо для получения доступа к диску, чьи сектора располагаются слишком близко друг к другу.

FDSETDRVPRM
    устанавливает различные параметры дисковода.

FDGETDRVPRM
    возвращает эти параметры.

FDGETDRVSTAT
    возвращает кэшированное состояние дисковода (диск сменен, защищен от записи и т. д.)

FDPOLLDRVSTAT
    обращается к диску и возвращает состояние дисковода.

FDGETFDCSTAT
    возвращает состояние контроллера гибких дисков.

FDRESET
    сбрасывает в начальное состояние контроллер гибких дисков при определенных условиях.

FDRAWCMD
    посылает команду в "сыром" виде (raw command) контроллеру гибких дисков.

Для более точной информации обратитесь также к include-файлам <linux/fd.h> и <linux/fdreg.h>, а также к странице руководства для floppycontrol.

ПРИМЕЧАНИЕ
Разные форматы позволяют читать и записывать многие типы дисков. Однако, если дискета отформатирована со слишком маленьким межсекторным промежутком, производительность может снизиться вплоть до того, что для доступа к дорожке может понадобиться до нескольких секунд. Во избежание этого, используйте перемежающий (interleaved) формат. Невозможно прочитать дискеты, отформатированные с использованием GCR (групповая запись кодов), которые используются компьютерами Apple II и Macintosh (диски 800k). Чтение аппаратно размеченных на секторы дискет (с отверстием на каждый сектор и слегка повернутым индексным отверстием) не поддерживается. Такими были старые 8-дюймовые дискеты.

ФАЙЛЫ
/dev/fd*

АВТОРЫ
Alain Knaff (Alain.Knaff@imag.fr), David Niemi (niemidc@clark.net), Bill Broadhurst (bbroad@netcom.com).

СМОТРИ ТАКЖЕ
floppycontrol(1), mknod(1), chown(1), getfdprm(1), superformat(1), mount(8), setfdprm(8)