Porting SANE backend 1.0.21 to FreeBSD 7.2
Mark Terribile
materribile at yahoo.com
Sat May 22 15:30:30 UTC 2010
If this is the wrong place, please be gentle! I need to get a Canon 8800F scanner running on FreeBSD 7.2 . SANE's latest version is said to support this scanner.
I have gotten a copy of it to build (and fed a few minor problems back to the people at the SANE project: https://alioth.debian.org/tracker/?func=detail&atid=410366&aid=312503&group_id=30186) and I have added
product CANON CS8800F 0x1901 CanoScan 8800F
to /usr/src/sys/dev/usb/usbdevs. I have also added
{{ USB_VENDOR_CANON, USB_PRODUCT_CANON_CS8800F }, 0 },
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
-------
Usage: scanimage [OPTION]...
Start image acquisition on a scanner device and write image data to
standard output.
Parameters are separated by a blank from single-character options (e.g.
-d epson) and by a "=" from multi-character options (e.g. --device-name=epson).
-d, --device-name=DEVICE use a given scanner device (e.g. hp:/dev/scanner)
--format=pnm|tiff file format of output file
-i, --icc-profile=PROFILE include this ICC profile into TIFF file
-L, --list-devices show available scanner devices
-f, --formatted-device-list=FORMAT similar to -L, but the FORMAT of the output
can be specified: %d (device name), %v (vendor),
%m (model), %t (type), %i (index number), and
%n (newline)
-b, --batch[=FORMAT] working in batch mode, FORMAT is `out%d.pnm' or
`out%d.tif' by default depending on --format
--batch-start=# page number to start naming files with
--batch-count=# how many pages to scan in batch mode
--batch-increment=# increase page number in filename by #
--batch-double increment page number by two, same as
--batch-increment=2
--batch-prompt ask for pressing a key before scanning a page
--accept-md5-only only accept authorization requests using md5
-p, --progress print progress messages
-n, --dont-scan only set options, don't actually scan
-T, --test test backend thoroughly
-h, --help display this help message and exit
-v, --verbose give even more status messages
-B, --buffer-size=# change input buffer size (in kB, default 32)
-V, --version print version information
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.
And finally, I ask for any general wisdom or hints in dealing with SANE and SANE with USB devices.
When I am done, I will gladly turn my work over to anyone who would like to incorporate it into the ports base. (And after this, I need a new CUPS and an EPSON Sylus R1900).
Thank you for any help you may be able to offer.
Mark Terribile
More information about the freebsd-ports
mailing list