Фрагмент кода посвящённый выдаче scsi команд по параллельному
порту был разработан на базе программы
|
Module of code which is related with parallel/scsi interface was
made on the base of program
|
epst.c (c) 1996-1999 Grant Guenther
This is the ppSCSI protocol module for the Shuttle
Technologies EPST parallel port SCSI adapter.
|
входящей в состав математического обеспечения OS Linux.
|
which is a part of OS Linux software.
|
Загрузите архивный файл, создайте директорию и распакуйте архив
в этой директории. Вы должны будете получить файлы:
|
Load archive, create directory and unpack archive in this directory.
You will obtain the following files:
|
$ ls -l
total 100
-rw-r--r-- 1 vitaly users 12589 Sep 6 2001 README
-rwxr-xr-x 1 vitaly users 640 Sep 6 2001 add_driver
-rw-r--r-- 1 vitaly users 32620 May 13 11:04 mos332s
-rw-r--r-- 1 vitaly users 569 Sep 5 2001 mos332s.conf
-rwxr-xr-x 1 vitaly users 439 Sep 6 2001 rem_driver
|
Для установки драйвера выполните командный файл add_driver с привелегиями
пользователя root:
|
To install driver you must swap user to root and execute shell script add_driver:
|
$ su
Password:
# ./add_driver
exit status = 0
devfsadm[709]: verbose: mknod /devices/isa/mos332s@1,378:a,raw 0l/0l/20666
devfsadm[709]: verbose: mknod /devices/isa/mos332s@1,378:a 0l/0l/60666
devfsadm[709]: verbose: mknod /devices/isa/mos332s@1,378:b,raw 0l/0l/20666
devfsadm[709]: verbose: mknod /devices/isa/mos332s@1,378:b 0l/0l/60666
devfsadm[709]: verbose: mknod /devices/isa/mos332s@1,378:c,raw 0l/0l/20666
devfsadm[709]: verbose: mknod /devices/isa/mos332s@1,378:c 0l/0l/60666
Driver (mos332s) installed.
Driver will be valid only after rebooting. Please reboot.
|
Переведите компьютер в состояние 5 командой "init 5", выключите питание
компьютера, подсоедините кабель устройства OLYMPUS MO332S к
параллельному порту LPT1, включите OLYMPUS MO332S и включите
питание компьютера.
Войдите в BIOS-setup и, при необходимости, произведите настройку
параллельного порта на режим EPP.
Загрузите Solaris, контролируйте, что была произведена реконфигурация
устройств. Выполните команду, чтобы получить следующий вывод:
|
Then transfer computer to state 5, by typing "init 5" command, switch off
computer, attach OLYMPUS MO332S cable to port LPT1, switch on
OLYMPUS MO332S, switch on computer.
Enter into BIOS-setup and set EPP mode to port LPT1, if needed.
Load Solaris, check devices reconfiguration process during loading. Execute
command to produce the following output:
|
$ dmesg | grep mos332s
Sep 5 23:32:23 kisa mos332s: [ID 310653 kern.notice] epst 0.91, Shuttle EPST
at 0x378 mode 2 (PS/2).
Sep 5 23:32:23 kisa mos332s: [ID 205593 kern.notice] Target 4: Vendor 'OLYMPUS'
Product 'MOS332' Revision '2.50' found.
Sep 5 23:32:23 kisa isa: [ID 202937 kern.info] ISA-device: mos332s0
Sep 5 23:32:23 kisa genunix: [ID 936769 kern.info] mos332s0 is /isa/mos332s@1,378
|
Чтобы протестировать устройство вставьте дискету и выполните команды:
|
To test device, insert diskette into drive. Execute the following:
|
$ for i in a b c; do /usr/sbin/devinfo -i /devices/isa/mos332s@1,378:${i},raw; done
/devices/isa/mos332s@1,378:a,raw 0 0 25 512 3
/devices/isa/mos332s@1,378:b,raw 0 0 25 512 3
/devices/isa/mos332s@1,378:c,raw 0 0 25 512 3
$ for i in a b c; do /usr/sbin/devinfo -p /devices/isa/mos332s@1,378:${i},raw; done
/devices/isa/mos332s@1,378:a,raw 46 0 0 446300 0 0
/devices/isa/mos332s@1,378:b,raw 46 1 446300 25 0 0
/devices/isa/mos332s@1,378:c,raw 46 2 0 446325 0 0
$ /usr/sbin/prtvtoc /dev/diskette1
* /dev/diskette1 partition map
*
* Dimensions:
* 512 bytes/sector
* 25 sectors/track
* 1 tracks/cylinder
* 25 sectors/cylinder
* 17853 cylinders
* 17853 accessible cylinders
*
* Flags:
* 1: unmountable
* 10: read-only
*
* First Sector Last
* Partition Tag Flags Sector Count Sector Mount Directory
0 0 00 0 446300 446299
1 0 00 446300 25 446324
2 0 00 0 446325 446324
$ /usr/sbin/prtvtoc -f /dev/diskette1
FREE_START=0 FREE_SIZE=0 FREE_COUNT=0 FREE_PART=
|
Вы можете создать новую файловую систему на дискете с помощью команды
|
You can create new pcfs file system with a help of command
|
# /usr/sbin/mkfs -F pcfs -o 'N,v,nofdisk,size=446325' /dev/rdiskette1
|
Данное устройство управляется программой volume-manager, поэтому
можно пользоваться командами "volcheck" и "eject"
|
This device is under volume-manager control. You can use such commands
as "volcheck" and "eject"
|
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0d0s0 2227262 1249582 933135 58% /
/dev/dsk/c0d0p0:boot 10143 1647 8496 17% /boot
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 479692 4 479688 1% /var/run
swap 480016 328 479688 1% /tmp
/dev/dsk/c0d1p0:1 9995520 3473744 6521776 35% /disk_d
/dev/dsk/c0d0p0:1 4994432 4811092 183340 97% /disk_c
/dev/dsk/c0d0s7 2305358 725836 1533415 33% /export/home
$ volcheck
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0d0s0 2227262 1249584 933133 58% /
/dev/dsk/c0d0p0:boot 10143 1647 8496 17% /boot
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 479572 4 479568 1% /var/run
swap 479900 332 479568 1% /tmp
/dev/dsk/c0d1p0:1 9995520 3473744 6521776 35% /disk_d
/dev/dsk/c0d0p0:1 4994432 4811092 183340 97% /disk_c
/dev/dsk/c0d0s7 2305358 725836 1533415 33% /export/home
/vol/dev/diskette1/no_name
223388 208312 15076 94% /floppy/no_name
$ eject
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0d0s0 2227262 1249582 933135 58% /
/dev/dsk/c0d0p0:boot 10143 1647 8496 17% /boot
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 479680 4 479676 1% /var/run
swap 480004 328 479676 1% /tmp
/dev/dsk/c0d1p0:1 9995520 3473744 6521776 35% /disk_d
/dev/dsk/c0d0p0:1 4994432 4811092 183340 97% /disk_c
/dev/dsk/c0d0s7 2305358 725836 1533415 33% /export/home
|
Если Вы монтируете также и флоппи диск то укажите в этих командах имя устройства
|
If you mount floppy and MO-disk, set device name to volcheck command
|
$ eject
No default media available
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0d0s0 2227262 1249582 933135 58% /
/dev/dsk/c0d0p0:boot 10143 1647 8496 17% /boot
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 476152 4 476148 1% /var/run
swap 476476 328 476148 1% /tmp
/dev/dsk/c0d1p0:1 9995520 3473744 6521776 35% /disk_d
/dev/dsk/c0d0p0:1 4994432 4811092 183340 97% /disk_c
/dev/dsk/c0d0s7 2305358 725866 1533385 33% /export/home
$ volcheck
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0d0s0 2227262 1249584 933133 58% /
/dev/dsk/c0d0p0:boot 10143 1647 8496 17% /boot
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 476084 4 476080 1% /var/run
swap 476412 332 476080 1% /tmp
/dev/dsk/c0d1p0:1 9995520 3473744 6521776 35% /disk_d
/dev/dsk/c0d0p0:1 4994432 4811092 183340 97% /disk_c
/dev/dsk/c0d0s7 2305358 725866 1533385 33% /export/home
/vol/dev/diskette0/no_name#1
1423 964 459 68% /floppy/no_name#1
$ volcheck /dev/diskette1
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0d0s0 2227262 1249586 933131 58% /
/dev/dsk/c0d0p0:boot 10143 1647 8496 17% /boot
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 475960 4 475956 1% /var/run
swap 476292 336 475956 1% /tmp
/dev/dsk/c0d1p0:1 9995520 3473744 6521776 35% /disk_d
/dev/dsk/c0d0p0:1 4994432 4811092 183340 97% /disk_c
/dev/dsk/c0d0s7 2305358 725866 1533385 33% /export/home
/vol/dev/diskette0/no_name#1
1423 964 459 68% /floppy/no_name#1
/vol/dev/diskette1/no_name
223388 208312 15076 94% /floppy/no_name
$ eject /dev/diskette
/dev/rdiskette is busy (try 'eject floppy' or 'eject cdrom'?)
$ eject floppy
/vol/dev/rdiskette0/no_name#1 can now be manually ejected
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0d0s0 2227262 1249586 933131 58% /
/dev/dsk/c0d0p0:boot 10143 1647 8496 17% /boot
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 475960 4 475956 1% /var/run
swap 476292 336 475956 1% /tmp
/dev/dsk/c0d1p0:1 9995520 3473744 6521776 35% /disk_d
/dev/dsk/c0d0p0:1 4994432 4811092 183340 97% /disk_c
/dev/dsk/c0d0s7 2305358 725866 1533385 33% /export/home
/vol/dev/diskette1/no_name
223388 208312 15076 94% /floppy/no_name
$ eject floppy1
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0d0s0 2227262 1249582 933135 58% /
/dev/dsk/c0d0p0:boot 10143 1647 8496 17% /boot
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 476052 4 476048 1% /var/run
swap 476376 328 476048 1% /tmp
/dev/dsk/c0d1p0:1 9995520 3473744 6521776 35% /disk_d
/dev/dsk/c0d0p0:1 4994432 4811092 183340 97% /disk_c
/dev/dsk/c0d0s7 2305358 725866 1533385 33% /export/home
|
Если Вы включили OLYMPUS MO332S уже после того, как компьютер был
загружен, перестартуйте volume-manager и устройство станет доступно
(отметим, что в данном конкретном случае команду на останов
volume-manager пришлось выдать дважды):
|
If you switch on OLYMPUS MO332S after computer's booting, to make device
available you must restart volume-manager (in this particular case it
took to issue command to stop volume - manager twice):
|
$ su
Password:
# Sep 6 09:32:37 kisa su: 'su root' succeeded for vitaly on /dev/pts/5
/etc/init.d/volmgt stop
# Sep 6 09:33:05 kisa /usr/sbin/vold[511]: problem unmounting /vol; Resource
temporarily unavailable
/etc/init.d/volmgt stop
# /etc/init.d/volmgt start
volume management starting.
# Sep 6 09:33:29 kisa mos332s: epst 0.91, Shuttle EPST at 0x378 mode 2 (PS/2).
Sep 6 09:33:29 kisa mos332s: Target 4: Vendor 'OLYMPUS' Product 'MOS332'
Revision '2.50' found.
#
# $
$ volcheck
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0d0s0 2227262 1249613 933104 58% /
/dev/dsk/c0d0p0:boot 10143 1647 8496 17% /boot
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 482444 4 482440 1% /var/run
swap 482764 324 482440 1% /tmp
/dev/dsk/c0d1p0:1 9995520 3473744 6521776 35% /disk_d
/dev/dsk/c0d0p0:1 4994432 4811092 183340 97% /disk_c
/dev/dsk/c0d0s7 2305358 724379 1534872 33% /export/home
$ volcheck
$ df -k
Filesystem kbytes used avail capacity Mounted on
/dev/dsk/c0d0s0 2227262 1249615 933102 58% /
/dev/dsk/c0d0p0:boot 10143 1647 8496 17% /boot
/proc 0 0 0 0% /proc
fd 0 0 0 0% /dev/fd
mnttab 0 0 0 0% /etc/mnttab
swap 482244 4 482240 1% /var/run
swap 482568 328 482240 1% /tmp
/dev/dsk/c0d1p0:1 9995520 3473744 6521776 35% /disk_d
/dev/dsk/c0d0p0:1 4994432 4811092 183340 97% /disk_c
/dev/dsk/c0d0s7 2305358 724379 1534872 33% /export/home
/vol/dev/diskette1/no_name
223388 208312 15076 94% /floppy/no_name
|
Если диск смонтирован, то кнопка eject на устройстве блокируется.
Для извлечения диска используйте команду eject.
Если диск не извлекается, то остановите volume-manager, выключите питание
OLYMPUS MO332S, сделайте паузу и снова включите питание OLYMPUS MO332S,
извлеките диск с помощью копки eject и запустите volume-manager.
Устройство должно перейти в рабочее состояние.
Если Вы перестартовывали volume-manager, то может случиться, что Вам
понадобиться перестартовать и file-manager.
|
When diskette is mounted, driver blocks eject button, which is placed
on the device front panel. To eject diskette you must use "eject" command.
If "eject" command can't eject diskette then stop volume-manager,
switch off OLYMPUS MO332S, make pause, switch on OLYMPUS MO332S, eject
diskette by eject button, and start volume-manager again. The device
must be in operable state.
Sometimes you will need to restart file-manager also.
|
|