[sane-devel] Epson Perfetion 2480 scanner

Oliver Schwartz Oliver.Schwartz@gmx.de
Thu, 26 Aug 2004 08:31:43 +0200 (MEST)


Hi,

> > Moreover the perfection 2480 can scan in 2400 dpi, the 1670 only in
> > 1600.
> 
> Maybe that's the problem ?

Probably yes.

The quick and dirty hack to fix it is to replace the following code in
snapscan-scsi.c:

    switch (pss->pdev->model)
    {
        case PRISA5000:
            pos_factor = (pss->res > 600) ?  1200 : 600;
            break;
        case PERFECTION1670:
            pos_factor = (pss->res > 800) ?  1600 : 800;
            break;
        default:
            break;
    }

with this one:

    switch (pss->pdev->model)
    {
        case PRISA5000:
            pos_factor = (pss->res > 600) ?  1200 : 600;
            break;
        case PERFECTION1670:
            pos_factor = (pss->res > 1200) ?  2400 : 1200;
            break;
        default:
            break;
    }


If you want to use higher resolutions you should also replace the following
line in snapscan-options.c:

    static SANE_Word resolutions_1600[] =
        {10, 50, 75, 100, 150, 200, 300, 400, 600, 800, 1600};

with

    static SANE_Word resolutions_1600[] =
        {11, 50, 75, 100, 150, 200, 300, 400, 600, 800, 1200, 2400};


After applying the changes, run "touch snapscan.c", "make" and "make
install" again.
This should allow scanning in all resolutions with the right scanning areas.
Please test it and let me know the results. Please also try grayscale and
lineart mode, there were some problems reported for the 1670.

The clean solutions is to add a new SnapScan_Model PERFECTION2480 in
snapscan.h and change the snapscan*.c files accordingly. I'll submit the
neccessary changes to CVS next week when I'm back at home.

/Oliver