Canon CanoScan LiDE 120 driver

http://www.sane-project.org/sane-mfgs.html#Z-CANON shows this as supported, as does http://www.sane-project.org/sane-backends.html#S-GENESYS, but it is not in file:///usr/share/doc/packages/sane-backends/sane-mfgs.html#Z-CANON.

~> sudo sane-find-scanner
found USB scanner (vendor=0x04a9 [Canon], product=0x190e [CanoScan], chip=GL848+) at libusb:002:003
could not fetch string descriptor: Pipe error

~> sudo scanimage -L finds nothing

~> lsusb shows
Bus 002 Device 003: ID 04a9:190e Canon, Inc.

sane-find-scanner shows the chip to be GL848+, while the sane-project.org references show GL124+.

How can I install a version of sane-backends that knows about the LiDE 120? Or is there a better way?

I had to research this a bit to check the likelihood of support for this scanner model. The most credible source of evidence for support was found via this Ubuntu thread. There it was suggested that recent SANE backend source code included required support in the genesys backend.

In an effort to assist, I first tried installing the sane-backends-1.0.27 package from the openSUSE graphics repo, but a quick check of the man page for the sane-genesys backend didn’t explicitly list the LiDE 120 model, so I then proceeded with building from the latest git source, and that does indeed seem to have the required support explicitly mentioned in ‘man sane-genesys’.

git clone git://git.debian.org/sane/sane-backends.git

Change to the directory…

cd sane-backends

and build…

./configure
make
sudo make install

I encountered no problems building the backends. Hopefully you won’t either. :slight_smile:

Having installed git-core and gcc sane-backends was installed. However the CanoScan LiDE 120 is still not listed in the Yast scanner function.
I un-commented canon in /etc/sane.d/dll.conf to no effect.
The config.log from the installation shows the version as still being 1.0.27:## ----------- ##

confdefs.h.

-----------

/* confdefs.h */
#define PACKAGE_NAME “sane-backends”
#define PACKAGE_TARNAME “sane-backends”
#define PACKAGE_VERSION “1.0.27git”
#define PACKAGE_STRING “sane-backends 1.0.27git”
#define PACKAGE_BUGREPORT “sane-devel@lists.alioth.debian.org
#define PACKAGE_URL “”
#define PACKAGE “sane-backends”
#define VERSION “1.0.27git”

/usr/local/etc/sane.d/genesys.conf does not include CanoScan LiDE 120 - the modified dates on all files in /usr/local/etc/sane.d and on the /etc/sane.d directory itself are 23/11/17, while the files in /etc/sane.d are dated 8/7/17.

man:sane-genesys lists only Canon LiDE 35/40/50/60/100/110/200/210/700

BUT sane-genesys.5 lists
Canon LiDE 35/40/50/60/100/110/120/200/210/220/700
Should I perhaps be using git://anonscm.debian.org/sane/sane-backends.git? I can see no overt reference to the LiDE 120 there but I am not at all familiar with the development and deployment process.

As the sane project lists the LiDE 120 as supported, either this is a mistake or something has gone wrong somewhere.

Further investigation - in the /home/andy/installs/sane-backends/ installation directory, /doc/descriptions/genesys.desc contains:

:backend “genesys”
:version “1.0-63”
:manpage “sane-genesys”
:comment “Only the USB scanners mentioned below are currently supported.”
:url “SANE Genesys Backend Homepage
:devicetype :scanner

; -----------------------------------------------------------------------------

:model “CanoScan LiDE 120”
:interface “USB”
:usbid “0x04a9” “0x190e”
:status :complete
:comment “GL124+ based, resolution from 75 to 2400 dpi”

but canon.desc does not.

It’s the genesys backend that needs to uncommented.

Should I perhaps be using git://anonscm.debian.org/sane/sane-backends.git? I can see no overt reference to the LiDE 120 there but I am not at all familiar with the development and deployment process.

I used “git://git.debian.org/sane/sane-backends.git” and the support for the LiDE 120 model is listed in the man page…

DESCRIPTION
The sane-genesys library implements a SANE (Scanner Access Now Easy) backend that provides access to
USB flatbed scanners based on the Genesys GL646, GL841, GL843, GL847 and GL124 chips. At present,
the following scanners are known to work with this backend:

          Canon LiDE 35/40/50/60/100/110/120/200/210/220/700

