fd(4) устройство для работы с дисководом

НАСТРОЙКА

Дисководы гибких дисков — это блочные устройства со старшим номером 2. Обычно их владельцем является root.floppy (т.е. пользователь root, группа floppy), а права доступа к ним — 0660 (доступно членам группы) или 0666 (доступно всем). Младшим номером определяется тип устройства, номер устройства и номер контроллера. Для каждого типа устройства, то есть комбинации объёма и количества дорожек, существует базовый младший номер. К этому базовому номеру прибавьте номер устройства в пределах его контроллера и ещё 128, если дисковод подключен к вторичному контроллеру. В нижеследующих таблицах n означает номер дисковода.

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

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

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

fdn0

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

ИмяЁмк.Цил.Сек.ГоловокБазовый младший #

fdnd360360K40924

Файлы устройств с носителями 5.25 дюймов повышенной плотности:

ИмяЁмк.Цил.Сек.ГоловокБазовый младший #

fdnh360360K409220
fdnh410410K4110248
fdnh420420K4210264
fdnh720720K809224
fdnh880880K8011280
fdnh12001200K801528
fdnh14401440K8018240
fdnh14761476K8218256
fdnh14941494K8318272
fdnh16001600K8020292

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

ИмяЁмк.Цил.Сек.ГоловокБазовый младший #

fdnu360360K809112
fdnu720720K809216
fdnu800800K80102120
fdnu10401040K8013284
fdnu11201120K8014288

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

ИмяЁмк.Цил.Сек.ГоловокБазовый младший #

fdnu360360K409212
fdnu720720K809216
fdnu820820K8210252
fdnu830830K8310268
fdnu14401440K8018228
fdnu16001600K80202124
fdnu16801680K8021244
fdnu17221722K8221260
fdnu17431743K8321276
fdnu17601760K8022296
fdnu18401840K80232116
fdnu19201920K80242100

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

ИмяЁмк.Цил.Сек.ГоловокБазовый младший #

fdnu28802880K8036232
fdnCompaQ2880K8036236
fdnu32003200K80402104
fdnu35203520K80442108
fdnu38403840K80482112

ОПИСАНИЕ

Специальные файлы fd обеспечивают доступ к дисководам в режиме без обработки (raw mode). Устройства fd поддерживают следующие вызовы ioctl(2):
FDCLRPRM
Очищает информацию о носителе в дисководе (геометрию диска в дисководе).
FDSETPRM
Устанавливает информацию о носителе в дисководе. Информация о носителе потеряется, когда носитель будет сменён.
FDDEFPRM
Устанавливает информацию о носителе в дисководе (геометрию диска в дисководе). Информация о носителе не будет потеряна, когда носитель будет сменён. При этом автоопределение носителя будет выключено. Чтобы снова его включить, выполните FDCLRPRM.
FDGETDRVTYP
Возвращает тип дисковода (параметр имени). Для форматов, работающих на нескольких типах дисководов, FDGETDRVTYP возвращает имя, соответствующее самому старому типу дисковода, который поддерживает данный формат.
FDFLUSH
Объявляет недействительными данные буферного кэша указанного привода.
FDSETMAXERRS
Устанавливает пороговые значения для сообщения об ошибках, остановки действий, перекалибровки, сброса в начальное состояние и посекторного чтения.
FDSETMAXERRS
Возвращает текущие пороговые значения для ошибок.
FDGETDRVTYP
Возвращает внутреннее имя дисковода.
FDWERRORCLR
Очищает статистику ошибок записи.
FDWERRORGET
Читает статистику ошибок записи. Она включает общее число ошибок записи, расположение и диск, на котором произошла первая ошибка записи, и расположение и диск, на котором произошла последняя ошибка записи. Диски обозначаются генерирующимся числом, которое увеличивается на единицу при (почти) каждой смене диска.
FDTWADDLE
Выключает на несколько микросекунд мотор привода. Это может быть необходимо для получения доступа к диску, чьи сектора располагаются слишком близко друг к другу.
FDSETDRVPRM
Устанавливает различные параметры дисковода.
FDGETDRVPRM
Возвращает различные параметры.
FDGETDRVSTAT
Возвращает кэшированное состояние дисковода (диск сменён, защищён от записи и т. д.)
FDPOLLDRVSTAT
Обращается к дисководу и возвращает его состояние.
FDGETFDCSTAT
Возвращает состояние контроллера дисководов.
FDRESET
Сбрасывает в начальное состояние контроллер дисководов при определённых условиях.
FDRAWCMD
Посылает команду в необработанном виде (raw command) контроллеру дисководов.

За более точной информацией обратитесь также к файлам <linux/fd.h> и <linux/fdreg.h>, а также к справочной странице floppycontrol(1).

ФАЙЛЫ

/dev/fd*

ЗАМЕЧАНИЯ

Разные форматы позволяют читать и записывать многие типы дисков. Однако, если дискета отформатирована со слишком маленьким межсекторным промежутком, производительность может снизиться вплоть до того, что для доступа к дорожке может понадобиться несколько секунд. Во избежание этого, используйте перемежающиеся (interleaved) форматы.

Невозможно прочитать дискеты, отформатированные с использованием GCR (групповая запись кодов), которые используются компьютерами Apple II и Macintosh (диски 800k).

Чтение аппаратно размеченных на секторы дискет (с отверстием на каждый сектор и слегка повернутым индексным отверстием) не поддерживается. Такими были старые 8-дюймовые дискеты.