Fixing a scanner broken by the Feisty upgrade
If you have been using a USB scanner and upgrade from Edgy to Feisty, you may find that your scanner no longer works.
These notes may help. There is a long thread about this check here . The problem seems to lie in the usb suspend functions built into Feisty's new kernel in order to keep laptop users happy.Here are a few tricks taken from the above thread that might get your scanner going again. They did for me.
0. Download & install scanbuttond using adept or any preferred tool
At the console ...
1. list usb devices : lsusb
2. run scanbuttond : scanbuttond -r 1000000
3. list available imaging devices : scanimage -L
4. Test basic scanner operation : scanimage -T -d
5. Test gui scanner operation : xsane
0. Use adept or whatever tool you prefer to install the "scanbuttond" package.use the following command to install scanbuttond
sudo aptitude install scanbuttond
This is a daemon that will poll your scanner to see if any of its buttons have been pressed. You don't need to press a button -- your scanner may not even have one. The point seems to be that the daemon pokes the scanner at an interval you specify thereby keeping it awake and and able to respond to other programs. For more information, see the above thread and/or http://scanbuttond.sourceforge.net/
1. List the currently known USB devices & check that your scanner is in the list.
To do this, open a console & enter "lsusb" at the prompt. (without quotes of course). Here's a typical output ...
[email protected]:~$ lsusb
Bus 005 Device 007: ID 04a9:2206 Canon, Inc. CanoScan N650U/N656U
Bus 005 Device 006: ID 0aec:3260 Neodio Technologies Corp. 7-in-1 Card Reader
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 004: ID 046d:c408 Logitech, Inc. Marble Mouse (4-button)
Bus 001 Device 001: ID 0000:0000
Here we see that a CanoScan N650U is available as device 007 on bus 005. These numbers matter and they are tricky because they can change. Typically, if you unplug, then reconnect the scanner the device number is likely to change. Note the numbers that appear on your own system for use later. If your scanner doesn't appear in the USB devices list, then, sorry, this article won't help you.
2.Start the scan button daemon
Again at the console prompt, enter "scanbuttond -r 1000000" The number here is the retry (polling) interval in micro-seconds. The value shown here is pretty much the consensus that emerged in the discussion thread. If you later want to stop the daemon, issue the command "killall scanbuttond"
3. Check the status of your scanner from the command line -- enter "scanimage -L".
Scanimage is a command line tool for reading images from scanners and cameras. It works through the sane scanner access interface in much the same way as the GUI scanning tools. It has a useful manual entry. (To see this, as always, enter "man scanimage" at the prompt)
scanimage -L gives a list of the imaging devices currently available throught the sane interface. Here's a typical output ...
[email protected]:~$ scanimage -L
device `v4l:/dev/video0′ is a Noname BT878 video (Leadtek WinFast 20 virtual device
device `plustek:libusb:005:007′ is a Canon N650U/N656U USB flatbed scanner
Here we see two available devices, most importantly the Canon scanner in my system. Note the device name & syntax for subsequent testing. Here it is "plustek:libusb:005:007". This says that the plustek package is working through libusb to device 007 on bus 005. Many scanners are run this way but some are not. A specific manufacturer, e.g HP, might appear in place of plustek. The bus and device numbers should match those obtained previously with the lsusb command
4. Test operation of the scanner from the command line -- enter "scanimage -T -d
where is the device id show by the previous command, e.g. here we would enter "scanimage -T -d plustek:libusb:005:007"
If all is well, the scanner should start making operating noises and some pass/fail test results will be shown in the console window.
A typical example on my system ...'
[email protected]:~$ scanimage -T -d plustek:libusb:005:007
scanimage: scanning image of size 202×150 pixels at 24 bits/pixel
scanimage: acquiring RGB frame, 8 bits/sample
scanimage: reading one scanline, 606 bytes... PASS
scanimage: reading one byte... PASS
scanimage: stepped read, 2 bytes... PASS
scanimage: stepped read, 4 bytes... PASS
scanimage: stepped read, 8 bytes... PASS
scanimage: stepped read, 16 bytes... PASS
scanimage: stepped read, 32 bytes... PASS
scanimage: stepped read, 64 bytes... PASS
scanimage: stepped read, 128 bytes... PASS
scanimage: stepped read, 256 bytes... PASS
scanimage: stepped read, 512 bytes... PASS
scanimage: stepped read, 1024 bytes... PASS
scanimage: stepped read, 1023 bytes... PASS
scanimage: stepped read, 511 bytes... PASS
scanimage: stepped read, 255 bytes... PASS
scanimage: stepped read, 127 bytes... PASS
scanimage: stepped read, 63 bytes... PASS
scanimage: stepped read, 31 bytes... PASS
scanimage: stepped read, 15 bytes... PASS
scanimage: stepped read, 7 bytes... PASS
scanimage: stepped read, 3 bytes... PASS
5. Test operation of the scanner with the xsane gui interface or some other scanner program.
eg enter "xsane" at the console prompt. On startup, xsane shows a device selection dialog where you can check that the bus & device numbers match those previously noted. Xsane also has a good manual entry (man xsane)
If xsane runs the scanner successfully, then so should other programs -- Gimp, Kooka, OpenOffice etc.