[sane-devel] Plustek Optic Slim 2420

Pierre Willenbrock pierre at pirsoft.dnsalias.org
Tue Jan 2 22:45:41 CET 2007


Maximilian Fabricius schrieb:
> On 1/1/07, Pierre Willenbrock <pierre at pirsoft.dnsalias.org> wrote:
>> Maximilian Fabricius schrieb:
>> > Hi all,
>> >
>> > I have been working on trying to get the OpticSlim 2420 to work.
>> > Is disassembled the scanner (hardware) and made pictures. they may be
>> > found here
>> >
>> > http://rosa.physik.tu-berlin.de/~mxhf/OS2420/
>> >
>> > They are fairly high resolution ~1MB per image so that you can see all
>> > details. lease excuse the German on the navigation bar.
>>
>> This scanner has a Wolfson Micro WM8196 analog frontend, an ICSI
>> IC41LV16256-35K memory chip(256k 16bit words), LB1940 motor driver chip.
>>
>> > From this I learned that the scanner has a GL842 chip (not GL841). The
>> > GL842 seems
>> > to be very similar to the 841 though as a quick scan through the data
>> > sheet revealed.
>>
>> In fact, at least the things documented in genesys' datasheets are
>> identical.
>>
>> >
>> > So far I cloned the ST24 section in genesys_gl841 and
>> > I got as far as being able to execute "tstbackend" without getting an
>> > error.
>> > I had to comment the Init_Devices lines 4990-4993 in genesys_gl841.c.
>> >
>> > I am somewhat stuck now. Starting scanimage results in strange noise
>> > from the scanner.
>>
>> Try the motor struct i sent in the Canon-4400F thread[1].
>>
>> Concerning your frontend settings, use the register state just before
>> the preview scan starts(which probably is urb 1367 in the log referenced
>> in [2]).
>>
>> By the way: i am preferring usbsnoop[3], which dumps the usb log into a
>> plain text file, making parsing it way easier. Also, it does not stop
>> logging, when it encounters an urb larger than 16k or so(fortunately for
>> you, the plustek driver does not use that large urbs).
>>
>> Regards,
>>   Pierre
>>
>> [1]
>> http://lists.alioth.debian.org/pipermail/sane-devel/2006-December/018335.html
>>
>> [2]
>> http://lists.alioth.debian.org/pipermail/sane-devel/2007-January/018338.html
>>
>> [3]
>> http://benoit.papillault.free.fr/usbsnoop/
>>
> 
> 
> Thanks Pierre,
> 
> I am currently playing around with the frontend. I tried setting it to
> the values I got from my log.
> 

Hi Maximilian,

some correction to the register mappings inline

> -- SNIP SNIP ---
> {{0x00, 0x27, 0x24, 0x0f}    //reg[4]:    0x00 - 0x03
>   , {0x00, 0x00, 0x0f}        //sign[3]: 0x00 - 0x06
                                           0x24 - 0x26
>   , {0x02, 0x01, 0x01}        //offset[3]: 0x20 - 0x22
>   , {0xc4, 0xc8, 0xd2}        //gain[3]: 0x28 - 0x2a
>   , {0x00, 0x00, 0x00}        //reg2[3]
                                         : 0x05, 0x06, 0x08
>   }
>  ,                /* OS2420 */
> -- SNIP SNIP ---
> 
> I also used your motor struc.
> So far the scanner starts moving the ... sled? And only the green
> light is powered on. But the sled only moves for about a cm. Then it
> starts making noise like a quiet machine gun.

Does it still move when making noise? If not, try increasing the step
times. The upper limit is 65535. You could also try to change the
"maximum step mode" to 0(only full steps allowed).

There may be issues with custom powermanagement features, controlled via
the gpio pins. Finding good settings for the gpio pins, or even what
function they control, can take a lot of experimentation.

> I am not done playing around and haven't double checked my frontend
> register values yet.
> 
> It might help to understand what they actually mean.
> 

You can find the datasheet linked here:
http://www.wolfsonmicro.com/products/WM8196/

complete with register description.

Regards,
  Pierre



More information about the sane-devel mailing list