====== SANE ======
SANE - Scanner Access Now Easy
====== Sane frontends in Debian ======
* xsane
* xscanimage - simple GUI, scans directly to file, not possible to view scanned image
* simple-scan - perfect to fast scanning of books, etc ,very simple GUI (photo/text) to create multi-pages documents (view of live scan)
* [[https://gitlab.gnome.org/GNOME/simple-scan|project page]]
* [-] brightness/contasrt adjustments doesn't work
* skanlite - works slowly, performs some USB polling
* gscan2pdf
====== Sane backend ======
apt-get install sane xsane sane-utils
usermod -aG scanner user
usermod -aG lp saned
Prepare udev rules to give access permission to USB:
* Download and extract udev rules from: [[https://tw.canon/en/support/0100993201/1|ScanGear MP package]]
* rules are inside `CONTENTS.cpio` file
* or here: {{ :linux:80-canon_mfp2.rules.gz |}}
* sudo udevadm control --reload-rules
* sudo udevadm trigger --action=add --subsystem-match=usb
List scanners:
scanimage -L
====== Canon Lide 400 ======
Bus 001 Device 003: ID 04a9:1912 Canon, Inc.
===== proprietary =====
Download and install Canon's ScanGear debian package.
This package provides no compatibility with sane, it provides own tool ''scangearmp2''
===== sane =====
From sane list, it should be supported by ''sane-pixma'' driver: Backend: pixma (0.23.0)
[[http://www.sane-project.org/man/sane-pixma.5.html|sane-pixma.5]]
Move all .conf files from ''/etc/sane.d'' to speedup autodetection.
mkdir /etc/sane.d/OFF
mv /etc/sane.d/*.conf /etc/sane.d/OFF
Create new config:
# Autodetect the Canon CanoScan LiDE 400
usb 0x04a9 0x1912
==== Build as DEB ====
apt-get install build-essential fakeroot devscripts
=== manual download ===
Download source package from [[https://packages.debian.org/unstable/source/sane-backends]]:
* sane-backends_1.0.31-4.dsc
* sane-backends_1.0.31.orig.tar.gz
* sane-backends_1.0.31-4.debian.tar.xz
dpkg-source -x sane-backends_1.0.31-4.dsc
cd sane-backends-1.0.31
dpkg-checkbuilddeps
sudo mk-build-deps -i
# sudo apt-get install libcurl4-gnutls-dev
dpkg -i ../sane-backends.deb
=== apt source download ===
apt-get source sane-backends
cd sane-backends-1.0.27
=== build ===
apt-get build-dep sane-backends
debuild -b -uc -us
dpkg -i ../sane-backends.deb
==== Build from source ====
Remove files installed by distribution:
sudo apt-get purge libsane-extras
apt-get install libjpeg-dev libpng-dev libpoppler-glib-dev
git clone https://gitlab.com/sane-project/backends.git
read ''INSTALL.linux'' how to install
libsane.so: undefined reference to `libusb_set_option'
Solution: check for old libusb in /usr/local/lib. Mine was from microchip IDE.
Download daily snapshoot from: http://www.sane-project.org/snapshots/
apt-get install libjpeg-dev libpng-dev libpoppler-glib-dev libglib2.0-dev
./configure
make
sudo make install
sudo ldconfig
Now it works:
$ scanimage -L
device `pixma:04A91912_413B3B' is a CANON CanoScan LiDE 400 multi-function peripheral
device `pixma:04A91912' is a CANON CanoScan LiDE 400 multi-function peripheral
===== gamma adjust =====
Scanner backends supports custom gamma table of size 1024 (10bits). Color range is from 0 to 65535.
To get raw color scan from scanner:
scanimage --custom-gamma=yes --gamma-table `gamma4scanimage 1.0 0 1023 1023 65535` >image.pnm
Options are described here: [[http://www.sane-project.org/man/gamma4scanimage.1.html|gamma4scanimage.1]]
To get white paper scans:
scanimage -p --resolution=150 --custom-gamma=yes --gamma-table `gamma4scanimage 1.0 0 700 1023 65535` >image.pnm
===== Issues =====
After restart of computer scanner stops working.
$ scanimage -L
device 'pixma:04A91912' is a CANON CanoScan LiDE 400 multi-function peripheral
$ scanimage
Output format is not set, using pnm as a default.
scanimage: open of device pixma:04A91912 failed: Device busy
$ SANE_DEBUG_PIXMA=4 scanimage
Output format is not set, using pnm as a default.
[sanei_debug] Setting debug level of pixma to 4.
[pixma] pixma is compiled with pthread support.
[pixma] pixma version 0.24.1
[pixma] pixma_collect_devices() found CanoScan LiDE 400 at libusb:001:004
[pixma] pixma_find_scanners() found 1 devices
[pixma] pixma_collect_devices() found CanoScan LiDE 400 at libusb:001:004
[pixma] pixma_open(): CanoScan LiDE 400
[pixma] pixma_connect() failed EBUSY
[pixma] pixma_open() failed EBUSY
[pixma] pixma_close(): CanoScan LiDE 400
scanimage: open of device pixma:04A91912 failed: Device busy
Download latest backend snapshot, compile and reinstall - doesn't help.
strace:
openat(AT_FDCWD, "/dev/bus/usb/001/007", O_RDWR|O_CLOEXEC) = 9
ioctl(9, USBDEVFS_GET_CAPABILITIES, 0x56212f5f4098) = 0
ioctl(9, USBDEVFS_CLAIMINTERFACE, 0x7ffff58ba40c) = -1 EBUSY (Device or resource busy)
close(9) = 0
**SOLUTION:**
sudo apt-get remove scanbd
===== Others =====
Epson driver: [[https://support.epson.net/linux/en/imagescanv3.php|Image Scan v3]]