-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Android Mopria Scan cannot find scanner #98
Comments
Using Mopria Scan 1.8.6, I can see my scanner in the local network (the server is an older Intel NUC running Debian 11). |
@SimulPiscator Thanks for checking. I will try to dig down into the issue with my setup at some point. I did a quick check of IPv6 in my network and the devices; can't spot any particular issue. |
I ran wireshark on the Pi running AirSane and ran Mopria Scan on my phone. The Pi sees the mDNS queries and it seems AirSane responds: |
In the screenshot I see that the address of the AirSane machine seems to be "pzwh". Can you get a connection to |
I can get a connection to
Conecting to |
Same here, yes. As a last resort, can you uninstall the Mopria Scanner App completely (removing its preferences) and reinstall it? |
I first cleared Mopria Scanner App's data and cache, then I uninstalled it. Then I installed it again from the Play Store. It's still exactly the same unfortunately. |
I have an app called "BonjourBrowser" on my phone which is able to find local http servers using mDNS, so that means my phone is at least able to receive mDNS broadcast messages. |
In your screenshot, I can see that your scanner does not have rs=/eSCL. By default, AirSane uses this for compatibility reasons. Can you post your |
On my OpenWrt build of Airsane, it uses
and the resulting command-line is:
So you can see, when the
and
But Moria Scan didn't find it still. When I try to start
So I change it to start with
In summary, I tried |
While doing the above exercises, I did enable
Not sure if that indicates anything. |
Right, it wants interface device names, sorry.
That's not an issue, it just means there are no per-scanner options present in that file, or the file does not exist. What might be interesting is that on my network, scanners are announced as |
Could be. Is it |
Yes, it's |
Thanks for the screen shots. What strikes me is the large number of IPv6 addresses in the record, as visible on macOS. What if the Mopria Scan App picks one that doesn't work for some reason? It's not necessarily the one displayed by the ServiceBrowser app. |
That is a good point. Service Browser (Android) seems to pick only one ipv6 address, and it matches one of those shown in Discovery (macOS). I navigated to that one ipv6 address from my android phone browser and it got to the webpage of AirSane, so at least that connection is fine. |
Now I checked all four of the ipv6 addresses listed in macOS discovery, and I can get to all of them from my browser in my android phone. |
Mopria Scan also has an option to add a scanner manually. When I try to add
Interesting? |
In your case, the path to the scanner does not begin with /eSCL, so Mopria Scan cannot add it manually. You could enable the COMPATIBLE_PATH option to locate the first scanner at /eSCL. |
What is the path to my scanner? I also tried the scanner address
|
The path to your ScannerCapabilities would be |
I updated the Airsaned-Openwrt package to accept the compatible-paths option, and added a bunch of missing options with defaults taken from your systemd config. Now, in Mopria Scan, I am able to add the scanner manually. So at least that works. But still Moria cannot find the scanner automatically. |
For reference and records, |
I've been working on my own ESCL server and had a similar issue where I could add the scanner manually in Mopria Scan but it wasn't found automatically. Turns out Mopria has a check where it requires the UUID in the mDNS TXT record to exactly match the UUID in the ScannerCapabilities XML. I'm not sure if that's the issue here but I thought I'd mention it in case it's helpful. |
Thanks for your comment. AirSane uses the same string variable to write both the mDNS TXT record, and the ScannerCapabilities XML UUID, so I don't think that's the issue. |
I should add that I have not experienced any issues with recent versions of MopriaScan for Andoid. |
I have AirSane installed on a Raspberry Pi Zero running on OpenWrt 22.03.2. The AirSane package was built using the linked (newer) OpenWrt package source. The scanner works perfectly well with macOS and Windows: both are able to detect it automatically and are able to scan. Both are also connected to the local network over WiFi only. When I check on macOS, I can see the mDNS entry for the scanner under
_uscan._tcp.local
.Mopria Scan on my Android phone, on the other hand, cannot detect the scanner. I am able to reach the scanner's HTML ui by navigating to
http://pizero.local:8090
, so clearly the host is reachable even from the '.local' domain. Furthermore, using the "Service Browser" app from the play store, I can see the same_uscan._tcp.local
that I see on macOS, with all the same entries.Mopria Scan version 1.8.6, Android 11, AirSane 806e57d (5 commits after Janitor release).
The text was updated successfully, but these errors were encountered: