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?