Re: Sane0.71 questions

Michael Polo (mikep@Polo.NET)
Tue, 14 Apr 1998 13:10:36 -0700

Hi JP,

(I'm copying this to the list in the hope that it can help
other people)

> I've read your articles in the sane
> discussion board and it seems to me that
> your are an expert !

no way - just wanted a scanner working on my system!

> I have some questions concerning sane and solaris.
>
> On my sparc IPX running Solaris2.5.1, i have
> compiled Sane0.71 succesfully with some hints
> from you (the gtk_tooltips etc...), but
> now having the executables nothing happens.
>
> Oh, the scanner attached at target id 1 is
> a mustek 1200SP firmware rev. 1.07.

I have a UMAX scanner, so hopefully my help will apply, but there's
a chance it might not.

> Ok, 'probe-scsi' in the boot monitor
> shows me the scanner(id 1), and two harddisks(id 3,6),
> the generic scsi-driver from J.Schilling is installed, also
> the required lib's(gtk,gdk,gimp.h...) and the gimp.
>
> Now find-scanner finds nothing at all and
> xscanimage only shows '[snapscan] mini-inquiry:operation not applicable'
> and 'add_device: device not available' something like this.
>
> If i type 'find-scanner /dev/scg0b' it gives someth. like
>
> 'found disk" "' , but no scanner
>
> and 'xscanimage /dev/scg0b' shows a little window saying 'invalid argument'
>
>
>
> Do you have any help,advice for me, please respond to me .
>
> TIA
>
> Greetings J.P.Meyer

I guess it could be a couple of things. I've gotten the
'invalid argument' stuff plenty of times.

Here are some things to check/try to get sane going:

- make sure you're using the correct device name.
my scanner is configured for scsi unit 4, this is /dev/scg0e,
NOT /dev/scg0d (unit 0 is /dev/scg0a, etc...)

I know you have this right: unit 1 is indeed /dev/scg0b

- edit /usr/local/etc/sane.d/dll.conf and edit out every line
but the one for your scanner

- edit /usr/local/etc/sane.d/mustek.conf and change /dev/scanner
to /dev/scg0b

- you can also try to specify the device type explicitly:
xscanimage mustek:/dev/scg0b

you can also use scanimage, it shouldn't depend on getting
xscanimage to build under gtk.

scanimage -d mustek:/dev/scg0b

for a network device, it would be something like:
scanimage -d net:systemname:umax:/dev/scg0e

I think if using these naming conventions work, but using
xscanimage or scanimage without arguments fails, then
your config files in /usr/local/etc/sane.d are screwed up.

It took me a while to figure out why xscanimage under gimp
was only showing pnm:0 and pnm:1. Getting the config files
right fixed this.

for network scanning, don't forget to create a
/usr/local/etc/sane.d/saned.conf file - it doesn't exist, but
it's required.

- turn off scanner, reboot your system. (stupid, but seemed
to work for me a few times). see if that helps. It helped
me once or twice.

and finally, you can rebuild sane:

- make sure that the scg driver is installed *FIRST*
sane's configure checks for the file
/usr/include/sys/scsi/targets/scgio.h
and doesn't add SCG support unless it is there.

that could cause your 'invalid argument' stuff.

- install gnu make. I installed it as 'gmake' to avoid confusion
sane doesn't compile with the standard sun make or 'dmake' from
the sun workshop compiler.

- install gcc. (It helps)

- get the latest sane (I used 0.72) AND the latest gtk (I used 0.99.10)

(because I don't remember all the tweaks I did for 0.71 and wouldn't
be able to give full instructions again)

- compile gtk:

cd <gtk directory>
./configure
make install

this will install in /usr/local - please do this. I can't know
if it will work if you install into another directory. I don't
think it will work.

- modify sane-0.72/sanei/sanei_pio.c, replacing this function:

int
sanei_pio_open (const char *dev, SANE_Status * status)
{
*status = SANE_STATUS_INVAL;
return -1;
}

with this one:

SANE_Status
sanei_pio_open (const char *dev, int *fdp)
{
*fdp = -1;
return SANE_STATUS_INVAL;
}

(you'll find it around line 522)

- change line 32 sane-0.72/ltconfig, otherwise the sun 'printf'
function segfaults way down in the middle of libtool.

from:
echo=echo

---

to: echo=${SANE_BUILD_ECHO:-echo}

- in the sane directory, build sane:

SANE_BUILD_ECHO=/usr/ucb/echo export SANE_BUILD_ECHO ./configure gmake gmake install

- then edit /usr/local/etc/sane.d/dll.conf, commenting out every line but the one for your scanner - edit /usr/local/etc/sane.d/<yourscanner>.conf, changing the /dev/scanner stuff to /dev/scg0<unit> - should work.

Good Luck, (hope I didn't forget anything!)

Mike Polo

--
Source code, list archive, and docs: http://www.mostang.com/sane/
To unsubscribe: echo unsubscribe sane-devel | mail majordomo@mostang.com