Документация по ОС FreeBSD Воскресенье, 05.05.2024, 19:47
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Работа с железом

Настройка IOMEGA ZIP 100 LTP в операционной системе FreeBSD
Я думаю, вряд ли кто-нибудь будет оспаривать тот факт, что дисководы Iomega ZIP - вещь удобная и полезная. Мой дисковод ZIP с интерфейсом LPT - самый медленный в семействе, однако, имеет преимущество мобильности, т.е. возможности простого подключения к любому компьютеру типа PC, что делает его удобным средством транспортировки данных. Приводимые здесь советы являться результатами двухчасового употребления чая за чтением man'уалов и how-to по операционной системе FreeBSD и настройке в ней ZIP дисководов. FreeBSD поддерживает устройства Zip, работающие через параллельный порт, начиная с версии 3.0. Устройству ZIP может быть назначен SCSI ID только 5 или 6. Я не знаю, насколько хорошо FreeBSD поддерживает смену носителя во время работы, но компания Iomega предупреждает, что не стоит вытаскивать носитель или отключать устройство во время передачи данных (довольно естественное требование, не правда ли?). Конечно, чтобы сменить диск, вам сначала нужно его размонтировать, и обратите внимание на то, что при загрузке все внешние устройства должны быть включены, чтобы FreeBSD могла их распознать. Так что распаковываем устройство, подключаем входящий в комплект кабель к параллельному порту и к разъему на устройстве, втыкаем сетевой шнур, после чего включаем компьютер. Загружаемся в FreeBSD и начинаем править ядро. Проверьте, содержит ли ваше ядро драйверы для scbus0, da0, ppbus0 и vp0 (ядро GENERIC содержит всё это, кроме vp0). Если эти драйверы имеются, то устройство должно быть доступно как /dev/da0s4. Диски могут быть смонтированы командами mount /dev/da0s4 /mnt или (для дисков DOS) mount_msdos /dev/da0s4 /mnt соответственно. На всякий случай заглянем в LINT и посмотрим, что есть на эту тему там:

# Parallel-Port Bus
#
# Parallel port bus support is provided by the `ppbus' device.
# Multiple devices may be attached to the parallel port, devices
# are automatically probed and attached when found.
#
# Supported devices: # vpo Iomega Zip Drive
# Requires SCSI disk support ('scbus' and 'da'), best
# performance is achieved with ports in EPP 1.9 mode. device ppc0 at isa? irq 7 device vpo

Вписываем эти строки, собираем новое ядро и у нас появился ZIP. Он работает, но очень медленно и грузит систему. Дело в том, что ZIP может вести обмен через параллельный порт на одной из трех скоростей. По умолчанию из соображений совместимости устанавливается минимальная скорость. Драйвер, если его научить, смотрит, какой тип параллельного порта стоит на компьютере (bidirectional, EPP) и соответствующим способом устанавливает скорость обмена. Смотрим, как это сделать в нашем любимом man ppc:
During the probe phase, ppppcc detects parallel port chipsets and initializes private data according to their operating mode: COMPATIBLE, NIBBLE, PS/2, EPP, ECP and other mixed modes. If a mode is provided at startup through the flags variable of the boot interface, the operating mode of the chipset is forced according to flags and the hardware supported modes. Supported flags And any mixed values. bit 4: EPP protocol (0 EPP 1.9, 1 EPP 1.7) bit 5: activate IRQ (1 IRQ disabled, 0 IRQ enabled) bit 6: disable chipset specific detection bit 7: disable FIFO detection

Теперь, если мы поставим флаг 0x40 на наш pppc0 то у нас должна появиться поддержка стандарта EPP. Добавляем ее в ядро. Например, вот так, выглядит описания параллельного порта моей рабочей станции, в виду отсутствия принтера.

# Parallel port (my Iomega Zip 100Mb LPT drive) device ppc0 at isa? flags 0x40 irq 7 device ppbus # Parallel port bus (required) device vpo
# Requires scbus and da

Ещё одна важная деталь. Я забыл, что подключение ZIP дисковода происходит через SCSI эмуляцию. В ядре есть опция, которая отвечает за задержку в секундах перед началом инициализации SCSI периферии. А так, как SCSI винтов в моей системе нет, строчка "before probing SCSI" у меня не появлялась, и я думал, почему ядро зависает на 15 секунд, при инициализации ZIP дисковода. Вы можете смело поставить в ядро нижеследующую опцию и жить спокойно:
options SCSI_DELAY=1000
#Delay (in ms) before probing SCSI

Ну что же, можно сказать, что настройка завершилась, новое ядро собрано, теперь смотрим на результат нашей работы:
ppc0: at port 0x378-0x37f irq 7 flags 0x40 on isa0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold vpo0:
on ppbus0
vpo0: EPP 1.9 mode da0 at vpo0 bus 0 target 6 lun 0
da0: Removable Direct Access SCSI-2 device
da0: 96MB (196608 512 byte sectors: 64H 32S/T 96C)

(c) roman y. bogdanov
Категория: Работа с железом | Добавил: oleg (30.11.2007)
Просмотров: 1099 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
links

Copyright MyCorp © 2024