[sane-devel] New version of the Plustek backend

Henning Meier-Geinitz henning@meier-geinitz.de
Mon, 11 Mar 2002 22:43:37 +0100


Hi,

On Sun, Mar 10, 2002 at 05:00:30PM +0100, Jaeger, Gerhard wrote:
> I've currently updated the Plustek backend in the CVS. The main features
> are:
> 
> -support of custom gamma tables
> -support of the HP2100C (thanks to Craig Smoothey)
> -support of the UMAX3400 (thanks to Allan Hessenflow)
> -support of the EPSON1250 (thanks Gene Heskett)
> -spanish backend translation (thanks Gustavo Vranjes)
> 
> Please checkout and test if this update breaks the support of
> any devices supported prior to this (esp. Mustek Bearpaw and
> HP2200C, as I don't have these devices)

I plugged in my two BearPaws, didn't change the default plustek.conf
and tried scanimage -L as root:

[...]
[plustek] Scanner information:
[plustek] Model  : BearPaw 1200
[plustek] Asic   : 0x42
[plustek] Flags  : 0x00000206
[plustek] Version: 0x00000000
[plustek] drvclose()
[plustek] usbDev_stopScan(mode=0)
[plustek] usbDev_ScanEnd(), start=0, park=0
[plustek] usbDev_close()
[plustek] attach: model = >BearPaw 1200<
[plustek] sane_get_devices (0xbffff868, 0)
device plustek:/dev/usbscanner' is a Mustek BearPaw 1200 USB flatbed scanner
[plustek] sane_exit
[plustek] Shutdown called (dev->fd=-1, /dev/usbscanner)
[plustek] Waiting for scanner-ready...
[plustek] Lamp-Timer stopped
Segmentation fault

If I use [usb] 0x0400 0x1000 instead of only [usb] no segfault occurs.
Also no segfault if I run as normal user. I have no idea why.

If I change the config file to use the two scanners, I also get a
segfault (this time as normal user and using xsane):

[plustek] sane_init, ><
[plustek] sane_init, >#<
[plustek] sane_init, ># and of course the device-name<
[plustek] sane_init, >#<
[plustek] sane_init, >device /dev/usb/scanner0<
[plustek] Decoding device name >/dev/usb/scanner0<
[plustek] sane_init, ><
[plustek] sane_init, >#<
[plustek] sane_init, ># to define a new device, start with a new
section:<
[plustek] sane_init, ># [usb] or [parport]<
[plustek] sane_init, >#<
Speicherzugriffsfehler

I just copied the original entries for [usb] and only changed the
first device to /dev/usb/scanner1. If I only add vendor/device ids to
the first [usb] entry, no segfault occurs.

Scanning works ok with both scanner as with the earlier plustek
backends, but I haven't done many tests.

One time when I tried to scan with xsane I got a weird result: I did a
a color scan with xsane in 300 dpi (height = 15 cm), the scanner
stopped thre times at about 10, 11 and 12 cm and then the system
became completely locked for about 10 seconds. after this, xsane
wasn't there anymore and I got a "Getötet" (=terminated?) message.
Last messages from Plustek: 

[plustek] Skipping 6 lines
[plustek] usb_ScanReadImage()
[plustek] usb_IsDataAvailableInDRAM()
[plustek] Data is available
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usb_ScanReadImage()
[plustek] usb_ScanReadImage() done, result: 0
[plustek] Discarding 4 lines
[plustek] usb_ReadData()
[plustek] usb_ScanReadImage()
[plustek] usb_ScanReadImage() done, result: 0
[plustek] usb_ReadData()

The last three messages are repeated several times. syslog reveled an
oom situation:

Mar 11 22:23:10 hmg1 kernel: Out of Memory: Killed process 1294 (xsane).
Mar 11 22:23:13 hmg1 kernel: Out of Memory: Killed process 1298 (xsane).
Mar 11 22:23:13 hmg1 kernel: Out of Memory: Killed process 31177 (gnome-terminal).

However, I couldn't reproduce it later and I think it's a result from
playing with the config file.

By the way: I haven't to look into optimising the Bearpaw 1200
calibration and gamma settings, but this will take some time. I also
looked into the wait_ready (or whatever) function, but couldn't find
out yet why it freezes for the lm9831.

Bye,
  Henning