[sane-devel] Primax 400 (plustek_pp) only detected by kernel module

john john@pond-weed.com
Mon, 7 Feb 2005 19:31:28 +0000


On Mon, 7 Feb 2005 08:31:47 +0100
Gerhard Jaeger <gerhard@gjaeger.de> wrote:

> On Friday 04 February 2005 22:57, john wrote:
> > Hello,
> > 
> > I've got an antique "Primax 4800 Driect 30 bit" which is supported
> > by the plustek_pp module.
> > 
> > If I load the kernel module, everything works fine. But using the
> > [direct] user-mode driver, I get this from scanimage -L:
> > 
> > <snip>
> > [plustek_pp] Compare data=0x7f and status=0xf, port=0x0
> > [plustek_pp] p48xxReadWriteTest()
> > [plustek_pp] Can't find your model, asic = 0x77
> > [plustek_pp] detectScannerConnection() returns -9031.
> > [plustek_pp] ************* ASIC9800x *************
> > [plustek_pp] ResetPort()
> > [plustek_pp] IOInitialize()
> > [plustek_pp] * using readfunction >fnBiDirRead<
> > [plustek_pp] ASIC = 0x00
> > [plustek_pp] Unknown ASIC-ID
> > [plustek_pp] *** DETECTION DONE, result: -9020 ***
> > <snip>
> > No scanners were identified.
> > 
> > I've tested on Debian unstable (2.4 kernel) and Slackware current
> > (2.6 kernel) with the same results. Cn anyone point me to where I
> > should start looking for the problem?
> > 
> Hi,
> 
> this could be because of different timing behaviour, when accessing a
> device via kernel directly or via user-mode application. As you didn't
> send the complete debug stuff, I simply guess, that the parport didn't
> run in EPP mode (or is not detected correctly), please make sure to
> have it in EPP mode (check BIOS settings), also check the options for
> the parport_pc modules (no IRQ should be assigned)...

Gerhard,

Thanks for the suggestions. Sadly, it's still not working. Here's the
complete debugging output from "scanimage -L". My apologies to the list
for posting such a long message.

John

========

[sanei_debug] Setting debug level of plustek_pp to 10.
[plustek_pp] PlustekPP backend V0.43-5, part of sane-backends 1.0.15
[plustek_pp] ># Plustek-PP SANE Backend configuration file<
[plustek_pp] ># For use with Plustek parallel-port scanners<
[plustek_pp] >#<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># user either [direct] or [kernel] to access the scanner<
[plustek_pp] ># when using [kernel], device specifies the device-node,
which is created<[plustek_pp] ># by the kernel-module loader (applies
only to Linux)<[plustek_pp] ># when using [direct], device is used to
set the parallel-port base address<[plustek_pp] ># or a device-name
suitable for libieee1284, i.e. parport0<[plustek_pp] >#<
[plustek_pp] >[direct]<
[plustek_pp] >device 0x378<
[plustek_pp] Decoding device name >0x378<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># leave the default values as specified in
/etc/modules.conf<[plustek_pp] >#<
[plustek_pp] >#option warmup    -1<
[plustek_pp] >#option lOffOnEnd -1<
[plustek_pp] >#option lampOff   -1<
[plustek_pp] ><
[plustek_pp] ># model override switch, mostly for cosmetic changes, if
the autodetection<[plustek_pp] ># does not work or could not work
correctly<[plustek_pp] >#option mov 7<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># example for accessing the scanner via libieee1284<
[plustek_pp] >#<
[plustek_pp] >#[direct]<
[plustek_pp] >#device parport0<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># example for accessing the scanner via the kernel module<
[plustek_pp] >#<
[plustek_pp] >#[kernel]<
[plustek_pp] >#device /dev/pt_drv<
[plustek_pp] >#<
[plustek_pp] >#option warmup    -1<
[plustek_pp] >#option lOffOnEnd -1<
[plustek_pp] >#option lampOff   -1<
[plustek_pp] attach (0x378, 0xbfffc5f0, (nil))
[plustek_pp] Device configuration:
[plustek_pp] device name   : >0x378<
[plustek_pp] direct I/O    : yes
[plustek_pp] warmup        : -1s
[plustek_pp] lampOff       : -1
[plustek_pp] lampOffOnEnd  : yes
[plustek_pp] model override: 0
[plustek_pp] ---------------------
[plustek_pp] drvopen()
[plustek_pp] open: PtDrvInit failed: 4
[plustek_pp] open failed: -1
[plustek_pp] sane_get_devices (0xbfffe6b8, 0)
[plustek_pp] sane_exit

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).

