[sane-devel] Mustek BearPaw 2448CU pro
damianorossi at paranoici.org
damianorossi at paranoici.org
Mon Dec 22 16:43:38 UTC 2008
On Mon, 22 Dec 2008 06:04:00 -0800 (PST), Jack McGill
<jmcgill85258 at yahoo.com> wrote:
> Hello Damiano,
>
> It is good news that your motor is now moving correctly with xscanimage.
>
> I think that your red image is probably because you are using the
settings
> for a CCD detector on a scanner with a CIS detector. I believe that the
> CCD's use a single white light, but the CIS detectors use alternating
blue
> green and red colored light.
>
> Hopefully, by doing a usb snoop, we can figure out how to change change
> the settings to work on your scanner. Go ahead and do the snoops and post
a
> link to them here. We can help you intrerpret them.
>
> If you want to start analyzing them yourself, here is a quick tutorial
> based on my very limited experience.
>
> The usb snoop logs are going to have a lot of numbers that don't make
much
> sense at first. If you study them long enough, you will start to see a
> patterns.
>
> The following example is from a snoop I did on a pentax ds mobile
sheetfed
> scanner (plustek backend, lm98xx chip):
>
> [6298 ms] >>> URB 17 going down >>>
> -- URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:
> PipeHandle = 86fb9d4c [endpoint 0x00000003]
> TransferFlags = 00000002 (USBD_TRANSFER_DIRECTION_OUT,
> USBD_SHORT_TRANSFER_OK)
> TransferBufferLength = 0000001f
> TransferBuffer = 00000000
> TransferBufferMDL = 87454808
> 00000000: 02 44 00 1b 00 13 02 f9 03 20 00 00 00 00 90 01
> 00000010: 00 00 0b d0 00 09 80 14 01 ee 16 09 00 00 00
> UrbLink = 00000000
> [6299 ms] UsbSnoop - MyInternalIOCTLCompletion(b3395db0) : fido=8748a2f0,
> Irp=86f8b4e0, Context=87580300, IRQL=2
>
> The following lines have the important information:
> 00000000: 02 44 00 1b 00 13 02 f9 03 20 00 00 00 00 90 01
> 00000010: 00 00 0b d0 00 09 80 14 01 ee 16 09 00 00 00
>
> You can see a whole bunch of two digit numbers (hexadecimal bytes). The
> first four bytes are commands and the rest are settings for individual
> registers on the microprocessor chip (sometimes called an ASIC for
> application specific integrated circuit).
>
> In this example, the first byte is 02, which is a "write" command. The
> second byte is 44 which says we are going to start at register number 44.
> The third byte is 00 and doesn't do anything. The forth byte tells the
chip
> to expect 1b bytes (that's 27 in decimal). Then starting at the fifth
byte,
> register number 44 is set to 00, register 45 is set to 13, etc.
>
> The above is an example of a bulk registry write, because multiple
> regesties are being written to in a single URB command. I have also done
> some snoops on the genesys backend in which a single registry is written
at
> a time. The following is an example of this:
>
> [345 ms] >>> URB 20 going down >>>
> -- URB_FUNCTION_VENDOR_DEVICE:
> TransferFlags = 00000000 (USBD_TRANSFER_DIRECTION_OUT,
> ~USBD_SHORT_TRANSFER_OK)
> TransferBufferLength = 00000002
> TransferBuffer = 822e6488
> TransferBufferMDL = 00000000
> 00000000: 6f 08
> UrbLink = 00000000
> RequestTypeReservedBits = 00000040
> Request = 00000004
> Value = 00000083
> Index = 00000000
>
> In this example the value 08 is written to registry 6f. On this scanner
> registries are written to one at a time.
>
> Your snoop logs will likely have a different format and you will have to
> try to figure this out. The actual snoop logs are much longer and more
> complicated.
>
> Also, there are parsing tools available on the sane website that can
> convert your log to a more human readable output.
>
> I can't find a good data sheet for the SQ113 chip. I found a 3 page
> datasheet that is more like a marketing
> brochure.http://www.datasheet4u.com/html/S/Q/1/SQ113A_SQ.pdf.html. It
> doesn't give a description of what each register does. Maybe someone else
> here has a copy or you could write to the chip manufacturer for one.
>
> Good luck!
Thank you Jack!
I can't spend much time in it but in the next days I'll try to follow your
guide to analyze snoop output.
I spent a lot of time searching for datasheet with no success. It seems
that chip is sq113c and not sq113a
but maybe they are similar. I'll write to the manufacturer for datasheet.
I'll keep you up to date.
Bye
Damiano
>
> Jack McGill
>
>
> --- On Mon, 12/22/08, damianorossi at paranoici.org
> <damianorossi at paranoici.org> wrote:
>
>> From: damianorossi at paranoici.org <damianorossi at paranoici.org>
>> Subject: Re: [sane-devel] Mustek BearPaw 2448CU pro
>> To: jmcgill85258 at yahoo.com
>> Cc: sane-devel at lists.alioth.debian.org
>> Date: Monday, December 22, 2008, 5:18 AM
>> On Sun, 21 Dec 2008 13:25:44 -0800 (PST), Jack McGill
>> <jmcgill85258 at yahoo.com> wrote:
>> > There was a thread about this same scanner last month.
>> >
>>
>
http://lists.alioth.debian.org/pipermail/sane-devel/2008-November/023053.html
>> > The author got about as far as you did.
>>
>> I tried xscanimage. Setting correct scan area size motor
>> moves properly.
>> But I don't understand the meaning of that red image.
>> It doesn't depend on
>> what I put on the scanner.
>>
>> >
>> > Next you are going to have to do some usb snooping on
>> a windows machine
>> > using either http://www.pcausa.com/Utilities/UsbSnoop/
>> or
>> > http://benoit.papillault.free.fr/usbsnoop/.
>>
>> I think I won't be able to read snoop logs. I'll
>> post them.
>>
>> >
>> > Then try to figure out the meaning of the snoop logs.
>> Snoop logs are too
>> > big to post here, so you will need to find a free web
>> site to post them
>> to.
>> > I've used google site for this in the past.
>> >
>> > Jack McGill
>> >
>>
>> Thank you for reply
>> Damiano Rossi
>>
>> >
>> > --- On Sun, 12/21/08, Damiano Rossi
>> <damianorossi at paranoici.org> wrote:
>> >
>> >> From: Damiano Rossi
>> <damianorossi at paranoici.org>
>> >> Subject: [sane-devel] Mustek BearPaw 2448CU pro
>> >> To: sane-devel at lists.alioth.debian.org
>> >> Date: Sunday, December 21, 2008, 9:39 AM
>> >> I am an owner of the scanner Mustek BearPaw 2448CU
>> pro and
>> >> I'd like to
>> >> use it on linux system. I'm not a programmer
>> but since
>> >> there is a
>> >> backend for a similar scanner (BearPaw 2448 TA
>> pro) I'd
>> >> like to do my
>> >> best to adapt mustek_usb2 backend to support this
>> scanner.
>> >> I'm using ubuntu 8.10 but I downloaded last
>> CVS
>> >> sane-backends
>> >> I changed line 148 in mustek_usb2.c from
>> >> SANE_FALSE, /* Is this a CIS
>> scanner? */
>> >> into
>> >> SANE_TRUE, /* Is this a CIS
>> scanner? */
>> >> Because 2448cu is a CIS scanner and not a CCD one
>> like 2448
>> >> TA
>> >> I think that developer's intention was tu
>> support CIS
>> >> sensors but maybe
>> >> the support is incomplete.
>> >> Then I replaced ProducId 0x409 with 0x408 in
>> >> mustek_usb2_asci.c
>> >> "BearPaw 2448CU Pro", /* Device
>> model
>> >> name */ (mustek_usb2.c
>> >> line 128)
>> >> sane_device->model = strdup ("BearPaw 2448
>> CU
>> >> Pro"); (mustek_usb2.c line
>> >> 2082)
>> >> Now scanner is recognized from lsusb
>> >> when I try to scan with scanimage leds get on,
>> motor start
>> >> but it
>> >> doesn't stop at the end and bumps with a noisy
>> >> trrrrrrrrrrrrr until I
>> >> unplug the usb cable.
>> >> When I try to scan with xsane leds get on, motor
>> moves and
>> >> suddenly
>> >> stops with a long beep.
>> >> In both cases it seems that rgb data are read but
>> an image
>> >> made of thick
>> >> red vertical lines is returned as output
>> >>
>> >> I tried to analyze the debug output setting
>> >> SANE_DEBUG_MUSTEK_USB2=255
>> >> but in both cases there is no error. Each asic
>> function
>> >> enter and exit
>> >> without errors.
>> >> What could I do at this point?
>> >>
>> >>
>> >> --
>> >> sane-devel mailing list:
>> sane-devel at lists.alioth.debian.org
>> >>
>> http://lists.alioth.debian.org/mailman/listinfo/sane-devel
>> >> Unsubscribe: Send mail with subject
>> "unsubscribe
>> >> your_password"
>> >> to
>> sane-devel-request at lists.alioth.debian.org
More information about the sane-devel
mailing list