Open zdohnal opened 2 years ago
@debiantriage
AFAIK there are two ways right now how to find out whether a scanner device is under control of ipp-usb:
The former can be implemented in sanei_usb_find_devices()
, which can cover backends which uses the library function (some big backends - pixma, genesys - use it), however the change needs sane-backends starting to require Avahi as a whole (now only escl requires and pixma can require Avahi).
The latter has disadvantages which Mike mentions at https://github.com/OpenPrinting/ipp-usb/issues/28#issuecomment-828392483 .
The approach you mentioned - check whether ipp-usb claimed the device (you can have ipp-usb running even without any ipp-over-usb device if you run it in standalone mode or you can have more devices where one is ipp-over-usb and other not) and then disable non-driverless backends - I'm not sure whether it can work with current SANE design. sane-backends currently doesn't implement disabling backends per device, only for a whole system - so in case you have two scanners, one driverless and other non-driverless - you will see only the driverless one.
I've checked sane-backends' code further - we can add some generic function which omitts driverless scanners in classic backends into libusb_scan_devices()
function.
To ease up using
ipp-usb
in the system by default, we should try to tackle and track issues which other apps have if ipp-usb is on system.There are:
Ad 1.
Ad 2.
Ad 3.
Ad 4.
libusb_scan_devices()
will read it and ignore devices mentioned there