Closed tillkamppeter closed 1 year ago
Unfortunately, even with plugging both avahi-control and avahi-observe, and staging sane-airscan, still it won't detect my modern printer/scanner. I've also tried adding the cups and cups-control interfaces with no luck. I'm also manually connecting all of the interfaces before launching the snap.
heather@fenrir:~/Projects/simple-scan/simple-scan-gh$ snap connections simple-scan
Interface Plug Slot Notes
avahi-control simple-scan:avahi-control :avahi-control manual
avahi-observe simple-scan:avahi-observe :avahi-observe manual
content[gnome-42-2204] simple-scan:gnome-42-2204 gnome-42-2204:gnome-42-2204 -
content[gtk-3-themes] simple-scan:gtk-3-themes gtk-common-themes:gtk-3-themes -
content[icon-themes] simple-scan:icon-themes gtk-common-themes:icon-themes -
content[sound-themes] simple-scan:sound-themes gtk-common-themes:sound-themes -
cups simple-scan:cups cups:cups -
cups-control simple-scan:cups-control cups:cups-control manual
dbus - simple-scan:simple-scan -
desktop simple-scan:desktop :desktop -
desktop-legacy simple-scan:desktop-legacy :desktop-legacy -
gsettings simple-scan:gsettings :gsettings -
hardware-observe simple-scan:hardware-observe :hardware-observe manual
home simple-scan:home :home -
io-ports-control simple-scan:io-ports-control :io-ports-control manual
mount-observe simple-scan:mount-observe :mount-observe manual
network simple-scan:network :network -
network-control simple-scan:network-control :network-control manual
opengl simple-scan:opengl :opengl -
raw-usb simple-scan:raw-usb :raw-usb manual
system-observe simple-scan:system-observe :system-observe manual
wayland simple-scan:wayland :wayland -
x11 simple-scan:x11 :x11 -
I don't know if this is a driverless printer (Brother MFC-L27500W) or not, but I confirm that the simple-scan deb can detect it.
@tillkamppeter Do you have any suggestions?
First, never plug cups
and cups-control
in the same Snap.
For accessing a driverless scanner, even in a multi-function device with a printer, you do not need to access CUPS via cups
or cups-control
interfaces. Only if simple-scan has functionality to print the scanned pages you should plug cups
(not cups-control
for that functionality.
Your Snap has to access Avahi to discover devices. AFAIK you plug avahi-observe
. avahi-control
is only needed for a Snap which provides a service and advertises this service via DNS-SD/Avahi.
To talk with the scanner it uses an IP connection, more precisely HTTP, to send eSCL commands to the scanner. The interface to plug for this should simply be network
.
And you should plug home
to save the scanned images.
These are the ones needed to communicate with a driverless scanner, naturally you also need the ones for a desktop application and for the legacy scanners supported by sane-backends (sane-backends should stay included until I start to release Scanner Applications).
To troubleshoot you will probably have to check for "audit"/"DENIED" messages in the syslog/journal.
As the HTTP/eSCL protocol has similarities with web protocols, perhaps the browser-support
interface could also help.
Fixed by the merge of PR #4.
Currently, for a Snap which scans on scanners one has to include the drivers for all scanners which one wants to support in the Snap. In the simple-scan Snap you get a good coverage by including sane-backends but you are also missing a good part of modern scanners, especially scanners in multi-function printers.
The class of scanners I am talking about are driverless scanners, scanners not needing a driver (aka device-model-specific software or data) because they use standard protocols for discovery, polling device capability info, and the scanning itself. Currently, these scanners use either eSCL or WSD communication protocols and are discovered via DNS-SD (Avahi).
sane-backends supports eSCL scanners via its "escl" backend, but not WSD scanners. WSD scanners are supported by sane-airscan, which is also in Ubuntu Main. It also supports eSCL scanners better than the "escl" backend, including selecting the better protocol on devices which support both. So sane-airscan should be included in this Snap.
For discovering devices the Snap also needs to have access to Avahi, so its simple-scan app should plug avahi-control (or avahi-observe?).
In the future, when we will have Scanner Applications (software emulations of driverless scanners, like Printer Applications are emulations of driverless printers), sane-backends could even be dropped from the Snap and all scanner access go through sane--airscan (but this will still take some time).