[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