Canon LIDE 110: следует переподключать USB для каждого сканирования

У меня есть сканер Canon LIDE 110, который работает по умолчанию на Ubuntu 12.10 64bit. Проблема в том, что после первого сканирования я не могу сканировать второй раз. Я должен снова подключить USB-кабель, чтобы снова использовать сканер.

Я использую простое приложение для сканирования фотографий и текста. lsusb показывает мой сканер как:

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

Я пробовал порты USB 2.0 / 3.0. То же самое происходит для обоих.

dmesg показывает:

[ 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

Как я могу решить эту проблему? Заранее благодарим за любые советы.

1
задан 6 April 2013 в 14:27

2 ответа

@jeekajoo, ваша ошибка помечена как «исправленная» на https://bugs.launchpad.net/ubuntu/+source/sane-backends/+bug/1184699 (хотя это не так ) так что я думаю, что никто не обращает внимания.

Единственный способ избежать ошибок - сброс (отключение + повторное подключение) сканера между сеансами сканирования. Но вместо того, чтобы делать это физически, можно использовать описанный здесь «usbreset» . Как выполнить сброс устройства USB из командной строки? Это ОЧЕНЬ быстро, поэтому практически не замедляет процесс сканирования. , Вот небольшой скрипт, который я написал для быстрого сканирования нескольких страниц в одном 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

Я надеюсь, что это поможет другим!

0
ответ дан 6 April 2013 в 14:27

Официальный репозиторий Ubuntu 14.04 все еще находится в версии sane-backends 1.0.23, но я исправил свою проблему, обновившись до версии 1.0.25 sane-backends из https://launchpad.net/~rolfbensch/+archive / ubuntu / sane-git

Если вы все еще хотите использовать мой скрипт сканирования, вы можете просто пропустить шаг «usbreset» сейчас

0
ответ дан 6 April 2013 в 14:27

Другие вопросы по тегам:

Похожие вопросы: