I have a weird issue. I have a Netgear R7800. I have multiple VLANs setup and am able to communicate across the VLANs fine in most instances.
Two VLANs that matter: LAN (where my computers are) and SERVICES (where my Printer sits).
I have avahi setup and working fine. This is evidenced by the fact that my Apple devices can communicate across the VLAN for Airprint for printing. Also my Windows machines are able to both print and scan across the VLANs.
Furthermore I have other VLANs and device discovery works fine across all of those as well. For example my iPhone on the LAN can see my Chromecast on the MEDIA VLAN to select for streaming, the Chromecast is then able to pull the stream from the SERVER VLAN from my Plex server. So I have a relatively complex setup and have a decent understanding of how all of this stuff works.
However for some reason I cannot get my Apple devices to Scan across the VLANs. It's like for some reason the Apple devices are fine to print in this configuration, but they won't scan across. Nothing else has this issue. I've tried to open ports and everything. Nothing seems to work. Any ideas?
Also my Mac can SEE the Scanner, but for some reason once I actually kick off the scan it errors out due to a bad network connection. This happens both in the OS software and the Canon scan utility. Connecting my Mac to the same Wifi as the printer resolves the scan issue immediately for both softwares.
AirPrint uses mdns -- an auto discovery method that is only intended to work on a single network (it does not route between networks in normal circumstances).
You can try installing an mdns reflector/repeater (look at the avahi mdns packages). Also search the forums for solutions for similar mdns type devices such as Chromecasts and Sonos working across VLANs, as it may help you with this specific issue.
The other way to handle this is to simply make the connection via IP instead of AirPrint. That is to say that if you delete the current scanner entry and then create new ones by addressing it explicitly using the scanner's IP address, it should hopefully work normally (this assumes your firewall permits the inter-VLAN routing of this traffic, of course).
What are the firewall permissions between these two networks? If there are any restrictions at all, try completely opening the networks to each other and see if the problem resolves. If it does, that would point to some additional allowance that needs to be created for the scan to function.
It is possible that whatever the scanner is doing uses a port/technique that avahi doesn't repeat/reflect.
That said, another thing to look at would be the scanner's complete IP configuration -- make sure it does have a proper gateway defined (and DNS while you're at it). I don't think that it will make any difference if it is really using some zero-conf networking, but worth checking nonetheless.
The printer always caused problems with dynamic assignment. I have since manually assigned it to the network and completed all of these details, both in the printer configs where necessary and in OpenWrt. I also disabled IPv6 connectivity to remove any complexity there, just in case. Also disabled the power saving on it. Ever since it's been rock solid connectivity wise.
It's super baffling because the Print functionality works 100% fine from all my Apple devices. Print and scan works 100% fine from my Windows devices. It's only Scan from Apple devices that bombs out.
You would think it would just work given the above. What the hell could they be using to send this data back? haha
Could be a quirk from Apple or Canon, or it could be some other technique needed to cross VLANs for this thing. I don't really know, but I hope someone else might have some additional ideas.
I am definitely stumped as well. It definitely shows me that I'm not missing anything that is normal or expected, so thanks for your help!
It HAS to be something random. If I can't get it to work it's a bummer, but it's not the end of the world. I can scan from my Windows desktop if I have to.
Edit:
And just to clarify my scanner is connected via Wifi through the VLANs to my wired in desktop. I am not sharing the scanner over the network via a computer such as my desktop. The printer/scanner has no USB attached to it.
Just wanted to update this much later. That printer ended up dying. I ended up getting another Canon Printer which works totally fine with no issues in this setup. Had to have been the original printer blocking it for some reason that I was never able to determine.