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

Povilas Kanapickas povilas at radix.lt
Tue Nov 24 19:16:08 GMT 2020


Hi Jared,

On 11/24/20 5:13 AM, Jared Faivre wrote:
> 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 genesysto 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?

Just FYI, implementing support for ND-1000 is on my plans. There's a
more important thing to consider: the sheetfed scanner support in the
genesys backend is currently very brittle. We need to clean that up
before spending time on ND-1000.

Cheers,
Povilas




More information about the sane-devel mailing list