[sane-devel] sane: umax_pp driver - problems scanning at 600 dpi

eze_panda_mostang_sane_devel@ezel.mailshell.com eze_panda_mostang_sane_devel@ezel.mailshell.com
Wed, 24 Oct 2001 22:30:28 -0300


Hi!

I cannot make sane to scan satisfactorily when resolution is >= 600 dpi in my UMAX Astra 2000P.

The image returned is:

- ok at the beginning: let's say the first 200 vertial pixels of the image look ok. However, the scan has some 'garbage' at the very beginning (some black lines), where the image should not have that number of black lines

- from that point on (@ vertical pixel 200), the image look somehow screwed-up in 'phases'. The anomalities are: color, missing scan lines (parts of the original image are not in the resulting scan)

- the resulting scan is, thus, 'smaller' than requested (it has a large white portion at the botom)

Looking at xsane output, it seems that the scanner (that's what it seems) is not responding fast enough, or that the application (umax_pp_low?) is not sending commands as fast as needed by the scanner. All (almost?) the errors show up in SendLength() function (umax_pp_low.c), where 'sync is needed' and in other cases.

I've tried both with irq enabled and disabled for the port. No changes noticed here.

Everything works just fine at 300 dpi.

umax_pp tool scan produces, as you say in sourceforge's pages, a splitted scan (switched vertical sides). I don't have a problem with this, as I am intending to use sane's backend from xsane frontend.

I don't know if I 'should' be using kernel 2.4.x in order to take advantage of ECP (and dma), but I just can't switch to kernel 2.4.x right now (I'm waiting for a rcf version that supports iptables and 2.4.x features), so all I've got is this 2.2.19 kernel.

I really need to scan at 600x600 and 1200x600 (at least) with my scanner, and 300x300 is just not good enough.

Do you have any ideas? I need help with this, please!


I am using:

- umax_pp source patch on sane-1.0.5
- xsane-0.75-ximian.2
- linux kernel 2.2.19 (parallel port support built as module)
- XFree86-4.0.3-5, Ximian GNOME desktop (gnome-core-1.4.0.4-ximian.5)
- vnc-server-3.3.3r2-14

- Intel Pentium-II @333 MHz, 416 Mb RAM
- scanner: UMAX Astra 2000P
- parallel port onboard, 0x378, irq 7, EPP version 1.7 (not ECP, just EPP). Everything look right in /proc/parport/0/hardware
- no other devices attached to the scanner


---[ output of xsane ]--->

[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0xE8 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0xE9 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0xEB (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0xEC (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0xEC (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] Unexpected reg19=0xD0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x2E (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x2E (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x2D (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x40 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x6B (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x60 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x67 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x67 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x66 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x63 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x62 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] Unexpected reg19=0xD0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x6A (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x6B (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x6D (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x6B (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x6A (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x68 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x63 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x80 (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] SendLength failed, expected reg & 0x10=0x10 , found 0x6B (umax_pp_low.c:2714)
[umax_pp_low] Retrying ...
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] Unexpected reg19=0xD0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] Unexpected reg19=0xD0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] Unexpected reg19=0xD0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)
[umax_pp_low] Unexpected reg19=0xD0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] Unexpected reg19=0xC0  (umax_pp_low.c:2736)
[umax_pp_low] SendLength retry success (retry 6 times) ... (umax_pp_low.c:2842)

<---[ output of xsane ]---

Thanks and regards,


   Ezequiel Valenzuela