Porting SANE backend 1.0.21 to FreeBSD 7.2

Mark Terribile materribile at yahoo.com
Sun May 23 21:00:47 UTC 2010

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?  Or better yet, some sense of what it needs from the USB side?  A clue on enabling the internal debugging would also be welcome.

    Mark Terribile


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

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.
    --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).
    -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.
        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.

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