However, that’s as far as I can go as I don’t have the Canon device to test with.

As the sane project lists the LiDE 120 as supported, either this is a mistake or something has gone wrong somewhere.

The SANE page for 1.0.27 did list the device but it referenced a different (GL124+) ASIC chip. They may need contacting about that.
http://www.sane-project.org/imprint.html

The canon.desc (description) relates to a different driver (for differenct Canon models). The genesys driver is what’s relevant here.

genesys is already uncommented in /etc/sane.d/dll.conf.

for me man:sane-genesys shows only
Canon LiDE 35/40/50/60/100/110/200/210/700.

There seems to be a disconnect somewhere.

I’ll follow up on that link.

Thanks for your help.

usr/local/etc/sane.d/genesys.conf

Canon LiDE 120

usb 0x04a9 0x190e

Some parts of this seem to know about it but not all. Once my subscription to the sane-devel list is activated I’ll try them with it.

If you can not try it Vuecsan https://www.hamrick.com/download.html
And install libusb-0_1-4

Partial success with Vuescan. Though I would prefer to have Xsane working for the new LiDE 120, or at least the old MG2500. As things stand I could pay for Vuescan, use the MG2500, and hope sane gets sorted out over the coming months.

I installed Vuescan, but their documentation says that for the Canon LiDE 120 I need to set up libusb device protections.
Several sources give risky-looking solutions, but:
http://rglinuxtech.com/?p=1659 UDEV – Getting an Old Scanner to Behave…
seemed less traumatic, adding a ‘.rules’ file under the /etc/udev/rules.d directory.

~> lsusb |grep Canon
Bus 002 Device 004: ID 04a9:176d Canon, Inc.
Bus 001 Device 006: ID 04a9:190e Canon, Inc.

(04a9:176d is an mfp - low quality scanner)

Created 82-canon_lide120.rules -

Canon LiDE 120

ATTRS{idVendor}==“04a9”, ATTRS{idProduct}==“190e”, ENV{libsane_matched}=“yes”, GROUP=“users”, MODE=“0664” (also tried 666)

Is that ENV{libsane_matched}=“yes” a problem? As sane obviously doesn’t know about it.

Vuescan finds both scanners, but only the mfp 04a9:176d produces an image, 190e does a pass of the document but the light is not on. Blank image with watermarks only.

Xsane and Scanlite only find my MS webcam and try to use that. Scangearmp finds no scanner.

Various outputs:

~> lsusb
Bus 002 Device 003: ID 04a9:176d Canon, Inc.
Bus 002 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 008: ID 03f0:0324 Hewlett-Packard SK-2885 keyboard
Bus 001 Device 010: ID 045e:0779 Microsoft Corp. LifeCam HD-3000
Bus 001 Device 009: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 007: ID 14cd:8608 Super Top
Bus 001 Device 006: ID 04a9:190e Canon, Inc.
Bus 001 Device 005: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
Bus 001 Device 004: ID 04f9:0055 Brother Industries, Ltd
Bus 001 Device 003: ID 0480:0200 Toshiba America Info. Systems, Inc.
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

~> sudo sane-find-scanner

sane-find-scanner will now attempt to detect your scanner. If the

result is different from what you expected, first make sure your

scanner is powered up and properly connected to your computer.

No SCSI scanners found. If you expected something different, make sure that

you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04a9 [Canon], product=0x176d [MG2500 series]) at libusb:002:003
found USB scanner (vendor=0x04a9 [Canon], product=0x190e [CanoScan], chip=GL848+) at libusb:001:006
could not fetch string descriptor: Pipe error

