IT technician troubleshooting Linux printer discovery issues involving Avahi, mDNS/DNS-SD, CUPS, cups-browsed, and driverless IPP printing

Joe B.

Expert ★★★★★ 27,853 satisfied customers

Specialities: Linux printing (CUPS), driverless printing (IPP Everywhere/AirPrint/Mopria), Avahi/mDNS/DNS-SD discovery conflicts, cups-browsed & cups-filters, firewall & network.

Linux scanner is visible via mDNS, but printer won’t show: identify Avahi/DNS-SD conflicts and why CUPS discovery fails

Technician avatar Technician
Hi! If your scanner shares / shows up on Linux but the printer doesn’t, and you suspect an Avahi conflict, you’re describing a very specific class of issues: mDNS/DNS-SD discovery is partially working (enough for scanning) but the print service advertisement or consumption is broken or “shadowed.”

On Linux, scanners and printers often show up through different service types even when they’re the same MFP (multi-function printer). For example:
• Scanning may appear via eSCL/AirScan (often seen with sane-airscan) or WSD/WS-Scan.
• Printing usually relies on IPP/IPPS discovery via DNS-SD (Bonjour/mDNS) that Avahi handles, and then CUPS (sometimes with help from cups-browsed) decides whether to create a queue or present a temporary one.

The confusing part (and why people search “Linux scanner works printer doesn’t”, “cups-browsed not creating printers”, “Avahi mDNS conflict”) is that your desktop UI may show a scanner in Simple Scan, but the printer list stays empty — even though the network is fine.

I can narrow this down fast, but I need a few details because there are multiple “Avahi conflict” patterns (and we don’t want you toggling random services). Quick questions:
1) Is this a network printer (Wi-Fi/Ethernet) or USB connected to the Linux box (or to a router/NAS)?
2) Distro + desktop: Ubuntu/Fedora/Arch/Mint? GNOME/KDE? (Discovery behaves differently.)
3) Does the printer appear on other devices (Windows/macOS/iPhone)? And does Linux see it if you add it by IP/IPP manually?
4) Are you using ipp-usb/ippusbxd or any “driverless over USB” stack? That can create duplicate DNS-SD services that confuse CUPS, while scanning still looks fine.

While we diagnose, here are related fixes we often end up applying (not doing them yet — just mapping the territory): CUPS service discovery, Avahi DBus/daemon state, cups-browsed filtering, .local resolution (nss-mdns), and firewall rules for UDP 5353 / multicast.
Customer
I’m on Ubuntu. The scanner shows up in Simple Scan and works over the network. But the printer doesn’t appear anywhere in “Printers” and CUPS doesn’t auto-detect it. It’s the same multifunction device. I saw posts about avahi conflicts and DNS-SD. I don’t want to break scanning.
Technician avatar Technician
That’s exactly the right instinct: we should avoid “turn off avahi” as a first move, because it can fix one symptom and quietly break discovery elsewhere (especially driverless scanning). Instead, we verify which part of DNS-SD is failing and which component is “winning” the announcements.

In Ubuntu, printing can involve a few layers at once:
• avahi-daemon handles mDNS/DNS-SD on the network.
• CUPS uses IPP/IPPS services to present printers.
• cups-browsed (if installed/enabled) can create local queues for discovered printers — helpful in some setups, confusing in others, especially when multiple service records exist.
• For MFPs, scanning might be visible through sane-airscan (AirScan/eSCL) even if printing isn’t visible via IPP.

Let’s do a safe “what does the network actually advertise?” check — without changing anything. The goal is to confirm whether your printer is broadcasting:
• an IPP print service (what CUPS needs), and/or
• only a scanner service (which explains your symptom).

Two things commonly cause the “scanner shows, printer doesn’t” split on Ubuntu:
1) The printer is advertising IPP, but your Linux box can’t consume it due to .local name resolution or firewall/multicast restrictions (still letting some scanner discovery through).
2) The printer is advertising multiple or conflicting DNS-SD services (for example, a vendor stack + a driverless stack), and CUPS ends up ignoring the one that would actually work.

Before we go deeper, one quick reality check: does your printer appear in your router’s device list (has an IP), and can you open its web interface in a browser? If yes, the problem is almost certainly service discovery and queue creation, not the printer itself.

