[sane-devel] Umax 1220P not detected with /dev/parport0

Ryan Harkin linux@harkin.org
Wed, 16 Oct 2002 21:09:14 +0100


Hi,
I have a Umax 1220P parallel port scanner that I have sucessfully install=
ed=20
with SuSE 7.2 to use /dev/parport0 as both root and normal user.

Now I am trying to get it to work with a newer distro and wondered if som=
eone=20
could help out.  And I realise that you all have work to do on 1.0.9!

I have tried SuSE 8.0, Mandrake 9.0 and now RedHat 8.0.  In all cases I c=
an=20
only get it to work using directio (port 0x378) and not when I use ppdev=20
(port /dev/parport0).

I have spoken to Henning a couple of times on IRC (as "omnium") and he wa=
s=20
very helpful in getting my SuSE 7.2 setup working.  However, he advised m=
e to=20
post to the list with this latest problem.  I have copied "stefdev" too,=20
though I guess he subscribes to this list!

Here's what I've done so far.

I've made sure that the parport_pc and ppdev modules are installed:

  # /sbin/modprobe parport_pc
  # /sbin/modprobe ppdev

Then I have built the 1.0.8 backend, patched with the latest Umax 1220P p=
atch=20
from sourceforge (note: I get exactly the same results with 1.0.9-pre1):

  $ tar -zxvf ~/sane-backends-1.0.8.tar.gz  &> ~ryan/doc/untar-backends.t=
xt
  $ zcat ~ryan/umax1220p-2.16.gz | patch -p1 &> ~ryan/doc/patch-backends.=
txt
  $ ./configure --enable-parport-directio &> ~ryan/doc/configure-backends=
=2Etxt
  $ make &> ~ryan/doc/make-backends.txt
  $ su
    (entered root password)
  # tools/umax_pp -p -t 1

    [sanei_debug] Setting debug level of umax_pp_low to 1.
    [umax_pp_low] sanei_umax_pp_InitPort(0x378,(null))
    UMAX 1220P scanning program version 2.10 starting ...
    ppdev character device built-in.
    direct hardware access built-in.
    Probing scanner ....
    [umax_pp_low] UMAX Astra 1220/1600/2000 P ASIC detected (mode=3D7)
    [umax_pp_low] SlowNibbleRegisterRead: found 0x20 expected 0x0 \
    (umax_pp_low.c:4757)
    [umax_pp_low] 32 bits EPP data transfer
    [umax_pp_low] Count-down value is 0xCF  (umax_pp_low.c:5184)
    [umax_pp_low] Scanner init done ...
    [umax_pp_low] Probe done ...
    [umax_pp_low] ReleaseScanner() done ...
    [umax_pp_low] End session done ...
    [umax_pp_low] InitTransport1220P done ...
    [umax_pp_low] Park command issued ...
    [umax_pp_low] ReleaseScanner() done ...
    [umax_pp_low] End session done ...
    UMAX Astra 1220P detected

  # tools/umax_pp -p -t 1 -n /dev/parport0
    UMAX 1220P scanning program version 2.10 starting ...
    ppdev character device built-in.
    direct hardware access built-in.
    Probing scanner ....
    [umax_pp_low] UMAX Astra 1220/1600/2000 P ASIC detected (mode=3D7)
    [umax_pp_low] SlowNibbleRegisterRead: found 0x20 expected 0x0 \=20
    (umax_pp_low.c:4757)
    [umax_pp_low] 32 bits EPP data transfer
    [umax_pp_low] Count-down value is 0xCF  (umax_pp_low.c:5184)
    [umax_pp_low] Scanner init done ...
    [umax_pp_low] Probe done ...

Then the process hangs indefinitely.  OK, so to get some debug, I install=
 SANE=20
and test using scanimage:

  # make install &> ~ryan/doc/makeinstall-backends.txt
  # ldconfig
  # vi /usr/local/etc/sane.d/dll.conf
  [I remove the # from #umax_pp]

  # SANE_DEBUG_UMAX_PP=3D255 scanimage -L
  [sanei_debug] Setting debug level of umax_pp to 255.
  [umax_pp] init: SANE_Auth_Callback not supported (yet) ...
  [umax_pp] init: SANE v1.0.8, backend v1.0.8-devel
  [umax_pp] init: evaluating option <option buffer 2097152>
  [umax_pp] init: option buffer 2097152
  [umax_pp] init: setting global option buffer to 2097152
  [umax_pp] init: trying port `0x378'
  [umax_pp] attach(0x378)
  [umax_pp_low] SlowNibbleRegisterRead: found 0x20 expected 0x0 \
  (umax_pp_low.c:4757)
  [umax_pp] attach: device 0x378 attached
  [umax_pp] get_devices
  [umax_pp] unused arg: local_only =3D 0
  device `umax_pp:0x378' is a UMAX Astra 1220P flatbed scanner
  [umax_pp] sane_exit: (...)

So now I modify /usr/local/etc/sane.d/umax_pp.conf to change the port to =
"port=20
/dev/parport0" and re-run scanimage with no luck:

  # SANE_DEBUG_UMAX_PP=3D255 scanimage -L
  [sanei_debug] Setting debug level of umax_pp to 255.
  [umax_pp] init: SANE_Auth_Callback not supported (yet) ...
  [umax_pp] init: SANE v1.0.8, backend v1.0.8-devel
  [umax_pp] init: evaluating option <option buffer 2097152>
  [umax_pp] init: option buffer 2097152
  [umax_pp] init: setting global option buffer to 2097152
  [umax_pp] init: trying port `/dev/parport0'
  [umax_pp] attach(/dev/parport0)
  [umax_pp_low] SlowNibbleRegisterRead: found 0x20 expected 0x0 \
  (umax_pp_low.c:4757)  <-- ln 4588 with 1.0.9-pre1

=2E.. and then it hangs.

Does anyone have any idea of where I would start to solve this problem?

Help is very much appreciated.

Thanks for your time and sorry for sending such a long email.

Ryan.