[sane-devel] Using scanimage's -device option to specify one of two identical scanners

Joel Penner joelcpenner at gmail.com
Sun Feb 23 05:15:10 UTC 2014


Using lsusb -t I get this feedback:

pi at raspberrypi ~ $ lsusb -t
/:  Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
    |__ Port 1: Dev 2, If 0, Class=hub, Driver=hub/3p, 480M
        |__ Port 1: Dev 3, If 0, Class=vend., Driver=smsc95xx, 480M
        |__ Port 3: Dev 11, If 0, Class=vend., Driver=usbfs, 480M

I do notice how sane-find-scanner returns the bus/port data:

sudo sane-find-scanner

  # sane-find-scanner will now attempt to detect your scanner. If the
  # result is different from what you expected, first make sure your
  # scanner is powered up and properly connected to your computer.

  # No SCSI scanners found. If you expected something different, make sure
that
  # you have loaded a kernel SCSI driver for your SCSI adapter.
  # Also you need support for SCSI Generic (sg) in your operating system.
  # If using Linux, try "modprobe sg".

found USB scanner (vendor=0x04a9 [Canon], product=0x1908 [CanoScan]) at
libusb:001:011
found USB scanner (vendor=0x0424, product=0xec00) at libusb:001:003

How would I use the libusb:001:011 identifier for the 9000f with scanimage?
If I try to tell scanimage to use one of those with the -device option, I
get this feedback:

pi at raspberrypi ~/sambashare $ sudo LD_LIBRARY_PATH=/usr/lib/:/lib scanimage
--progress --verbose --batch --format=tiff --resolution=2400 -x 240 -y 135 *-d
libusb:001:011* --batch-start=110000 > /home/pi/sambashare/myco%5d.tif
scanimage:* open of device libusb:001:011 failed: Invalid argument*
pi at raspberrypi ~/sambashare $ sudo LD_LIBRARY_PATH=/usr/lib/:/lib scanimage
--progress --verbose --batch --format=tiff --resolution=2400 -x 240 -y 135 *-d
libusb:001:003* --batch-start=110000 > /home/pi/sambashare/myco%5d.tif
scanimage:* open of device libusb:001:003 failed: Invalid argument*


- Joel

On Thu, Feb 20, 2014 at 5:33 PM, Olaf Meeuwissen
<olaf.meeuwissen at avasys.jp>wrote:

>
> m. allan noah writes:
>
> > Some scanners have a serial number which can be seen by software. Some
> > sane backends use that serial as part of the device name. If your
> > scanners or the pixma backend don't support this, you will have to
> > find another way. Perhaps forcing the device name using udev or
> > whatever Linux is using this week.
>
> It just so happens that I've been looking at this about three weeks ago
> for a third party backend.  The scanners this backend should support
> have varying degrees of serial number support:
>
>  - not at all
>  - at the USB level only
>  - at the device protocol level only
>  - at both USB and device protocol level only
>
> I wanted/needed to be able to support all of the above, even the case
> where there is *no* serial number support at all.  With libusb-1.0 this
> is possible (at least on a recent enough Linux system) using the
>
>   libusb_get_bus_number()
>
> and
>
>   libusb_get_device_address()
>
> API.  When using libusb-1.0.12 or later you can also use
>
>   libusb_get_port_number()
>
> With a USB device hooked up to my machine, lsusb -t shows:
>
>   /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
>       |__ Port 5: Dev 26, If 0, Class=Vendor Specific Class, Driver=, 480M
>
> Inserting a USB hub between the two, this changes to:
>
>   /:  Bus 03.Port 1: Dev 1, Class=root_hub, Driver=ehci-pci/6p, 480M
>       |__ Port 5: Dev 27, If 0, Class=Hub, Driver=hub/4p, 480M
>           |__ Port 4: Dev 28, If 0, Class=Vendor Specific Class, Driver=,
> 480M
>
> The device number (Dev) changes every time you reconnect the USB cable
> (or power cycle the device) but bus and port numbers don't change (but
> they might upon a reboot).
>
> > On Thu, Feb 20, 2014 at 1:47 AM, Joel Penner <joelcpenner at gmail.com>
> wrote:
> >> I have two CanoScan 9000f scanners that I'm using for a time-lapse
> scanner
> >> photography project. How do I tell two instances of scanimage to each
> use
> >> their own 9000f scanner on the same raspberry pi using the -device flag?
> >> Using sane-find-scanner to find an ID of connected scanners generates
> the
> >> same ID for both, non-surprisingly.
>
> Hope this helps,
> --
> Olaf Meeuwissen, LPIC-2           FLOSS Engineer -- AVASYS CORPORATION
> FSF Associate Member #1962               Help support software freedom
>                  http://www.fsf.org/jf?referrer=1962
>
> --
> sane-devel mailing list: sane-devel at lists.alioth.debian.org
> http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/sane-devel
> Unsubscribe: Send mail with subject "unsubscribe your_password"
>              to sane-devel-request at lists.alioth.debian.org
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.alioth.debian.org/pipermail/sane-devel/attachments/20140222/596a953b/attachment.html>


More information about the sane-devel mailing list