<div dir="ltr"><div dir="ltr">Hi,</div><br><div class="gmail_quote gmail_quote_container"><div dir="ltr" class="gmail_attr">On Sat, Oct 4, 2025 at 4:56 PM Jaden Young <<a href="mailto:mraweshumsauce@gmail.com">mraweshumsauce@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div>I just picked this thing up and I was able to get it to work fairly well outside of having to go back and forth between my computer anytime there was a feed error (user error) but I tried to get this work over on Debian with no luck so far.</div><div><br></div><div>I think I've included all the best info</div><br>OS: Debian 12<br>ScanImage Version: 1.1.1-debian; backend version 1.1.1<br>libusb: 2:1.0.26-1<br><br>Model: Ambir ImageScan Pro 820i<br>Vendor: 0x20ec<br>Product: 0x0820</div><div dir="ltr"><br>'sane-find-scanner' output: found possible USB scanner (vendor=0x20ec [Ambir INC], product=0x0820 [ImageScan Pro 820i], chip=GL843) at libusb:001:016<br></div></div></blockquote><div><br></div><div>Although not necessarily conclusive, it probably is a genesys device.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br><div>I also included a debug log which I made after I put 'usb 0x20ec 0x0820' inside of /etc/sane.d/genesys.conf</div><div><br></div>~# SANE_DEBUG_GENESYS=255 scanimage -L<br><br>[18:06:12.153363] [sanei_debug] Setting debug level of genesys to 255.<br>[18:06:12.153420] [genesys] void genesys::sane_init_impl(SANE_Int*, SANE_Auth_Callback): start<br>[18:06:12.153430] [genesys] void genesys::sane_init_impl(SANE_Int*, SANE_Auth_Callback): [18:06:12.153438] [genesys] authorize != null[18:06:12.153444] [genesys]<br>[18:06:12.153450] [genesys] SANE Genesys backend from sane-backends 1.1.1-debian<br>[18:06:12.153462] [genesys] SANE Genesys backend built with libusb-1.0<br>[18:06:12.154190] [genesys] sane_init_impl: little endian machine<br>[18:06:12.154202] [genesys] void genesys::probe_genesys_devices(): start<br>[18:06:12.154236] [genesys] SANE_Status genesys::attach_one_device(SANE_String_Const): start<br>[18:06:12.154246] [genesys] genesys::Genesys_Device* genesys::attach_device_by_name(SANE_String_Const, bool): start<br>[18:06:12.154253] [genesys] genesys::Genesys_Device* genesys::attach_device_by_name(SANE_String_Const, bool): [18:06:12.154259] [genesys]  devname: libusb:001:013, may_wait = 0[18:06:12.154265] [genesys]<br>[18:06:12.154272] [genesys] attach_device_by_name: trying to open device `libusb:001:013'<br>[18:06:12.154279] [genesys] virtual void genesys::UsbDevice::open(const char*): start<br>[18:06:12.154331] [genesys] virtual void genesys::UsbDevice::open(const char*): completed<br>[18:06:12.154340] [genesys] attach_device_by_name: device `libusb:001:013' successfully opened<br>[18:06:12.154348] [genesys] virtual uint16_t genesys::UsbDevice::get_vendor_id(): start<br>[18:06:12.154354] [genesys] virtual uint16_t genesys::UsbDevice::get_vendor_id(): completed<br>[18:06:12.154362] [genesys] virtual uint16_t genesys::UsbDevice::get_product_id(): start<br>[18:06:12.154368] [genesys] virtual uint16_t genesys::UsbDevice::get_product_id(): completed<br>[18:06:12.154375] [genesys] virtual void genesys::UsbDevice::close(): start<br>[18:06:12.154397] [genesys] virtual void genesys::UsbDevice::close(): completed<br>[18:06:12.154466] [genesys] genesys::Genesys_Device* genesys::attach_device_by_name(SANE_String_Const, bool): failed<br>[18:06:12.154479] [genesys] attach_one_device: got error: vendor 0x20ec product 0x820 (bcdDevice 0xffff) is not supported by this backend : Invalid argument<br>[18:06:12.154489] [genesys] SANE_Status genesys::attach_one_device(SANE_String_Const): completed<br>[18:06:12.154506] [genesys] probe_genesys_devices: 0 devices currently attached<br>[18:06:12.154514] [genesys] void genesys::probe_genesys_devices(): completed<br>[18:06:12.154521] [genesys] void genesys::sane_init_impl(SANE_Int*, SANE_Auth_Callback): completed<br>[18:06:12.154528] [genesys] void genesys::sane_get_devices_impl(const SANE_Device***, SANE_Bool): start<br>[18:06:12.154537] [genesys] void genesys::sane_get_devices_impl(const SANE_Device***, SANE_Bool): [18:06:12.154543] [genesys] local_only = false[18:06:12.154553] [genesys]<br>[18:06:12.154749] [genesys] void genesys::probe_genesys_devices(): start<br>[18:06:12.154781] [genesys] SANE_Status genesys::attach_one_device(SANE_String_Const): start<br>[18:06:12.154789] [genesys] genesys::Genesys_Device* genesys::attach_device_by_name(SANE_String_Const, bool): start<br>[18:06:12.154796] [genesys] genesys::Genesys_Device* genesys::attach_device_by_name(SANE_String_Const, bool): [18:06:12.154802] [genesys]  devname: libusb:001:013, may_wait = 0[18:06:12.154808] [genesys]<br>[18:06:12.154814] [genesys] attach_device_by_name: trying to open device `libusb:001:013'<br>[18:06:12.154820] [genesys] virtual void genesys::UsbDevice::open(const char*): start<br>[18:06:12.154851] [genesys] virtual void genesys::UsbDevice::open(const char*): completed<br>[18:06:12.154859] [genesys] attach_device_by_name: device `libusb:001:013' successfully opened<br>[18:06:12.154868] [genesys] virtual uint16_t genesys::UsbDevice::get_vendor_id(): start<br>[18:06:12.154874] [genesys] virtual uint16_t genesys::UsbDevice::get_vendor_id(): completed<br>[18:06:12.154881] [genesys] virtual uint16_t genesys::UsbDevice::get_product_id(): start<br>[18:06:12.154888] [genesys] virtual uint16_t genesys::UsbDevice::get_product_id(): completed<br>[18:06:12.154894] [genesys] virtual uint16_t genesys::UsbDevice::get_bcd_device(): start<br>[18:06:12.154900] [genesys] virtual uint16_t genesys::UsbDevice::get_bcd_device(): completed<br>[18:06:12.154907] [genesys] virtual void genesys::UsbDevice::close(): start<br>[18:06:12.154921] [genesys] virtual void genesys::UsbDevice::close(): completed<br>[18:06:12.154936] [genesys] genesys::Genesys_Device* genesys::attach_device_by_name(SANE_String_Const, bool): failed<br>[18:06:12.154945] [genesys] attach_one_device: got error: vendor 0x20ec product 0x820 (bcdDevice 0x500) is not supported by this backend : Invalid argument<br>[18:06:12.154954] [genesys] SANE_Status genesys::attach_one_device(SANE_String_Const): completed<br>[18:06:12.154972] [genesys] probe_genesys_devices: 0 devices currently attached<br>[18:06:12.154979] [genesys] void genesys::probe_genesys_devices(): completed<br>[18:06:12.154987] [genesys] void genesys::sane_get_devices_impl(const SANE_Device***, SANE_Bool): completed<br><br>No scanners were identified. If you were expecting something different,<br>check that the scanner is plugged in, turned on and detected by the<br>sane-find-scanner tool (if appropriate). Please read the documentation<br>which came with this software (README, FAQ, manpages).<br>[18:06:18.802237] [genesys] void genesys::sane_exit_impl(): start<br>[18:06:18.802393] [genesys] void genesys::sane_exit_impl(): completed</div></div></blockquote><div><br></div><div>OK, so the genesys backend needs specific coding for each device. This is because although we may know the genesys scanner-on-a-chip model, the backend also needs information about the other hardware involved (motor, imager, memory organisation, etc) in order for the chip to be properly programmed to interact with it. The genesys chips are quite sophisticated and setting one up properly in a particular environment can be quite involved. Much of it can be inferred by looking at USB captures and that is how most devices' support is added and it is not straightforward. There is also a programming datasheet available for this chip.</div><div><br></div><div>Although we do have a genesys maintainer, he has not been active for sometime for the likelihood of getting this device added currently is low unfortunately. Often support is added by a keen developer who perhaps had one of these devices and the will to get it added.</div><div><br></div><div>Cheers,</div><div>Ralph</div><div><br></div><div>Cheers,</div><div>Ralph</div></div></div>