[fprint] 4000b image error

Vasily Khoruzhick anarsoul at gmail.com
Fri Nov 9 06:08:16 PST 2012


On Wed, Nov 7, 2012 at 9:22 AM, Timo Teras <timo.teras at iki.fi> wrote:
> Hi,
>
> On Tue, 06 Nov 2012 18:06:51 -0600 "Ing. Alfredo Alarcon"
> <frekoalarcon at gmail.com> wrote:
>
>> Hi, sorry for my bad english, my name is Freko from Mexico, have a
>> 4000b reader and a Beaglebone ARM 7 with Ubuntu 12.04 and kernel 3.2.
>>
>> I successfully installed libfprint from sources and all dependencies
>> from the repository, except libmagick9-dev Ubuntu suggested me
>> another one, all compilations are fine, when run the examples detects
>> my reader fine, but when takes the image send the next error:
>>
>> uru4000:error [imaging_run_state] bad captured image (289 lines) or
>> size mismatch 111041 != 111040
>
> The error implies you have fresh git checkout with my uru4500 patch
> applied. So that change probably introduced this :/
>
> Basically the device is sending one more byte than expected. The extra
> byte could come because of problem in:
>  - Host USB hardware
>  - Bug in USB driver for your hardware in linux kernel
>  - Or error due to some architecture specific bug in the code
>  - Bug in my patch
>
>> But if i run the same examples in my PC with Ubuntu 10.04 kernel 2.6,
>> everything works fine, gets a image from the reader and save this in
>> the same carpet in pgm format. I hope my problem have a solution.
>
> If possible, could you get USB captures of what is happening?
> See: http://wiki.wireshark.org/CaptureSetup/USB#Linux
>
> Alternatively, if the junk byte is at the end of the transfer, just
> modfying to length assertation should be ok:
>
> --- a/libfprint/drivers/uru4000.c
> +++ b/libfprint/drivers/uru4000.c
> @@ -687,8 +687,8 @@ static void imaging_run_state(struct fpi_ssm *ssm)
>                 fp_dbg("hw header lines %d", img->num_lines);
>
>                 if (img->num_lines >= IMAGE_HEIGHT ||
> -                   urudev->img_transfer->actual_length != img->num_lines * IMAGE_WIDTH + 64) {
> -                       fp_err("bad captured image (%d lines) or size mismatch %d != %d",
> +                   urudev->img_transfer->actual_length < img->num_lines * IMAGE_WIDTH + 64) {
> +                       fp_err("bad captured image (%d lines) or size mismatch %d < %d",
>                                 img->num_lines,
>                                 urudev->img_transfer->actual_length,
>                                 img->num_lines * IMAGE_WIDTH + 64);
>
> Maybe this helps.
>
> Cheers,
>  Timo

Hi,

That could be an alignment issue, could you guys try attached patch?
At least it should not break anything.

Regards
Vasily
-------------- next part --------------
A non-text attachment was scrubbed...
Name: uru4000-portability-fix.patch
Type: application/octet-stream
Size: 2390 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/fprint/attachments/20121109/dbea5590/attachment.obj>


More information about the fprint mailing list