Porting SANE backend 1.0.21 to FreeBSD 7.2

Alexey Shuvaev shuvaev at physik.uni-wuerzburg.de
Mon May 24 21:42:35 UTC 2010

On Sun, May 23, 2010 at 02:00:46PM -0700, Mark Terribile wrote:
> Thanks to help from Warren Block and Lowell Gilbert,
> I now have the offical ported version of sane-backends-1.0.21 running.
> Unfortunately, it's behaving the same way as before,
> apparently not properly recognizing the USB device.  It 
> Does anyone have experience using this?
I have zero experience using SANE, but...

> Or better yet, some sense of what it needs from the USB side?
I think the right answer is 'nothing'.

> A clue on enabling the internal debugging would also be welcome.
> I have added
> product CANON CS8800F        0x1901    CanoScan 8800F
> to /usr/src/sys/dev/usb/usbdevs.  I have also added
> to /usr/src/sys/dev/usb/uscanner.c
I think this is wrong and may cause all of your problems. I have heard
somewhere that the right way of accessing USB scanners on FreeBSD
is through libusb.
That is, your scanner *should not be recognized* by uscanner driver and
*should not appear* in /dev/.

> When I run scanimage -L I get
> ---------
> device `pixma:04A91901' is a CANON Canoscan 8800F multi-function peripheral
> -------
> When I run scanimage -d pixma:04A9101 I get
> --------
> scanimage: sane_read: Invalid argument
> --------
> Which I have traced to a defaulted fill routine in a table.
> scanimage --help gives me a message ending with
> -------
> Options specific to device `pixma:04A91901':
>   Scan mode:
>     --resolution auto||75|150|300|600|1200|2400|4800dpi [75]
>         Sets the resolution of the scanned image.
>     --mode auto|Color|Gray [Color]
>         Selects the scan mode (e.g., lineart, monochrome, or color).
>     --source Flatbed|Transparency Unit [Flatbed]
>         Selects the scan source (such as a document-feeder).
>     --button-controlled[=(yes|no)] [no]
>         When enabled, scan process will not start immediately. To proceed,
>         press "SCAN" button (for MP150) or "COLOR" button (for other models).
>         To cancel, press "GRAY" button.
>   Gamma:
>     --custom-gamma[=(auto|yes|no)] [yes]
>         Determines whether a builtin or a custom gamma-table should be used.
>     --gamma-table auto|0..255,...
>         Gamma-correction table.  In color mode this option equally affects the
>         red, green, and blue channels simultaneously (i.e., it is an intensity
>         gamma table).
>   Geometry:
>     -l auto|0..216.069mm [0]
>         Top-left x position of scan area.
>     -t auto|0..297.011mm [0]
>         Top-left y position of scan area.
>     -x auto|0..216.069mm [216.069]
>         Width of scan-area.
>     -y auto|0..297.011mm [297.011]
>         Height of scan-area.
>   Buttons:
>     --button-update
>         Update button state
>     --button-1 <int> [0]
>         Button 1
>     --button-2 <int> [0]
>         Button 2
> Type ``scanimage --help -d DEVICE'' to get list of all options for DEVICE.
> List of available devices:
> ----------------------------
> There is a /dev/usb/uscanner .
> I haven't figured out how to turn on the internal debugging system, so my first question to someone who may have ported an earlier version is how to do that.
> My second question is whether I have the USB entries right,
> and whether I need to do anything else to make this work.
Try reverting all your changes and look how it goes with
stock sane from ports.

> And finally, I ask for any general wisdom or hints in dealing with SANE and SANE with USB devices.


More information about the freebsd-ports mailing list