Printer not working across sub-nets


I thought I'd put this on the knowledgebase as I found nothing published on the web to help when I encountered the problem.

So, you've got one of these nice little all-in-one wireless printers that uses mDNS (aka ZeroConf or Bonjour) to identify itself on the network. It works fine if you are printing from a computer on the same network segment that it is on, but it is invsible on other segments.

You've read the documentation, and installed Avahi on the server so that it should work across segments, but it doesn't.

Install either avahi-discover, or avahi-discover-standalone (whichever is available in your Linux distribution). Run it on the server and make sure that you can see the printer name.

Now run it on the client that won't print. In my case, and quite possibly yours, you now can't see the printer.

This could be because of a default setting in /etc/avahi/avahi-daemon.conf. By default, at least in Mageia, the reflector section is like this:

[reflector]
#enable-reflector=no
#reflect-ipv=no

This means that the segment reflector is turned off. It needs changing to this:

[reflector]
enable-reflector=yes
#reflect-ipv=no

Restart the avahi daemon and your printer will now start working.

Please check that the server and segments that are thereby linked does not cause any security issues.