Skip to content

Instantly share code, notes, and snippets.

@dklenke
Last active January 1, 2022 12:54
Show Gist options
  • Save dklenke/b02e6349dcce2b5b6f4b9c9d13d0efc2 to your computer and use it in GitHub Desktop.
Save dklenke/b02e6349dcce2b5b6f4b9c9d13d0efc2 to your computer and use it in GitHub Desktop.
# Each stand-alone backend that's possible to be built should be listed
# here. There are the libraries that are installed under $(libdir)/sane.
# Format is libsane-${backend}.la.
be_dlopen_libs = libsane-abaton.la libsane-agfafocus.la \
libsane-apple.la libsane-artec.la libsane-artec_eplus48u.la \
libsane-as6e.la libsane-avision.la libsane-bh.la \
libsane-canon.la libsane-canon630u.la libsane-canon_dr.la \
libsane-canon_lide70.la \
libsane-canon_pp.la libsane-cardscan.la libsane-coolscan.la \
libsane-cs3200f.la: ../sanei/sanei_constrain_value.lo \
libsane-cs3200f.la: ../sanei/sanei_thread.lo \
libsane-cs3200f.la: ../sanei/sanei_usb.lo \
libsane-cs3200f.la: ../sanei/sanei_access.lo \
libsane-cs3200f.la: ../lib/md5.lo \
libsane-coolscan2.la libsane-coolscan3.la libsane-dc25.la \
libsane-dc210.la libsane-dc240.la libsane-dell1600n_net.la \
libsane-dmc.la libsane-epjitsu.la libsane-epson.la \
libsane-epson2.la libsane-epsonds.la libsane-escl.la libsane-fujitsu.la \
libsane-genesys.la libsane-gphoto2.la libsane-gt68xx.la libsane-hp.la \
libsane-hp3500.la libsane-hp3900.la libsane-hp4200.la \
libsane-hp5400.la libsane-hp5590.la libsane-hpljm1005.la \
libsane-hpsj5s.la libsane-hs2p.la libsane-ibm.la libsane-kodak.la libsane-kodakaio.la\
libsane-kvs1025.la libsane-kvs20xx.la libsane-kvs40xx.la \
libsane-leo.la \
libsane-lexmark.la libsane-ma1509.la libsane-magicolor.la \
libsane-matsushita.la libsane-microtek.la libsane-microtek2.la \
libsane-mustek.la libsane-mustek_pp.la libsane-mustek_usb.la \
libsane-mustek_usb2.la libsane-nec.la libsane-net.la \
libsane-niash.la libsane-p5.la \
libsane-pie.la libsane-pieusb.la libsane-pint.la libsane-pixma.la \
libsane-plustek.la libsane-plustek_pp.la libsane-pnm.la \
libsane-qcam.la libsane-ricoh.la libsane-ricoh2.la libsane-rts8891.la \
libsane-s9036.la libsane-sceptre.la libsane-sharp.la \
pi@raspberrypi:~ $ scanimage --version
scanimage (sane-backends) 1.0.32.227-5591; backend version 1.0.32
pi@raspberrypi:~ $ cat /etc/os-release
PRETTY_NAME="Raspbian GNU/Linux 11 (bullseye)"
NAME="Raspbian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=raspbian
ID_LIKE=debian
HOME_URL="http://www.raspbian.org/"
SUPPORT_URL="http://www.raspbian.org/RaspbianForums"
BUG_REPORT_URL="http://www.raspbian.org/RaspbianBugs"
pi@raspberrypi:~ $ lsusb
Bus 001 Device 002: ID 04a9:2216 Canon, Inc. CanoScan 3200F
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
pi@raspberrypi:~ $ lsusb -t
/: Bus 01.Port 1: Dev 1, Class=root_hub, Driver=dwc_otg/1p, 480M
|__ Port 1: Dev 2, If 0, Class=Vendor Specific Class, Driver=, 480M
pi@raspberrypi:~ $ sane-find-scanner -v -v
This is sane-find-scanner from sane-backends 1.0.32.227-5591
# 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.
searching for SCSI scanners:
checking /dev/scanner... failed to open (Invalid argument)
checking /dev/sg0... failed to open (Invalid argument)
checking /dev/sg1... failed to open (Invalid argument)
checking /dev/sg2... failed to open (Invalid argument)
checking /dev/sg3... failed to open (Invalid argument)
checking /dev/sg4... failed to open (Invalid argument)
checking /dev/sg5... failed to open (Invalid argument)
checking /dev/sg6... failed to open (Invalid argument)
checking /dev/sg7... failed to open (Invalid argument)
checking /dev/sg8... failed to open (Invalid argument)
checking /dev/sg9... failed to open (Invalid argument)
checking /dev/sga... failed to open (Invalid argument)
checking /dev/sgb... failed to open (Invalid argument)
checking /dev/sgc... failed to open (Invalid argument)
checking /dev/sgd... failed to open (Invalid argument)
checking /dev/sge... failed to open (Invalid argument)
checking /dev/sgf... failed to open (Invalid argument)
checking /dev/sgg... failed to open (Invalid argument)
checking /dev/sgh... failed to open (Invalid argument)
checking /dev/sgi... failed to open (Invalid argument)
checking /dev/sgj... failed to open (Invalid argument)
checking /dev/sgk... failed to open (Invalid argument)
checking /dev/sgl... failed to open (Invalid argument)
checking /dev/sgm... failed to open (Invalid argument)
checking /dev/sgn... failed to open (Invalid argument)
checking /dev/sgo... failed to open (Invalid argument)
checking /dev/sgp... failed to open (Invalid argument)
checking /dev/sgq... failed to open (Invalid argument)
checking /dev/sgr... failed to open (Invalid argument)
checking /dev/sgs... failed to open (Invalid argument)
checking /dev/sgt... failed to open (Invalid argument)
checking /dev/sgu... failed to open (Invalid argument)
checking /dev/sgv... failed to open (Invalid argument)
checking /dev/sgw... failed to open (Invalid argument)
checking /dev/sgx... failed to open (Invalid argument)
checking /dev/sgy... failed to open (Invalid argument)
checking /dev/sgz... failed to open (Invalid argument)
# 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".
searching for USB scanners:
checking /dev/usb/scanner... failed to open (Invalid argument)
checking /dev/usb/scanner0... failed to open (Invalid argument)
checking /dev/usb/scanner1... failed to open (Invalid argument)
checking /dev/usb/scanner2... failed to open (Invalid argument)
checking /dev/usb/scanner3... failed to open (Invalid argument)
checking /dev/usb/scanner4... failed to open (Invalid argument)
checking /dev/usb/scanner5... failed to open (Invalid argument)
checking /dev/usb/scanner5... failed to open (Invalid argument)
checking /dev/usb/scanner7... failed to open (Invalid argument)
checking /dev/usb/scanner8... failed to open (Invalid argument)
checking /dev/usb/scanner9... failed to open (Invalid argument)
checking /dev/usb/scanner10... failed to open (Invalid argument)
checking /dev/usb/scanner11... failed to open (Invalid argument)
checking /dev/usb/scanner12... failed to open (Invalid argument)
checking /dev/usb/scanner13... failed to open (Invalid argument)
checking /dev/usb/scanner14... failed to open (Invalid argument)
checking /dev/usb/scanner15... failed to open (Invalid argument)
checking /dev/usbscanner... failed to open (Invalid argument)
checking /dev/usbscanner0... failed to open (Invalid argument)
checking /dev/usbscanner1... failed to open (Invalid argument)
checking /dev/usbscanner2... failed to open (Invalid argument)
checking /dev/usbscanner3... failed to open (Invalid argument)
checking /dev/usbscanner4... failed to open (Invalid argument)
checking /dev/usbscanner5... failed to open (Invalid argument)
checking /dev/usbscanner6... failed to open (Invalid argument)
checking /dev/usbscanner7... failed to open (Invalid argument)
checking /dev/usbscanner8... failed to open (Invalid argument)
checking /dev/usbscanner9... failed to open (Invalid argument)
checking /dev/usbscanner10... failed to open (Invalid argument)
checking /dev/usbscanner11... failed to open (Invalid argument)
checking /dev/usbscanner12... failed to open (Invalid argument)
checking /dev/usbscanner13... failed to open (Invalid argument)
checking /dev/usbscanner14... failed to open (Invalid argument)
checking /dev/usbscanner15... failed to open (Invalid argument)
trying libusb:
<device descriptor of 0x04a9/0x2216 at 001:002 (CanoScan)>
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255
bDeviceSubClass 255
bDeviceProtocol 255
bMaxPacketSize0 64
idVendor 0x04A9
idProduct 0x2216
bcdDevice 2.00
iManufacturer 3 ()
iProduct 4 (CanoScan)
iSerialNumber 0 ()
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 192 (Self-powered)
MaxPower 10 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255
bInterfaceSubClass 255
bInterfaceProtocol 255
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 1>
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 (out 0x02)
bmAttributes 2 (bulk)
wMaxPacketSize 512
bInterval 0 ms
bRefresh 0
bSynchAddress 0
<endpoint 2>
bLength 7
bDescriptorType 5
bEndpointAddress 0x83 (in 0x03)
bmAttributes 3 (interrupt)
wMaxPacketSize 1
bInterval 8 ms
bRefresh 0
bSynchAddress 0
<trying to find out which USB chip is used>
checking for GT-6801 ...
this is not a GT-6801 (bcdUSB = 0x200)
checking for GT-6816 ...
this is not a GT-6816 (bDeviceClass = 255, bInterfaceClass = 255)
checking for GT-8911 ...
this is not a GT-8911 (check 1, bDeviceClass = 255, bInterfaceClass = 255)
checking for MA-1017 ...
this is not a MA-1017 (bDeviceClass = 255, bInterfaceClass = 255)
checking for MA-1015 ...
this is not a MA-1015 (bcdUSB = 0x200)
checking for MA-1509 ...
this is not a MA-1509 (bcdUSB = 0x200)
checking for LM983[1,2,3] ...
this is not a LM983x (bcdUSB = 0x200)
checking for GL646 ...
this is not a GL646 (bDeviceClass = 255, bInterfaceClass = 255)
checking for GL646_HP ...
this is not a GL646_HP (bcdUSB = 0x200)
checking for GL660+GL646 ...
this is not a GL660+GL646 (bDeviceClass = 255, bInterfaceClass = 255)
checking for GL84x ...
this is not a GL84x (writing register failed)
checking for ICM532B ...
this is not a ICM532B (check 2, bcdUSB = 0x200)
checking for PV8630/LM9830 ...
this is not a PV8630/LM9830 (bDeviceClass = 255)
checking for M011 ...
this is not a M011 (bcdUSB = 0x200)
checking for RTS8822 ...
this is not a RTS8822 (bDeviceClass = 255)
checking for rts8858c ...
this is not a rts8858c (bDeviceClass = 255)
checking for SQ113 ...
this is not a SQ113 (bDeviceClass = 255)
checking for HP4500C/4570C/5500C/5550C/5590/7650 chipset ...
Couldn't read USB-in-USB confirmation (Broken pipe)
checking for rts8801/rts8891 ...
this is not a rts8801/rts8891 (bDeviceClass = 255)
<Couldn't determine the type of the USB chip (result from sane-backends 1.0.32.227-5591)>
found USB scanner (vendor=0x04a9, product=0x2216 [CanoScan]) at libusb:001:002
<device descriptor of 0x1d6b/0x0002 at 001:001>
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 9
bDeviceSubClass 0
bDeviceProtocol 1
bMaxPacketSize0 64
idVendor 0x1D6B
idProduct 0x0002
bcdDevice 5.10
iManufacturer 3 ()
iProduct 2 ()
iSerialNumber 1 ()
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 25
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 224 (Self-poweredRemote Wakeup)
MaxPower 0 mA
<interface 0>
<altsetting 0>
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 1
bInterfaceClass 9
bInterfaceSubClass 0
bInterfaceProtocol 0
iInterface 0 ()
<endpoint 0>
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 (in 0x01)
bmAttributes 3 (interrupt)
wMaxPacketSize 4
bInterval 12 ms
bRefresh 0
bSynchAddress 0
# Your USB scanner was (probably) detected. It may or may not be supported by
# SANE. Try scanimage -L and read the backend's manpage.
# Not checking for parallel port scanners.
# Most Scanners connected to the parallel port or other proprietary ports
# can't be detected by this program.
# You may want to run this program as root to find all devices. Once you
# found the scanner devices, be sure to adjust access permissions as
# necessary.
done
pi@raspberrypi:~ $ scanimage -L
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).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment