[sane-devel] Scanner Woes (Primax USB 0x0461:0x0371 Realtek RTS8801B)

Pedro pedro420@comcast.net
Fri, 01 Jul 2005 20:23:07 -0400


I have a Visioneer OnTouch 8700 USB scanner 
(actually a Primax USB scanner?)
vendor=0x0461, product=0x0371, Realtek RTS8801B chipset

Its said to be supported by the linux kernel scanner driver, 
(scanner.c) though there doesnt seem to be a sane backend written 
for it. 
): www.sane-project.org/unsupported/visioneer-onetouch8920.html ):

If replying from d-u@l.d.o please bc:pedro420@comcast.net

### OS Information

~$ cat /etc/debian_version
3.1

~$ uname -r
2.6.8-2-686

~$ dpkg -l | grep ^.i | grep sane
ii  libsane        1.0.15-9       API library for scanners
ii  sane           1.0.13-2       scanner graphical frontends
ii  sane-utils     1.0.15-9       API library for scanners -- utilities
ii  xsane          0.97-3         GTK+-based X11 frontend for SANE 
ii  xsane-common   0.97-3         GTK+-based X11 frontend for SANE 

### Device Information

~$ cat /proc/bus/usb/devices

T:  Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc= 99/900 us (11%), #Int=  1, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.8-2-686 uhci_hcd
S:  Product=Intel Corp. 82801BA/BAM USB (Hub #2)
S:  SerialNumber=0000:00:1f.4
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=02 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=1.5 MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0461 ProdID=4d23 Rev= 1.30
S:  Manufacturer=Primx
S:  Product=3D RF Mouse
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 40mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
E:  Ad=81(I) Atr=03(Int.) MxPS=   5 Ivl=10ms

T:  Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#=  1 Spd=12  MxCh= 2
B:  Alloc=  0/900 us ( 0%), #Int=  0, #Iso=  0
D:  Ver= 1.10 Cls=09(hub  ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0000 ProdID=0000 Rev= 2.06
S:  Manufacturer=Linux 2.6.8-2-686 uhci_hcd
S:  Product=Intel Corp. 82801BA/BAM USB (Hub #1)
S:  SerialNumber=0000:00:1f.2
C:* #Ifs= 1 Cfg#= 1 Atr=c0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 1 Cls=09(hub  ) Sub=00 Prot=00 Driver=hub
E:  Ad=81(I) Atr=03(Int.) MxPS=   2 Ivl=255ms

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  3 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
P:  Vendor=0461 ProdID=0371 Rev= 1.00
S:  Manufacturer=Primax
S:  Product=USB Scanner
S:  SerialNumber=RTS8801B-0001
C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr=  0mA
I:  If#= 0 Alt= 0 #EPs= 3 Cls=00(>ifc ) Sub=00 Prot=00 Driver=(none)
E:  Ad=81(I) Atr=02(Bulk) MxPS=  64 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS=   8 Ivl=0ms
E:  Ad=83(I) Atr=03(Int.) MxPS=   1 Ivl=250ms

~$ sane-find-scanner -v -v | grep -v \#
This is sane-find-scanner from sane-backends 1.0.15

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 0x0461/0x4d23 at 002:002>
bLength               18
bDescriptorType       1
bcdUSB                1.10
bDeviceClass          0
bDeviceSubClass       0
bDeviceProtocol       0
bMaxPacketSize0       8
idVendor              0x0461
idProduct             0x4D23
bcdDevice             1.30
iManufacturer         1 ((null))
iProduct              2 ((null))
iSerialNumber         0 ()
bNumConfigurations    1
 <configuration 0>
 bLength              9
 bDescriptorType      2
 wTotalLength         34
 bNumInterfaces       1
 bConfigurationValue  1
 iConfiguration       0 ()
 bmAttributes         160 (Remote Wakeup)
 MaxPower             40 mA
  <interface 0>
   <altsetting 0>
   bLength            9
   bDescriptorType    4
   bInterfaceNumber   0
   bAlternateSetting  0
   bNumEndpoints      1
   bInterfaceClass    3
   bInterfaceSubClass 1
   bInterfaceProtocol 2
   iInterface         0 ()
    <endpoint 0>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x81 (in 0x01)
    bmAttributes      3 (interrupt)
    wMaxPacketSize    5
    bInterval         10 ms
    bRefresh          0
    bSynchAddress     0

<device descriptor of 0x0000/0x0000 at 002:001>
bLength               18
bDescriptorType       1
bcdUSB                1.10
bDeviceClass          9
bDeviceSubClass       0
bDeviceProtocol       0
bMaxPacketSize0       8
idVendor              0x0000
idProduct             0x0000
bcdDevice             2.06
iManufacturer         3 ((null))
iProduct              2 ((null))
iSerialNumber         1 ((null))
bNumConfigurations    1
 <configuration 0>
 bLength              9
 bDescriptorType      2
 wTotalLength         25
 bNumInterfaces       1
 bConfigurationValue  1
 iConfiguration       0 ()
 bmAttributes         192 (Self-powered)
 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    2
    bInterval         255 ms
    bRefresh          0
    bSynchAddress     0

<device descriptor of 0x0461/0x0371 at 001:003>
bLength               18
bDescriptorType       1
bcdUSB                1.10
bDeviceClass          0
bDeviceSubClass       0
bDeviceProtocol       0
bMaxPacketSize0       8
idVendor              0x0461
idProduct             0x0371
bcdDevice             1.00
iManufacturer         1 ((null))
iProduct              2 ((null))
iSerialNumber         8 ((null))
bNumConfigurations    1
 <configuration 0>
 bLength              9
 bDescriptorType      2
 wTotalLength         39
 bNumInterfaces       1
 bConfigurationValue  1
 iConfiguration       6 ((null))
 bmAttributes         224 (Self-poweredRemote Wakeup)
 MaxPower             0 mA
  <interface 0>
   <altsetting 0>
   bLength            9
   bDescriptorType    4
   bInterfaceNumber   0
   bAlternateSetting  0
   bNumEndpoints      3
   bInterfaceClass    0
   bInterfaceSubClass 0
   bInterfaceProtocol 0
   iInterface         7 ((null))
    <endpoint 0>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x81 (in 0x01)
    bmAttributes      2 (bulk)
    wMaxPacketSize    64
    bInterval         0 ms
    bRefresh          0
    bSynchAddress     0
    <endpoint 1>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x02 (out 0x02)
    bmAttributes      2 (bulk)
    wMaxPacketSize    8
    bInterval         0 ms
    bRefresh          0
    bSynchAddress     0
    <endpoint 2>
    bLength           7
    bDescriptorType   5
    bEndpointAddress  0x83 (in 0x03)
    bmAttributes      3 (interrupt)
    wMaxPacketSize    1
    bInterval         250 ms
    bRefresh          0
    bSynchAddress     0

<trying to find out which USB chip is used>
    checking for GT-6801 ...
    this is not a GT-6801 (bDeviceClass = 0)
    checking for GT-6816 ...
    this is not a GT-6816 (bDeviceClass = 0, bInterfaceClass = 0)
    checking for GT-8911 ...
    this is not a GT-8911 (check 1, bDeviceClass = 0, bInterfaceClass =
0)
    checking for MA-1017 ...
    this is not a MA-1017 (bcdUSB = 0x110)
    checking for MA-1015 ...
    this is not a MA-1015 (bDeviceClass = 0)
    checking for MA-1509 ...
    this is not a MA-1509 (bDeviceClass = 0)
    checking for LM983[1,2,3] ...
    this is not a LM983x (bDeviceClass = 0, bInterfaceClass = 0)
    checking for GL646 ...
    this is not a GL646 (bDeviceClass = 0, bInterfaceClass = 0)
    checking for GL646_HP ...
    this is not a GL646_HP (bDeviceClass = 0, bInterfaceClass = 0)
    checking for GL660+GL646 ...
    this is not a GL660+GL646 (bDeviceClass = 0, bInterfaceClass = 0)
    checking for GL841 ...
    this is not a GL841 (bDeviceClass = 0, bInterfaceClass = 0)
    checking for ICM532B ...
    this is not a ICM532B (check 1, bDeviceClass = 0, bInterfaceClass =
0)
<Couldn't determine the type of the USB chip>

found USB scanner (vendor=0x0461, product=0x0371) at libusb:001:003

<device descriptor of 0x0000/0x0000 at 001:001>
bLength               18
bDescriptorType       1
bcdUSB                1.10
bDeviceClass          9
bDeviceSubClass       0
bDeviceProtocol       0
bMaxPacketSize0       8
idVendor              0x0000
idProduct             0x0000
bcdDevice             2.06
iManufacturer         3 ((null))
iProduct              2 ((null))
iSerialNumber         1 ((null))
bNumConfigurations    1
 <configuration 0>
 bLength              9
 bDescriptorType      2
 wTotalLength         25
 bNumInterfaces       1
 bConfigurationValue  1
 iConfiguration       0 ()
 bmAttributes         192 (Self-powered)
 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    2
    bInterval         255 ms
    bRefresh          0
    bSynchAddress     0



done

### System Information

~$ cat /proc/cpuinfo
processor       : 0
vendor_id       : GenuineIntel
cpu family      : 6
model           : 8
model name      : Pentium III (Coppermine)
stepping        : 6
cpu MHz         : 996.717
cache size      : 256 KB
fdiv_bug        : no
hlt_bug         : no
f00f_bug        : no
coma_bug        : no
fpu             : yes
fpu_exception   : yes
cpuid level     : 2
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge
mca cmov pat pse36 mmx fxsr sse
bogomips        : 1978.36

~$ cat /proc/meminfo
MemTotal:       125796 kB
MemFree:          2280 kB
Buffers:          2512 kB
Cached:          35480 kB
SwapCached:      21120 kB
Active:          96840 kB
Inactive:         5728 kB
HighTotal:           0 kB
HighFree:            0 kB
LowTotal:       125796 kB
LowFree:          2280 kB
SwapTotal:      377488 kB
SwapFree:       299592 kB
Dirty:              56 kB
Writeback:           0 kB
Mapped:          94504 kB
Slab:             7884 kB
Committed_AS:   397424 kB
PageTables:       1212 kB
VmallocTotal:   901112 kB
VmallocUsed:      3052 kB
VmallocChunk:   897892 kB

~$ lspci | grep Intel
0000:00:00.0 Host bridge: Intel Corp. 82815 815 Chipset Host Bridge and
Memory Controller Hub (rev 02)
0000:00:02.0 VGA compatible controller: Intel Corp. 82815 CGC [Chipset
Graphics Controller] (rev 02)
0000:00:1e.0 PCI bridge: Intel Corp. 82801 PCI Bridge (rev 02)
0000:00:1f.0 ISA bridge: Intel Corp. 82801BA ISA Bridge (LPC) (rev 02)
0000:00:1f.1 IDE interface: Intel Corp. 82801BA IDE U100 (rev 02)
0000:00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev
02)
0000:00:1f.3 SMBus: Intel Corp. 82801BA/BAM SMBus (rev 02)
0000:00:1f.4 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #2) (rev
02)