Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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.

share|improve this question
1  
Same for me. I reported the bug #1184699 about this problem. –  jeekajoo May 27 '13 at 18:00
    
Thanks @jeekajoo , I replied your bug as a confirmation. –  Mehdi Sadeghi Jul 11 '13 at 9:57

1 Answer 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 http://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!

share|improve this answer
    
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. –  Mehdi Sadeghi Jul 9 at 13:43

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.