[sane-devel] IRIScan pro 5
Julien Benatar
julien.benatar at orange.fr
Sun Jun 9 16:29:00 BST 2024
Hello everyone,
I am new to this mailing list so I hope that the information I provide
are relevant.
I own a portable USB scanner called "IRIScan Pro 5", here is the
business description: https://iriscorporate.com/products/iriscan-pro-5/.
The drivers are only available for Windows and Mac, and interaction with
the scanner can be done through a GUI called ButtonManager (here is the
user manual :
https://www.irislink.com/Documents/Image/_IrisLink2.0/support/IRIScan_pro_5/IS_ButtonManager_US.pdf).
From what I have seen, when the scanner starts up, the
driver/ButtonManager seems to upload its configuration on the scanner,
which alters its display. Then the scan can be launched from the scanner
itself (using the "Scan" button") or using the Windows GUI.
I want to report it as an unsupported device, and give as much
information as I can on it (see command outputs at the end of the mail).
Also, I consider developing a backend myself, but it depends on the
following two questions:
- Has anybody already worked on this device, or maybe a similar one? I
plan to contact the company but maybe we already got some information on
our side.
- Does the behavior and the USB information of this device seem
classic/standard to anybody? I am new on this subject, but I spied on
the USB exchanges and it seems to be very manufacturer-specific...
Thank you in advance for your answers!
Regards,
Julien
Here is the output of "lsusb -v":
Bus 001 Device 006: ID 0a38:0163 IRIS sa IRIScan Pro 5
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 64
idVendor 0x0a38 IRIS sa
idProduct 0x0163 IRIScan Pro 5
bcdDevice 1.15
iManufacturer 1 IRIS
iProduct 2 IRIScan Pro 5
iSerial 3 A090445678330474
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 0x0027
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0xc0
Self Powered
MaxPower 100mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 3
bInterfaceClass 255 Vendor Specific Class
bInterfaceSubClass 255 Vendor Specific Subclass
bInterfaceProtocol 255 Vendor Specific Protocol
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x81 EP 1 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 0x02 EP 2 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 0x83 EP 3 IN
bmAttributes 3
Transfer Type Interrupt
Synch Type None
Usage Type Data
wMaxPacketSize 0x0008 1x 8 bytes
bInterval 8
Device Qualifier (for other device speed):
bLength 10
bDescriptorType 6
bcdUSB 2.00
bDeviceClass 255 Vendor Specific Class
bDeviceSubClass 255 Vendor Specific Subclass
bDeviceProtocol 255 Vendor Specific Protocol
bMaxPacketSize0 64
bNumConfigurations 1
Device Status: 0x0001
Self Powered
and the output of "sane-find-scanner -v -v":
<device descriptor of 0x0a38/0x0163 at 001:006 (IRIS IRIScan Pro 5)>
bLength 18
bDescriptorType 1
bcdUSB 2.00
bDeviceClass 255
bDeviceSubClass 255
bDeviceProtocol 255
bMaxPacketSize0 64
idVendor 0x0A38
idProduct 0x0163
bcdDevice 1.15
iManufacturer 1 (IRIS)
iProduct 2 (IRIScan Pro 5)
iSerialNumber 3 (A090445678330474)
bNumConfigurations 1
<configuration 0>
bLength 9
bDescriptorType 2
wTotalLength 39
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0 ()
bmAttributes 192 (Self-powered)
MaxPower 100 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 8
bInterval 8 ms
bRefresh 0
bSynchAddress 0
<trying to find out which USB chip is used>
checking for LM983[1,2,3] ...
this is not a LM983x (bcdUSB = 0x200)
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 GLxxx ...
this is not a GL646 (bDeviceClass = 255, bInterfaceClass = 255)
this is not a GLxxx (bEndpointAddress = 0x83, bmAttributes = 0x3,
wMaxPacketSize = 0x8, bInterval = 0x8)
<Couldn't determine the type of the USB chip (result from sane-backends
1.3.1)>
found possible USB scanner (vendor=0x0a38 [IRIS], product=0x0163
[IRIScan Pro 5]) at libusb:001:006
More information about the sane-devel
mailing list