Also: if you’ve ever run into odd behavior like “options missing in PPD/driver,” this other guide can be related after discovery is fixed: Stapling / hole-punch options missing — add finisher in driver/PPD.
Customer
Yes, I can open the printer web interface by IP and scan works. Printing from Windows works. On Ubuntu, it’s like only the scanner part is visible. I also saw something about cups-browsed and maybe systemd-resolved.
Technician avatar Technician
Great — that isolates it: the device is reachable and functional; Ubuntu just isn’t building a print path automatically. And yes: systemd-resolved vs Avahi comes up a lot because people assume “mDNS is mDNS,” but CUPS’s discovery expectations can be picky depending on how name resolution and DNS-SD libraries are wired on the distro.

Here’s the key idea (in plain English):
Scanning discovery can succeed even when printing discovery fails because the protocols differ and the desktop apps handle them differently. Simple Scan may find an eSCL/AirScan endpoint (sometimes even by direct IP), while CUPS is looking for an IPP service record it trusts enough to present in print dialogs or to create a queue (especially if cups-browsed is filtering).

Common long-tail symptoms you might recognize:
• “Ubuntu scanner detected but printer not found”
• “CUPS no printers found on network”
• “cups-browsed not creating queue” / “No suitable destination host”
• “Avahi conflict ipp-usb duplicates” (especially if the device is sometimes USB-connected elsewhere)

We’ll keep this safe: the first phase is evidence collection (no changes). The second phase is targeted correction (minimal changes, and we preserve scanning).

If you want to do this the quick way (and avoid 20 different forum guesses), jump into chat and paste three outputs: what Ubuntu sees for print services, what it sees for scan services, and what CUPS thinks about destinations. That combination tells me within minutes whether it’s (a) missing DNS-SD records, (b) .local resolution, (c) cups-browsed filters, or (d) duplicate/competing advertisements.

Related (often requested once printing works again): Type 3 vs Type 4 print drivers — which one to pick in Windows 11 (useful if you’re also managing a Windows print path in the same environment).
Customer
I don’t really want to run a lot of commands. Is there a simple explanation of what could be conflicting with Avahi? Also, I’ve seen ipp-usb mentioned but I’m not sure I have it.
Technician avatar Technician
Totally fair. Here’s a non-scary explanation of the Avahi conflict angle without throwing a wall of commands at you.

Avahi’s job is basically: “announce services and listen for services.” A multifunction printer may announce several services at once (print + scan + web UI). Conflicts happen when:
• Two different components announce the *same* printer differently.
Example patterns: a vendor driver stack announces one DNS-SD record while a driverless stack announces another; CUPS picks the “wrong” one or ignores both.

• The printer advertises services, but the client can’t resolve or reach the service target.
It might see “there is a printer” but fail on the next step because the service points to a .local hostname the client can’t resolve correctly, or multicast traffic is blocked. That can still leave scanning working (because scanning may be configured by IP or discovered differently).

• cups-browsed changes what you see.
cups-browsed can “materialize” discovered remote printers into local queues. If it’s filtering, timing out, or encountering ambiguous records, you get “nothing shows up” even though Avahi is actually seeing something.

About ipp-usb / ippusbxd: these are common in “driverless over USB” setups and can create printer services on the machine they run on. In mixed environments (e.g., device used by different hosts), you can end up with duplicate advertisements, which looks like “scanner is fine, printer is missing/ghosting.” We can check if it’s even present without touching anything — and we won’t disable it blindly.

If you do want a guided path, we can keep it minimal and safe in chat. I’ll ask for one quick confirmation per step and stop as soon as we identify the conflict source (Avahi vs cups-browsed vs name resolution vs firewall).

(If you’re also dealing with “printer won’t wake / disappears,” this can be related after discovery is restored: Wireless printer not waking up for AirPrint job — sleep policy tweak.)
Customer
I think I might have a firewall on. Scanning works though. Could the firewall block printer discovery but not scanning?
Technician avatar Technician
Yes — that’s a real-world pattern. Printer discovery uses multicast DNS (mDNS) and DNS-SD announcements (commonly over UDP 5353), while scanning can still work if your scanner app is using an already-known IP endpoint or a different discovery method that slips through your current rules.

Here’s how it can look in practice (common long-tail searches):
• “Ubuntu ufw blocks mdns” → printer never appears, but the device is reachable by IP.
• “scanner works printer not discovered” → because the scanner frontend caches the device, while printers rely on dynamic discovery lists.

The tricky part is: opening “everything” is not a good idea. You want the minimum network permissions so Avahi can do its job and CUPS can reach IPP, without exposing extra services.

If you message me in the live chat with: your Ubuntu version, whether you use UFW, and whether the printer is Wi-Fi or Ethernet, I’ll tell you exactly which discovery path is failing (mDNS visibility vs IPP reachability vs queue creation) and what the safest minimal fix is — without risking your scanner setup.

(If you’re printing PDFs and seeing odd “scrambled preview” issues later, unrelated but common: Print preview scrambled — clear garbled PDF output.)
Customer
Could it just be that CUPS needs a driver? People say “driverless IPP Everywhere,” but I’m confused. The scanner part seems “driverless” already.
Technician avatar Technician
You’re thinking about it correctly: “driverless” for scanning and “driverless” for printing are related but not identical.

Driverless scanning on Linux is often handled by sane-airscan (AirScan/eSCL) or WSD backends — your scanner showing up strongly suggests you already have a working discovery + protocol path for scanning.

Driverless printing usually means the printer supports IPP Everywhere (or AirPrint/Mopria) and CUPS can talk to it over IPP without a vendor driver/PPD. In many homes, that works out-of-the-box. But when it doesn’t, it’s usually not “missing driver,” it’s one of these:
• the printer’s DNS-SD print service isn’t visible to the Linux host,
• the service is visible but points to a target name the client can’t resolve (.local / NSS / resolver path),
• cups-browsed is present and filtering / timing out / creating queues inconsistently,
• duplicate service records exist (the “Avahi conflict” scenario).

So yes, you might end up adding a queue manually if discovery is broken — but I don’t recommend doing that as a “first fix,” because it can mask the underlying mDNS conflict and you can end up with disappearing printers, duplicated queues, or weird “works once then vanishes” behavior.

If you want maximum conversion-proof results, the best move is: identify which layer is failing (Avahi visibility, name resolution, cups-browsed queue creation, or CUPS policy). That’s exactly the part we handle fastest in the live chat.
Customer
Can you give me a short checklist of what information you need so I can message it once and not go back and forth?
Technician avatar Technician
Absolutely — here’s the one-message checklist that lets me pinpoint a Linux scanner shares but printer doesn’t / Avahi conflict case quickly (and safely). You can paste this into chat:

1) Environment
• Ubuntu version (e.g., 22.04/24.04) + desktop (GNOME/KDE)
• Printer/MFP brand + model
• Connection: Wi-Fi / Ethernet / USB / via router/NAS

2) What works vs doesn’t
• Scanner app used (Simple Scan, XSane, etc.) and whether it’s sane-airscan/eSCL or something else
• Printing from Windows/macOS works? (yes/no)
• Can you open printer web UI by IP? (yes/no)

3) Discovery symptoms
• Do you ever see “temporary” printer entries appear and vanish?
• Is cups-browsed installed/enabled? (if you’re unsure, just say “not sure”)
• Do you run UFW or another firewall? (yes/no)

With that, I can tell you which bucket you’re in (DNS-SD not visible, .local resolution mismatch, cups-browsed conflict, or duplicate service ads) and then walk you through the minimal fix that preserves scanning. If needed, we can also sanity-check CUPS configuration issues that cause hidden behavior (like policy blocks) — similar in spirit to this: Driver signature error — bypass securely (different OS, same idea: do the safe minimum, not random “turn it off” changes).
Customer
Thanks. I’ll message in chat with those details. I just don’t want to lose scanning while fixing printing.
Technician avatar Technician
Perfect — and we’ll protect scanning. In these cases, the “bad fix” is changing Avahi globally; the “good fix” is identifying the exact conflict (DNS-SD service records, queue creation behavior, or name resolution) and adjusting only what’s necessary.

If you paste the checklist into live chat, I’ll respond with a targeted plan that keeps sane-airscan (or your scanner backend) working while we restore driverless IPP printing visibility in CUPS.

Quick answer: the accepted fix

Accepted approach for Linux scanner shares but printer doesn’t: this is usually a DNS-SD/mDNS (Avahi) discovery mismatch or queue-creation conflict (often involving cups-browsed, .local resolution, firewall rules, or duplicate service advertisements). The reliable fix is to confirm which print service records are visible and then apply a minimal, targeted change that restores CUPS printer discovery without disabling scanning. Because the correct “minimal change” depends on your device and Ubuntu stack, it’s best handled in live chat so you don’t accidentally break AirScan/eSCL scanning.


