[sane-devel] Neat ND-1000 GL843 Genesys Scanner Support

Jared Faivre jaredfaivre at gmail.com
Tue Nov 24 03:13:38 GMT 2020


Hello,

I have been attempting to get the Neat ND-1000 scanner to work on Linux.
I've spent a few hours researching and it appears that while this scanner
is not on the supported scanners list, it seems like its very likely to
work with little effort.

I attempted to pull the current backends master tree to hack and rebuild to
see if I could get it going, but I'm not having any luck in my build
environment (Debian 10) - probably missing a bunch of stuff required to
build. I went a few rounds installing some missing packages but still not
making any real progress. Debian 10 is using 1.0.27, and after perusing the
codebase on gitlab, the master branch appears to be significantly different
for the genesys backend and possibly even a rewrite(?).

At any rate, sane-find-scanner returns the following:

found USB scanner (vendor=0x1f44 [The Neat Company], product=0x0050 [Neat
ADF Scanner]) at libusb:001:006

Scanimage -L won't return the scanner, and returns the following relevant
lines on debug (SANE_DEBUG_DLL=128 SANE_DEBUG_GENESYS=128
SANE_DEBUG_SANEI_USB=128 scanimage -L):

[dll] add_backend: adding backend `genesys'
dll] load: searching backend `genesys' in
`/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane'
[dll] load: trying to load
`/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1'

[dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-genesys.so.1'

[dll] init: initializing backend `genesys'
[sanei_debug] Setting debug level of genesys to 128.
[genesys] SANE Genesys backend version 1.0 build 2511 from sane-backends
1.0.27
[genesys] SANE Genesys backend built with libusb-1.0
[genesys] sane_init: authorize != null

...

[sanei_usb] libusb_scan_devices: found libusb-1.0 device (0x1f44/0x0050)
interface 0 at libusb:001:006
[sanei_usb] store_device: not storing device libusb:001:006

...

[sanei_usb] sanei_usb_scan_devices: device 00 is libusb:001:006
[sanei_usb] sanei_usb_scan_devices: found 1 devices
[genesys] sane_init: little endian machine
[genesys] probe_genesys_devices start
[sanei_usb] sanei_usb_find_devices: vendor=0x03f0, product=0x0a01
[sanei_usb] sanei_usb_find_devices: vendor=0x03f0, product=0x1405
[sanei_usb] sanei_usb_find_devices: vendor=0x1f44, product=0x0050
[genesys] attach: start: devp != NULL, may_wait = 0
[genesys] attach: trying to open device `libusb:001:006'
[sanei_usb] sanei_usb_open: trying to open device `libusb:001:006'
[sanei_usb] sanei_usb_open: configuration nr: 0
[sanei_usb] sanei_usb_open:     interface nr: 0
[sanei_usb] sanei_usb_open:   alt_setting nr: 0
[sanei_usb] sanei_usb_open: endpoint nr: 0
[sanei_usb] sanei_usb_open: direction: 128
[sanei_usb] sanei_usb_open: address: 1 transfertype: 2
[sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x01)
[sanei_usb] sanei_usb_open: endpoint nr: 1
[sanei_usb] sanei_usb_open: direction: 0
[sanei_usb] sanei_usb_open: address: 2 transfertype: 2
[sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x02)
[sanei_usb] sanei_usb_open: endpoint nr: 2
[sanei_usb] sanei_usb_open: direction: 128
[sanei_usb] sanei_usb_open: address: 3 transfertype: 3
[sanei_usb] sanei_usb_open: found interrupt-in endpoint (address 0x03)
[sanei_usb] sanei_usb_open: opened usb device `libusb:001:006' (*dn=0)
[genesys] attach: device `libusb:001:006' successfully opened
[sanei_usb] sanei_usb_get_vendor_product: device 0: vendorID: 0x1f44,
productID: 0x0050
[genesys] attach: vendor 8004 product 80 is not supported by this backend
[genesys] attach_one_device: Invalid argument

...

[genesys] probe_genesys_devices: 0 devices currently attached
[genesys] probe_genesys_devices completed
[genesys] sane_genesys_init completed

I have already added the following line to /etc/sane.d/gensys.conf:

# Neat ND-1000
usb 0x1f44 0x0050

I have also ensured that saned is not masked by systemd, enabled, started,
restarted, etc.

It looks to me that this message:

"[genesys] attach: vendor 8004 product 80 is not supported by this backend"

Indicates that the code does not recognize the Neat ND-1000's USB VendorID
and ProductID. It seems that adding that info to backends/genesys_devices.c
with a reference to a similar scanner may get it to work.

I would try adding these into the codebase and compiling myself, but as I
said, I didn't figure out a working build environment. Any thoughts on
getting this to work?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/sane-devel/attachments/20201123/26d13430/attachment.html>


More information about the sane-devel mailing list