1

I have a Canon LIDE 110 scanner which works by default on ubuntu 12.10 64bit. The problem is after first scan I can not scan for second time. I should reconnect USB cable to use scanner again.

I use simple scan application to scan photos and text. lsusb shows my scanner as:

Bus 003 Device 010: ID 04a9:1909 Canon, Inc. CanoScan LiDE 110

I have tried USB 2.0/3.0 ports. The same thing happens for both.

dmesg shows:

[ 7747.558086] usb 3-3: new high-speed USB device number 11 using xhci_hcd
[ 7747.575766] usb 3-3: New USB device found, idVendor=04a9, idProduct=1909
[ 7747.575775] usb 3-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 7747.575779] usb 3-3: Product: CanoScan
[ 7747.575782] usb 3-3: Manufacturer: Canon

How can I fix this problem? Thanks in advance for any tips.

2
  • 1
    Same for me. I reported the bug #1184699 about this problem.
    – jeekajoo
    May 27, 2013 at 18:00
  • Thanks @jeekajoo , I replied your bug as a confirmation.
    – mehdix
    Jul 11, 2013 at 9:57

2 Answers 2

1

@jeekajoo, your bug is flagged as "fixed" on https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/1184699 (while it isn't) so I think nobody is paying attention.

The only way I found to avoid errors is to reset (unplug + replug) the scanner between each scan session. But instead of doing it physically, it is possible to use the "usbreset" described here How do you reset a USB device from the command line? It is VERY quick so it almost doesn't slow the scan process. Here is a little script I wrote to quickly scan multiple pages into one PDF

#!/bin/bash
#let's store the usb ID "BUS" and "DEVICE" of our scanner (04a9:1909 is the usb ID of the Canon Lide 110 when executing lsusb)
canon_bus=$(lsusb | grep '04a9:1909' | cut -c 5-7)
canon_device=$(lsusb | grep '04a9:1909' | cut -c 16-18)

#let's start the scan in batch mode with a resolution of 150 dpi. --device-name is not mandatory but it starts faster when indicated
scanimage -p -b --batch-prompt --device-name=genesys:libusb:$canon_bus:$canon_device --resolution 150 --mode color

#let's convert all *.pnm generated files into pdf
mogrify -format pdf -page a4 -- *.pnm && rm *.pnm

#let's reset the scanner so it is available next time we want to use it. The "usbreset" binary must be compiled from https://askubuntu.com/questions/645/how-do-you-reset-a-usb-device-from-the-command-line
./usbreset /dev/bus/usb/$canon_bus/$canon_device

#let's merge all PDF but only if there are more than one page (so 1 PDF)
nb_pdf=$(ls -1 *.pdf | wc -l)
if [ $nb_pdf -gt 1 ]; then
#let's merge all PDF. We use the "ls -v" command to merge them in a numerical order (otherwise the page 10 would be before the page 2). Thank you "Ymonad" at http://stackoverflow.com/questions/23643274/linux-command-merge-pdf-files-with-numerical-sort for this solution!
    ls -v *.pdf | bash -c 'IFS=$'"'"'\n'"'"' read -d "" -ra x;pdfunite "${x[@]}" temp_merge' && rm *.pdf
else
    mv *.pdf temp_merge
fi

#let's compress the merged pdf
gs -sDEVICE=pdfwrite -dPDFSETTINGS=/default -dNOPAUSE -dBATCH -sPAPERSIZE=a4 -sOutputFile=scan.pdf temp_merge && rm temp_merge

I hope it'll help others!

1
  • Thanks for publishing the script. Right now I have ubuntu 14.04 and the scanner still has some problems, I will give your script a try next time.
    – mehdix
    Jul 9, 2014 at 13:43
1

The official Ubuntu 14.04 repository is still at sane-backends version 1.0.23 but I fixed my problem by upgrading to sane-backends version 1.0.25 from https://launchpad.net/~rolfbensch/+archive/ubuntu/sane-git

If you still want to use my scan script, you can just skip the "usbreset" step now

1
  • Good to know that @max and thanks for the update.
    – mehdix
    Jan 28, 2015 at 21:27

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .