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

m. allan noah kitno455 at gmail.com
Sun Feb 23 13:01:07 UTC 2014


What is the output of scanimage -L

allan

On Sun, Feb 23, 2014 at 12:15 AM, Joel Penner <joelcpenner at gmail.com> wrote:
> 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
>
>



-- 
"The truth is an offense, but not a sin"



More information about the sane-devel mailing list