Solaris' driver for OLYMPUS MO332S 2.50 on parallel port

Фрагмент кода посвящённый выдаче 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.


This page last updated on Jun 16, 2004. Established on Aug 15, 2002 Copyright © 2002-2004, Vitaly Filatov, Moscow, Russia
Webmaster