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