[sanei_debug] Setting debug level of plustek_pp to 10.
[plustek_pp] PlustekPP backend V0.43-5, part of sane-backends 1.0.15
[plustek_pp] ># Plustek-PP SANE Backend configuration file<
[plustek_pp] ># For use with Plustek parallel-port scanners<
[plustek_pp] >#<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># user either [direct] or [kernel] to access the scanner<
[plustek_pp] ># when using [kernel], device specifies the device-node,
which is created<[plustek_pp] ># by the kernel-module loader (applies
only to Linux)<[plustek_pp] ># when using [direct], device is used to
set the parallel-port base address<[plustek_pp] ># or a device-name
suitable for libieee1284, i.e. parport0<[plustek_pp] >#<
[plustek_pp] >#[direct]<
[plustek_pp] >#device 0x378<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># leave the default values as specified in
/etc/modules.conf<[plustek_pp] >#<
[plustek_pp] >#option warmup    -1<
[plustek_pp] >#option lOffOnEnd -1<
[plustek_pp] >#option lampOff   -1<
[plustek_pp] ><
[plustek_pp] ># model override switch, mostly for cosmetic changes, if
the autodetection<[plustek_pp] ># does not work or could not work
correctly<[plustek_pp] >#option mov 7<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># example for accessing the scanner via libieee1284<
[plustek_pp] >#<
[plustek_pp] >[direct]<
[plustek_pp] >device parport0<
[plustek_pp] Decoding device name >parport0<
[plustek_pp] ><
[plustek_pp] >#<
[plustek_pp] ># example for accessing the scanner via the kernel module<
[plustek_pp] >#<
[plustek_pp] >#[kernel]<
[plustek_pp] >#device /dev/pt_drv<
[plustek_pp] >#<
[plustek_pp] >#option warmup    -1<
[plustek_pp] >#option lOffOnEnd -1<
[plustek_pp] >#option lampOff   -1<
[plustek_pp] attach (parport0, 0xbfffc5f0, (nil))
[plustek_pp] Device configuration:
[plustek_pp] device name   : >parport0<
[plustek_pp] direct I/O    : yes
[plustek_pp] warmup        : -1s
[plustek_pp] lampOff       : -1
[plustek_pp] lampOffOnEnd  : yes
[plustek_pp] model override: 0
[plustek_pp] ---------------------
[plustek_pp] drvopen()
[plustek_pp] ptdrvInit(0)
[plustek_pp] Init settings done
[plustek_pp] ScanData = 0x08052a00
[plustek_pp] Assigning port handle 0
[plustek_pp] ptdrvOpen(port=0x0)
[plustek_pp] Try to claim the parport
[plustek_pp] Setting SPP-mode
[plustek_pp] Setting PS/2-mode
[plustek_pp] We're using libIEEE1284 I/O
[plustek_pp] Starting Scanner-Autodetection
[plustek_pp] ************ DETECTP48xx ************
[plustek_pp] ModelSet4800()
[plustek_pp] modelInitPageSettings()
[plustek_pp] A4 set
[plustek_pp] ModelSet4800() done.
[plustek_pp] P48xxInitAsic()
[plustek_pp] DacInitialize()
[plustek_pp] ImageInitialize()
[plustek_pp] IOFuncInitialize()
[plustek_pp] IOInitialize()
[plustek_pp] * using readfunction >fnBiDirRead<
[plustek_pp] MotorInitialize()
[plustek_pp] ResetPort()
[plustek_pp] Test 0x55
[plustek_pp] Test 0xAA
[plustek_pp] Compare data=0x7e and status=0xe, port=0x0
[plustek_pp] p48xxReadWriteTest()
[plustek_pp] Can't find your model, asic = 0x77
[plustek_pp] detectScannerConnection() returns -9031.
[plustek_pp] ************* ASIC9800x *************
[plustek_pp] ResetPort()
[plustek_pp] IOInitialize()
[plustek_pp] * using readfunction >fnBiDirRead<
[plustek_pp] ASIC = 0x40
[plustek_pp] Unknown ASIC-ID
[plustek_pp] *** DETECTION DONE, result: -9020 ***
[plustek_pp] ptdrvClose()
[plustek_pp] MiscRestorePort()
[plustek_pp] Releasing parport
[plustek_pp] ptdrvShutdown()
[plustek_pp] cleanup device 0
[plustek_pp] open: PtDrvInit failed: -9020
[plustek_pp] open failed: -1
[plustek_pp] sane_get_devices (0xbfffe6b8, 0)
[plustek_pp] sane_exit

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).