On-Line Библиотека www.XServer.ru - учебники, книги, статьи, документация, нормативная литература.
       Главная         В избранное         Контакты        Карта сайта   
    Навигация XServer.ru


Свежая информация сайт грузоперевозок по россии на нашем сайте.





 

НАСТРОЙКА 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: <Parallel port> 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: <Iomega VPI0 Parallel to SCSI interface> on ppbus0
    vpo0: EPP 1.9 mode
    da0 at vpo0 bus 0 target 6 lun 0
    da0: <IOMEGA ZIP 100 J.03> Removable Direct Access SCSI-2 device 
    da0: 96MB (196608 512 byte sectors: 64H 32S/T 96C)


Литература по FreeBSD