Help make a USB scanner work

Hi all,

I try to install a Canon "CanoScan 9000F" USB scanner using a USB-2 port on my box (Intel quadcore) running fine FreeBSD9.2-REL (GENERIC kernel). sane-backends and xsane were compiled from ports ("with libusb"). Both the sane-backends man page and the SANE website confirm that the proper driver for such a device is "pixma".

According to the Handbook's 8.2 Section, the group for related /dev is "operator".

Now:
Code:
 $ sudo sane-find-scanner
  # No SCSI scanners found. If you expected something different, make sure that
  # you have loaded a kernel SCSI driver for your SCSI adapter.

found USB scanner (vendor=0x04a9 [Canon], product=0x190d [CanoScan]) at libusb:/dev/usb:/dev/ugen7.3
  # Your USB scanner was (probably) detected. It may or may not be supported by
  # SANE. Try scanimage -L and read the backend's manpage.

Code:
$ ls -l /dev/ugen7.*
lrw-rw----  1 root  operator  9 20 nov 08:31 /dev/ugen7.1 -> usb/7.1.0
lrw-rw----  1 root  operator  9 20 nov 08:31 /dev/ugen7.2 -> usb/7.2.0
lrw-rw----  1 root  operator  9 20 nov 08:38 /dev/ugen7.3 -> usb/7.3.0

Editing /usr/local/etc/sane.d/pixma.conf:
Code:
# pixma.conf configuration for the sane pixma backend
# CanoScan 9000F Mk2
usb 0x04a9 0x190d
/dev/ugen7.3
#

and then:
Code:
$ sudo scanimage -L
Password:

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).
$
As well, xscane doesn't detect any scanner.

Further investigations:
  1. that device run just fine on a different box, running Windows
  2. a HP Photosmart C5280 "all-in-one" connected on the same port does not work as scanner, instead the printer-part is properly detected and driven.
  3. an old SCSI scanner had all time worked fine on that box
  4. unfortunately, trying to install the scanner in a VirtualBox emulating Windows fails: VirtualBox-ose needs VirtualBox-ose-additions to manage with USB 2.0 stuff; "additions" is said to conflict with VirtualBox-ose (installs files in the same place) and fails to install.

Could we have a work-around to make the given 2.0 USB port be seen as a 1.0 port (then under control of VirtualBox)?

Help (and comments) are welcome,

Roger85
 
roger85 said:
Editing /usr/local/etc/sane.d/pixma.conf:
Code:
# pixma.conf configuration for the sane pixma backend
# CanoScan 9000F Mk2
usb 0x04a9 0x190d
/dev/ugen7.3
#

Just the usb line should be enough.

and then:
Code:
$ sudo scanimage -L
Password:

sudo is not the same as logging in as root with su -. There are places where it matters, although I'm not sure if this is one.

unfortunately, trying to install the scanner in a VirtualBox emulating Windows fails: VirtualBox-ose needs VirtualBox-ose-additions to manage with USB 2.0 stuff; "additions" is said to conflict with VirtualBox-ose (installs files in the same place) and fails to install.

The additions are installed inside the VM, not on the host.

The sane-project.org web site has been down for a while (don't know why), so I was not able to check support for that scanner.
 
Hi Warren,

Thanks for your reply.

I logged in using su instead of sudo, but unsuccessfully.

Sorry, I had mistaken virtualbox-additions for virtualbox-extensions; unluckily, the latter one is only available (as binary, not as source) for Linux (and not in ports/emulators). Thus the way using the proprietary Canon driver in a Virtualbox running Windows does not succeed, as all the USB ports in my box are USB 2.0!

So I'll investigate further!

Best regards

Roger
 
The USB 2.0 specification is supposed to be backwards-compatible with USB 1.x.
 
The extensions and additions are the same thing. While running the VM, go to the Devices menu. "Install guest additions is at the bottom. That mounts a CD image with the drivers. It may even auto-run. After installing those drivers, and possibly restarting the VM, USB devices will be available in the same menu for pass-through.

The USB 1.0 thing is not a problem. The original USB pass-through just used the USB 1.0 protocol, it was not a restriction on the type of port.
 
Hello Warren,

Just to say that I found a workaround and will close that thread.

For those concerned by a similar issue, here are few details:
  1. The scanner Canon 9000F is supported by the pixma backend, part of the graphics/sane-backends port; the provided version is sane-backends-1.0.23.
  2. The Canon 9000F MkII is technically similar, but differs only from a limited bundled software (i.e. no OCR); but he has a different product ID; as the product ID is embedded in the backend, the device appears as unsupported. (This is obvious when digging in the pixma_mp810.c source code.)
  3. Yes, the SANE website seems sleeping for a while, but sane-backends are regularly updated; now a version sane-backends-1.0.24 is available, including support for the 9000F MkII. (Note that xsane keep the same stable version.)
  4. Uninstalling sane-backends from port, compiling separately sane-backends-1.0.24 allows you to install the libraries in the proper place and make the device supported.
  5. Please edit the /etc/devd/saned.conf file according to the hint provided in work/pkg-message.
  6. Depending on the physical port the scanner is connected to, on the possible USB-sticks connected or not at boot up, and wether the scanner is powered before or after boot up, the numbering of the /dev/ugen.*.* could be different. (In my box, it could be /dev/ugen7.2 or /dev/ugen7.3 ; that could be an issue?)
Thank you again for your involvement.

(I apologize for my approximative English language, but you are lucky: you don't hear the pronunciation!)

Best regards,

Roger
 
Back
Top