2002-06-11 19:51:12 +00:00
|
|
|
2002-06-11
|
|
|
|
|
|
|
|
Currently, only SCSI scanners are supported on Solaris. The following text
|
|
|
|
describes, how to use a SCSI scanner.
|
1999-08-09 18:06:01 +00:00
|
|
|
|
|
|
|
You need a generic SCSI driver to run SANE on Solaris. There are at
|
2001-05-01 21:08:45 +00:00
|
|
|
least three such drivers: the scg driver by Joerg Schillig, the
|
|
|
|
sg driver by Kevin Sheehan, and starting with Solaris 8 Sun's own
|
|
|
|
sgen(7D) driver.
|
1999-08-09 18:06:01 +00:00
|
|
|
|
|
|
|
NOTE: You should install the SCSI generic driver BEFORE you run
|
|
|
|
`configure' in the sane directory---otherwise configure won't set up
|
|
|
|
SANE to work with the generic scsi driver.
|
|
|
|
|
|
|
|
*** scg driver
|
|
|
|
|
|
|
|
The SCSI general driver scg is
|
|
|
|
|
|
|
|
Copyright 1986-1995 Joerg Schilling,
|
|
|
|
|
|
|
|
It is supplied binary in pkgadd(1m) format and is tested from Solaris
|
|
|
|
2.3 to Solaris 2.6 (sparc) and Solaris 2.3 to Solaris 2.5.1 (x86). It
|
|
|
|
can be found in
|
|
|
|
|
|
|
|
ftp://ftp.fokus.gmd.de/pub/unix/kernel/scg/
|
|
|
|
|
|
|
|
To install it on a SPARC do:
|
|
|
|
|
|
|
|
cd /tmp
|
|
|
|
get SCHILYscg.sparc.tar.Z
|
|
|
|
uncompress SCHILYscg.sparc.tar.Z
|
|
|
|
tar -xvf SCHILYscg.sparc.tar
|
|
|
|
as root:
|
|
|
|
pkgadd -d .
|
|
|
|
|
|
|
|
NOTE: Be very careful with pkgadd as it does not check for the correct
|
|
|
|
target architecture. Do not install drivers for x86 on sparc
|
|
|
|
and vice versa. You will get a corrupt system otherwise.
|
|
|
|
|
|
|
|
For Solaris on an x86 do:
|
|
|
|
|
|
|
|
cd /tmp
|
|
|
|
get SCHILYscg.i386.tar.Z
|
|
|
|
uncompress SCHILYscg.i386.tar.Z
|
|
|
|
tar -xvf SCHILYscg.i386.tar
|
|
|
|
as root:
|
|
|
|
pkgadd -d .
|
|
|
|
|
|
|
|
Then do a reboot --r
|
|
|
|
|
|
|
|
Once the system has rebooted, there should be a device node /dev/scgXX
|
|
|
|
for each of your SCSI adapters (/dev/scg0 for the first adapter,
|
|
|
|
/dev/scg1 for the second, and so on...)
|
|
|
|
|
|
|
|
Because the device name specifies a SCSI adapter, you need to use a
|
|
|
|
special device naming syntax so SANE can tell which device you want to
|
|
|
|
talk to. If the device is at SCSI id 0, the character 'a' should be
|
|
|
|
appended, character 'b' should be used for SCSI id 1, and so on
|
|
|
|
(see also the Solaris section in sane-scsi(5)).
|
|
|
|
|
|
|
|
E.g., to configure an HP scanner, configuration file
|
|
|
|
/opt/local/etc/sane.d/hp.conf might contain:
|
|
|
|
|
|
|
|
/dev/scg0c if the scanner has the SCSI target id 2
|
|
|
|
|
|
|
|
WARNING! Everybody who can read/write a generic SCSI device can do
|
|
|
|
with all your disks whatever he/she wants. It takes only a few lines
|
|
|
|
of code to send a FORMAT control block... Rather than giving users
|
|
|
|
access to the SCSI adapter special device, it may be a better idea to
|
|
|
|
install scanimage/xscanimage setgid to a special "scanner" group and
|
|
|
|
then turn on write permission for the scanner group.
|
|
|
|
|
|
|
|
*** sg driver
|
|
|
|
|
|
|
|
Another solution to the permission problem is to use the generic SCSI
|
|
|
|
driver sg by Kevin Sheehan. This driver is not free but uses separate
|
|
|
|
device node for each SCSI target:
|
|
|
|
|
|
|
|
/dev/sg/0, /dev/sg/1, ...
|
|
|
|
|
|
|
|
This allows to control device access on a per-device basis.
|
|
|
|
|
2001-05-01 21:08:45 +00:00
|
|
|
*** sgen driver
|
|
|
|
|
|
|
|
The solaris 8 sgen driver must be configured before it can be used.
|
|
|
|
See /kernel/drv/sgen.conf and the manual page sgen(7D).
|
|
|
|
|
|
|
|
The minimal config includes defining the correct
|
|
|
|
"device-type-config-list" property in /kernel/drv/sgen.conf. The
|
|
|
|
typical SCSI device type for a scanner is either "scanner" or
|
|
|
|
"processor". You can optionally restrict the devices sgen attaches to,
|
|
|
|
by defining the "inquiry-config-list" property. You also have to
|
|
|
|
uncomment the scanner's "target/lun" entry, so that the sgen driver is
|
|
|
|
allowed to attach to the SCSI scanner hardware.
|
|
|
|
|
|
|
|
After the configuration file /kernel/drv/sgen.conf is set up for the
|
|
|
|
scanner, run the command "devfsadm -v -i sgen" to create sgen device
|
|
|
|
nodes for the scanner. In case you need to rerun devfsadm to
|
|
|
|
incorporate changes to the sgen.conf file, make sure the sgen driver
|
|
|
|
is unloaded from the kernel before you re-run devfsadm. The driver is
|
|
|
|
unloaded using the "modunload -i {id}" command; the {id} of the sgen
|
|
|
|
driver can be determined with the modinfo command.
|
|
|
|
|
|
|
|
|
|
|
|
The device nodes use names of the following form:
|
|
|
|
|
|
|
|
/dev/scsi/device-type/cXtXdX
|
|
|
|
|
|
|
|
Example: A HP Scanjet 4c (SCSI device type: "processor") on controller
|
|
|
|
#1, target #6, lun #0 uses the device name
|
|
|
|
|
|
|
|
/dev/scsi/processor/c1t6d0
|
|
|
|
|
|
|
|
/kernel/drv/sgen.conf contains:
|
|
|
|
|
|
|
|
device-type-config-list="processor";
|
|
|
|
name="sgen" class="scsi" target=6 lun=0;
|
|
|
|
|
|
|
|
|
|
|
|
|
1999-08-09 18:06:01 +00:00
|
|
|
If you have questions or problems with the Solaris support in SANE,
|
|
|
|
send mail to:
|
|
|
|
|
|
|
|
hu@garfield.m.isar.de
|