Linux Power savings for Scanners

installed a scanner Canoscan 9000F Mark II on Ubuntu 16.04. I was not straightforward because the vendor, Canon, has the nerve of NOT providing a driver for the device.

drivers scanner Canoscan 9000F
Drivers information on Canon website about the Canoscan 9000F Mark II

Unfortunately SANE (Scanner Access Now Easy) did not help. It did not detect the scanner.

I downloaded a VueScan executable. The latter did detect the scanner but it would not preview or scan any document.

So I focused in fixing the communication of my Ubuntu 16.04 to the scanner.

I found this solution at https://ubuntu-mate.community/t/scanner-worked-in-15-10-does-not-work-in-16-04/4761/12

Go to the file tlp. Path /etc/default/tlp . You need to have writing rights.
You will find the line USB_BLACKLIST=
Search for it. Here it’s line 178.

Here i wrote the USB-ID after USB_BLACKLIST. Then remove the #-sign.
Like this:
USB_BLACKLIST=04a9:190d

The USB-ID you will get with lsusb in terminal.

Thank you Etamuk from Germany!

On your terminal:

$ lsusb

Bus 002 Device 023: ID 04a9:190d Canon, Inc. CanoScan 9000F Mark II

$ lsusb -v

There you have your scanner:

Bus 002 Device 023: ID 04a9:190d Canon, Inc. CanoScan 9000F Mark II
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
idVendor 0x04a9 Canon, Inc.
idProduct 0x190d CanoScan 9000F Mark II
bcdDevice 0.02
iManufacturer 1 Canon
iProduct 2 CanoScan
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 2mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 0
bInterfaceProtocol 255
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x07 EP 7 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x88 EP 8 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0200 1x 512 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x89 EP 9 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0040 1x 64 bytes
bInterval 11
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered

The ID of that USB is 04a9:190d

I loved the ensuing message from wally333 thanking Etamuk and ranting:

“power management” has wasted so much of my time and effort over the years it’ll never break even in “energy savings”. Don’t get me started on the very arrogant “screen blanking” systems and protocols…

🙂

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *