[sane-devel] Unsupported Scanner: NeatDesk GL843 based

Brian Weaver brian36000 at gmail.com
Sat Aug 28 17:07:11 UTC 2010


Hi,

I've got a NeatDesk auto-sheet-feed scanner that is based on the GL843
and is unsupported in sane.  I've confirmed that it is GL843 by
opening up the scanner and looking at the board.  It appears to me
that there is currently no GL843 code/support in the genesys driver at
all.  The closest I could find was Andreas Robinson's work on GL843
here:  http://github.com/andr345/gl843driver

Some info on this device:
Vendor: Neat
Model: NeatDesk ADF-070108
USB ID: 0x07b3/0x0f00

I went ahead and set up a Windows XP virtual machine and used Andreas'
Linux tool to capture the USB request blocks data, which I've uploaded
here:  http://transfer.11h.net/u/log.bin.gz

I've used the "parsedump.pl" tool on the data file and uploaded it
here: http://transfer.11h.net/u/neat.log.gz

If anybody is able to make sense of this data and update the driver,
I'd be more than happy to test it out :)

Thank you.

The following is the relevant output of sane-find-scanner:

This is sane-find-scanner from sane-backends 1.0.22git

  # 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 (Access to resource has been denied)
checking /dev/sg1... failed to open (Access to resource has been denied)
checking /dev/sg2... failed to open (Invalid argument)
checking /dev/sg3... failed to open (Invalid argument)
checking /dev/sg4... failed to open (Access to resource has been denied)
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.

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 0x07b3/0x0f00 at 002:004 (Plustek INC ADF  Scanner  )>
bLength               18
bDescriptorType       1
bcdUSB                2.00
bDeviceClass          255
bDeviceSubClass       255
bDeviceProtocol       255
bMaxPacketSize0       64
idVendor              0x07B3
idProduct             0x0F00
bcdDevice             5.00
iManufacturer         10 (Plustek INC)
iProduct              11 (ADF  Scanner  )
iSerialNumber         12 (0000000011932)
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 USB chip looks like a GL845 (result from sane-backends 1.0.22git)>

found USB scanner (vendor=0x07b3 [Plustek INC], product=0x0f00 [ADF
Scanner  ], chip=GL845) at libusb:002:004

  # 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



More information about the sane-devel mailing list