Canon LIDE 110: deve reconectar USB para cada varredura

1

Eu tenho um scanner Canon LIDE 110, que funciona por padrão no Ubuntu 12,10 64bits. O problema é depois da primeira verificação eu não consigo digitalizar pela segunda vez. Eu deveria reconectar o cabo USB para usar o scanner novamente.

Eu uso um aplicativo de digitalização simples para digitalizar fotos e texto. lsusb mostra meu scanner como:

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

Eu tentei portas USB 2.0 / 3.0. A mesma coisa acontece para ambos.

dmesg mostra:

[ 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

Como posso resolver este problema? Agradecemos antecipadamente por qualquer dica.

    
por Mehdi Sadeghi 06.04.2013 / 12:05

2 respostas

1

@jeekajoo, seu bug é marcado como "corrigido" no link (embora não seja), então acho que ninguém está prestando atenção.

A única maneira que encontrei para evitar erros é redefinir (desconectar + reconectar) o scanner entre cada sessão de varredura. Mas em vez de fazê-lo fisicamente, é possível usar o "usbreset" descrito aqui Como você redefine um dispositivo USB a partir da linha de comando? É muito rápido, quase não diminui o processo de varredura. Aqui está um pequeno script que escrevi para digitalizar rapidamente várias páginas em um 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://sobrelinux.info/questions/254/how-do-you-reset-a-usb-device-from-the-command-line"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

Espero que ajude os outros!

    
por max 27.05.2014 / 01:18
1

O repositório oficial do Ubuntu 14.04 ainda está na versão sans-backends 1.0.23 mas eu consertei meu problema atualizando para a versão 1.0.25 do sane-backends de link

Se você ainda quiser usar meu script de verificação, basta pular a etapa "usbreset" agora

    
por max 28.01.2015 / 19:27