Why scanners show up but printers don’t on Ubuntu: eSCL vs IPP, Avahi DNS-SD, and cups-browsed behavior

Many MFPs advertise scanner discovery (often eSCL/AirScan via sane-airscan) separately from printer discovery (usually IPP/IPPS via DNS-SD). If Avahi is seeing only the scan service (or the print service points to an unreachable/unresolvable target like .local), your scan app can work while CUPS shows no printers. In other setups, the print service is visible, but cups-browsed filtering, timing, or duplicate advertisements (sometimes linked to ipp-usb/ippusbxd) prevent a usable queue from appearing.

That’s why this problem often looks like “network is fine” (web UI works, Windows prints) yet Ubuntu still says “no printers found.”

How to confirm it’s discovery (not the printer): a fast, safe checklist

To avoid breaking scanning, confirm three things first: (1) the printer has a stable IP and web UI is reachable; (2) the scanner protocol in use (eSCL/WSD) is working; (3) Ubuntu can actually see a print DNS-SD service (IPP/IPPS) and can reach it. If (1) and (2) are true but (3) is not, you’re dealing with an Avahi/mDNS/DNS-SD discovery conflict or a cups-browsed queue creation issue — both fixable, but the exact safe change depends on your stack.

If you want, share your model + Ubuntu version in live chat and we’ll pinpoint the failing layer quickly.

Linux printer not showing but scanner works — quick troubleshooting tips

Usually DNS-SD/Avahi discovery mismatch; fix it without disabling scanning.

Don’t start by disabling Avahi. Instead, verify whether Ubuntu can see an IPP/IPPS print service record for your device, whether .local resolution is consistent, whether a firewall blocks multicast discovery, and whether cups-browsed is creating or filtering queues. These are the most common roots behind “scanner discovered, printer missing” on Ubuntu/Mint/Fedora.

Disclaimer: This information is AI-generated and intended for general guidance only. For advice specific to your Ubuntu version, printer model, and network setup, please consult a verified expert on Whizz-Tech before changing system services or discovery settings.


Getting Started Is Easy

Ask for help, 24/7

Members get round-the-clock access to certified Experts for Ubuntu printer discovery, Avahi mDNS/DNS-SD conflicts, CUPS / cups-browsed issues, driverless IPP Everywhere printing, and scanner discovery (SANE, sane-airscan, eSCL/AirScan).

Expert will respond in minutes

We’ll identify whether the break is DNS-SD visibility, .local name resolution, firewall/multicast, cups-browsed queue creation, or a duplicate service advertisement (e.g., ipp-usb style conflicts).

Stop wasting time on guesses

Get a minimal, safe plan that restores CUPS printer discovery while preserving your working scanner setup — no random “disable Avahi” experiments.

FAQ

Why does my scanner show up in Simple Scan but the printer doesn’t appear in Ubuntu?

Scanning and printing often use different discovery/protocol paths. Scanning may work via eSCL/AirScan (sane-airscan) while printing depends on IPP/IPPS discovery via DNS-SD (Avahi). If print services aren’t visible, can’t resolve .local, or queues aren’t created (sometimes involving cups-browsed), the printer won’t show even though scanning works.

Is it safe to disable avahi-daemon to fix printer discovery?

Not as a first step. Disabling Avahi can break driverless scanning and other mDNS services. A safer approach is identifying whether the issue is DNS-SD visibility, name resolution, firewall/multicast, or cups-browsed behavior — then applying a minimal fix that preserves scanning.

Can a firewall block printer discovery but allow scanning?

Yes. Printer discovery commonly relies on mDNS/DNS-SD announcements (often UDP multicast), while scanning may still work if your scan app uses cached endpoints or direct IP access. The correct fix depends on your network and printer model.

Do I need a vendor driver, or should driverless IPP work?

Many modern printers support driverless IPP Everywhere. When it fails on Ubuntu, it’s often due to discovery/advertisement conflicts rather than missing drivers. In chat, we can confirm which IPP services are present and why CUPS isn’t showing them.

Sources

Matt Verified Icon
Matt ● replies in < 1 min
Technician Expert
⭐⭐⭐⭐⭐ Trusted by 27,000+ customers
Avatar
Alex · Expert's Assistant