~> sudo scanimage -L
[sudo] password for root:
device `v4l:/dev/video0’ is a Noname Microsoft® LifeCam HD-3000 virtual device

I tried sane-find-scanner as user, not root, and it found nothing:

:~> sane-find-scanner

sane-find-scanner will now attempt to detect your scanner. If the

result is different from what you expected, first make sure your

scanner is powered up and properly connected to your computer.

No SCSI scanners found. If you expected something different, make sure that

you have loaded a kernel SCSI driver for your SCSI adapter.

No USB scanners found. If you expected something different, make sure that

you have loaded a kernel driver for your USB host controller and have setup

the USB system correctly. See man sane-usb for details.

SANE has been built without libusb support. This may be a reason

for not detecting USB scanners. Read README for more details.

Not checking for parallel port scanners.

Most Scanners connected to the parallel port or other proprietary ports

can’t be detected by this program.

You may want to run this program as root to find all devices. Once you

found the scanner devices, be sure to adjust access permissions as

necessary.

also:

:~> sudo scanimage -L
[sudo] password for root:
device `v4l:/dev/video0’ is a Noname Microsoft® LifeCam HD-3000 virtual device

The more I read, the less I understand.

For curiosity you tried through Yast> Hardware> Scanner to configure it?

Yes, that was my first move. The LiDE 120 is found on re-scan but as sane doesn’t know about it there is no option in the edit to select. This is in spite of sane’s online documentation claiming that it is supported. The installed documentation does not mention it. Which is where we came in.

I must get round to querying this with the sane-devel list, I’ve got as far as joining.

On Mageia Xsane tries to use the LiDE 120 but it just makes a short grunt and stops. It does work with the MG2500, out of the box, I never got round to running the Canon installer for it. On openSUSE Xsane and Scanlite only find the MS webcam.

I found this post in an Italian forum where with a command you force the recognition of the scanner, and then the author of the post says that it worked.

https://forum.fedoraonline.it/viewtopic.php?pid=237185#p237185

This, with the aid of Google Translate, suggests firstly creating a /usr/lib/udev/rules.d file specifying the LiDE 120. This for me had no effect, and didn’t work for the OP either. Secondly it suggests installing sane-backends from sane_backends_git, via a Fedora tool, dnf. That is the one that worked. This looks like the same thing that deano_ferrari suggested, but involves “allowerasing” and “downgrade” options. It didn’t work for me. Should I perhaps have uninstalled the existing sane-backends first?

I did not mean to let you install packages, that’s a 2016 post.
Only force scanner recognition.
Sane-backends 1.0.27.git is also there https://software.opensuse.org/package/sane-backends

I only tried the ‘force scanner recognition’, which didn’t work, it didn’t work for the Fedora OP either. As the sane-backends install looked to be the same as the one I had already tried, without success, I didn’t attempt it. In any case it used a Fedora tool and presumably a Fedora source…

As I can’t tell if any of the packages in openSUSE Software actually include the LiDE 120 I will hold off until I get a response from the list.

Try the one from this Repo, its the last one from the sane.git:
https://download.opensuse.org/repositories/home:/Sauerland:/branches:/home:/Sauerland/openSUSE_Leap_42.3/

You can switch every Time back to the old one from the OSS Repo…

Apart from getting Vuescan to recognise the scanner, I have had no success whatever. As the LiDE 120 is not being recognised I bought an old CanoScan N1220U, which is listed in usr/share/doc/packages/sane-backends/sane-mfgs.html#Z-CANON. So I assumed it would be recognised. It wasn’t. When I logged in to Mageia, in which Xsane recognises my old MG 2500 mfp, to do some scanning, I found the same situation, Xsane can’t see either the LiDE 120 or the N1220U. The only ‘scanner’ that scanimage -L can see, apart from the MG 2500, is ‘device `v4l:/dev/video0’ is a Noname Microsoft® LifeCam HD-3000 virtual device’. Although sudo sane-find-scanner sees the scanners, Xsane doesn’t.

While trying to get the N1220U to work properly with Vuescan I came across two hints that makes the LiDE 120 usable. I had it plugged into a USB hub, which seemingly can starve it of power, causing erratic performance. Plugging it into the PC box directly makes it work reliably. In addition the OS kept ‘losing’ the scanner. The solution seemed to be to keep it unplugged until needed.

With those problems sorted, although I would have preferred to keep using Xsane, I have bought a Vuescan licence. It seems to be an excellent product.

I have had no response from the sane-devel list as yet.

I can’t call this solved, but unless more information comes from the devel-list I won’t be spending more time on it.

For some scanners you need to install firmware. Also needs to be setup in Yast