SANE - Scanner Access Now Easy
apt-get install sane xsane sane-utils usermod -aG scanner user usermod -aG lp saned
Prepare udev rules to give access permission to USB:
sudo udevadm control --reload-rules
sudo udevadm trigger --action=add --subsystem-match=usb
List scanners:
scanimage -L
Bus 001 Device 003: ID 04a9:1912 Canon, Inc.
Download and install Canon's ScanGear debian package.
This package provides no compatibility with sane, it provides own tool scangearmp2
From sane list, it should be supported by sane-pixma
driver: Backend: pixma (0.23.0)
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
apt-get install build-essential fakeroot devscripts
Download source package from https://packages.debian.org/unstable/source/sane-backends:
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-get source sane-backends cd sane-backends-1.0.27
apt-get build-dep sane-backends debuild -b -uc -us dpkg -i ../sane-backends.deb
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
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: 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
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
Epson driver: Image Scan v3