___ __
/\_ \ /\ \
_____ __ _____ ____\//\ \ __ ___ \_\ \
/\ '__`\ /'__`\/\ '__`\ /',__\ \ \ \ /'__`\ /' _ `\ /'_` \
\ \ \L\ \/\ __/\ \ \L\ \/\__, `\ \_\ \_/\ \L\.\_/\ \/\ \/\ \L\ \
\ \ ,__/\ \____\\ \ ,__/\/\____/ /\____\ \__/.\_\ \_\ \_\ \___,_\
\ \ \/ \/____/ \ \ \/ \/___/ \/____/\/__/\/_/\/_/\/_/\/__,_ /
\ \_\ \ \_\
\/_/ \/_/ This site is powered by FreeBSD
[........................................................................00009.]
НАСТРОЙКА IOMEGA ZIP 100 LTP В ОПЕРАЦІЙНІЙ СИСТЕМІ FREEBSD.
Revision 0.1 від 03:38:15, субота, 14 Жовтня 2000 р.
Я думаю, навряд чи хтось буде заперечувати той факт, що дисководи 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)
Посилання, по яких написаний FAQ:
Iomega company site.
Інформація про паралельні порти
Інформація про LTP ZIP
Інформація про USB ZIP
FreeBSD hardware FAQ
FreeBSD ZIP hardware FAQ
Драйвер ZIP для версій ядра 2.x.x
(c) Roman Y. Bogdanov, 2000. All right and trademarks reserverd.
[.copyright.©.1997-2000.by.roman.y.bogdanov.................( peps37@ktk.ru ).]
Переклад - Olexandr Slobodyan 18.I.2002
|