<div dir="ltr">Hello,<div><br></div><div>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. </div><div><br></div><div>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(?).</div><div><br></div><div>At any rate, sane-find-scanner returns the following:</div><div><br></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">found USB scanner (vendor=0x1f44 [The Neat Company], product=0x0050 [Neat ADF Scanner]) at libusb:001:006</span><br>
<br></span></div><div><span style="font-family:monospace">Scanimage -L won't return the scanner, and returns the following relevant lines on debug (</span><span style="color:rgb(0,0,0);font-family:monospace">SANE_DEBUG_DLL=128 SANE_DEBUG_GENESYS=128 SANE_DEBUG_SANEI_USB=128 scanimage -L):</span></div><div><span style="color:rgb(0,0,0);font-family:monospace"><br></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">[dll] add_backend: adding backend `</span><span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">'</span><br>
</span><span style="font-family:monospace"><span style="color:rgb(0,0,0)">dll] load: searching backend `</span><span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">' in `/usr/lib/x86_64-linux-gnu/sane:/usr/lib/sane'
</span><br>[dll] load: trying to load `/usr/lib/x86_64-linux-gnu/sane/libsane-<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">.so.1'
</span><br>[dll] load: dlopen()ing `/usr/lib/x86_64-linux-gnu/sane/libsane-<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">.so.1'
</span><br>[dll] init: initializing backend `<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">'
</span><br>[sanei_debug] Setting debug level of <span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)"> to 128.
</span><br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] SANE Genesys backend version 1.0 build 2511 from sane-backends 1.0.27
</span><br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] SANE Genesys backend built with libusb-1.0
</span><br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] sane_init: authorize != null</span><br>
<br></span></div><div><span style="font-family:monospace">...</span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">[sanei_usb] libusb_scan_devices: found libusb-1.0 device (0x1f44/0x0050) interface 0 at libusb:001:006
</span><br>[sanei_usb] store_device: not storing device libusb:001:006<br></span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace">...</span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">[sanei_usb] sanei_usb_scan_devices: device 00 is libusb:001:006
</span><br>[sanei_usb] sanei_usb_scan_devices: found 1 devices
<br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] sane_init: little endian machine
</span><br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] probe_</span><span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">_devices start
</span><br>[sanei_usb] sanei_usb_find_devices: vendor=0x03f0, product=0x0a01
<br>[sanei_usb] sanei_usb_find_devices: vendor=0x03f0, product=0x1405
<br>[sanei_usb] sanei_usb_find_devices: vendor=0x1f44, product=0x0050
<br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] attach: start: devp != NULL, may_wait = 0
</span><br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] attach: trying to open device `libusb:001:006'
</span><br>[sanei_usb] sanei_usb_open: trying to open device `libusb:001:006'
<br>[sanei_usb] sanei_usb_open: configuration nr: 0
<br>[sanei_usb] sanei_usb_open:     interface nr: 0
<br>[sanei_usb] sanei_usb_open:   alt_setting nr: 0
<br>[sanei_usb] sanei_usb_open: endpoint nr: 0
<br>[sanei_usb] sanei_usb_open: direction: 128
<br>[sanei_usb] sanei_usb_open: address: 1 transfertype: 2
<br>[sanei_usb] sanei_usb_open: found bulk-in endpoint (address 0x01)
<br>[sanei_usb] sanei_usb_open: endpoint nr: 1
<br>[sanei_usb] sanei_usb_open: direction: 0
<br>[sanei_usb] sanei_usb_open: address: 2 transfertype: 2
<br>[sanei_usb] sanei_usb_open: found bulk-out endpoint (address 0x02)
<br>[sanei_usb] sanei_usb_open: endpoint nr: 2
<br>[sanei_usb] sanei_usb_open: direction: 128
<br>[sanei_usb] sanei_usb_open: address: 3 transfertype: 3
<br>[sanei_usb] sanei_usb_open: found interrupt-in endpoint (address 0x03)
<br>[sanei_usb] sanei_usb_open: opened usb device `libusb:001:006' (*dn=0)
<br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] attach: device `libusb:001:006' successfully opened
</span><br>[sanei_usb] sanei_usb_get_vendor_product: device 0: vendorID: 0x1f44, productID: 0x0050
<br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] attach: vendor 8004 product 80 is not supported by this backend
</span><br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] attach_one_device: Invalid argument</span><br>
<br></span></div><div><span style="font-family:monospace">...</span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)">[</span><span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] probe_</span><span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">_devices: 0 devices currently attached
</span><br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] probe_</span><span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">_devices completed
</span><br>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] sane_</span><span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">_init completed</span><br>
<br></span></div><div><font face="monospace">I have already added the following line to /etc/sane.d/gensys.conf:</font></div><div><font face="monospace"><br></font></div><div><span style="font-family:monospace"><span style="color:rgb(0,0,0)"># Neat ND-1000
</span><br>usb 0x1f44 0x0050<br>
<br></span></div><div><span style="font-family:monospace">I have also ensured that saned is not masked by systemd, enabled, started, restarted, etc. </span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace">It looks to me that this message:</span></div><div><span style="font-family:monospace"><br></span></div><div><font face="monospace">"</font>[<span style="color:rgb(255,255,255);background-color:rgb(0,0,0)">genesys</span><span style="color:rgb(0,0,0)">] attach: vendor 8004 product 80 is not supported by this backend"</span></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)">Indicates that the code does not recognize the Neat ND-1000's USB VendorID and ProductID. It seems that adding that info to backends/</span><span class="gmail-file-title-name gmail-gl-word-break-all" style="box-sizing:border-box;word-break:break-all;color:rgb(48,48,48);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Noto Sans",Ubuntu,Cantarell,"Helvetica Neue",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:14px;background-color:rgb(250,250,250)">genesys_devices.c with a reference to a similar scanner may get it to work. </span><span style="color:rgb(0,0,0)"> </span></div><div><span style="color:rgb(0,0,0)"><br></span></div><div><span style="color:rgb(0,0,0)">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?</span></div><div><span style="color:rgb(0,0,0)"> </span></div><div><font face="monospace"><br></font></div><div><span style="font-family:monospace">
<br></span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"><br></span></div><div><span style="font-family:monospace"><br></span></div><div><span style="color:rgb(0,0,0);font-family:monospace"><br></span></div><div><span style="color:rgb(0,0,0);font-family:monospace"><br></span></div></div>