Here are my test results: TLDR:
- Printing via cups entry (be that cups-browsed or manual) always succeeds - Printing via libgtk's fallback entry always fails - Both proposed fixes work and succeed in removing the duplicate entry for cups-browsed, but not for a manually added printer with default name or when the user chooses a name that doesn't match the cups-browsed/libgtk mangling scheme. Resultion: printing is still hell on earth :] * Which versions of cups-daemon and cups-filters-core-drivers are installed? cups-filters-core-drivers 1.28.7-1 cups-daemon 2.3.3op2-3+deb11u1 * Is cups-browsed installed? If yes, which version? cups-browsed 1.28.7-1 * How many printers are physically present on your network? One Brother HL-L5100DN * Have you configured a printer queue in CUPS manually, or are you only using auto-detection? * What printer names appear in the GTK print dialog? * For each printer name that appears: With libgtk-3-0 =3.24.24-4 from bullsye, no cups, no browsed: Brother-HL-L5100DN-series (prints garbage) With libgtk-3-0 =3.24.24-4 from bullsye and cups-browsed auto-detection: Brother-HL-L5100DN-series (prints garbage) Brother_HL_L5100DN_series (works) With libgtk-3-0 =3.24.24-4, cups manual config and default name[1]: Brother-HL-L5100DN-series (prints garbage) Brother_HL-L5100DN_series_ (works) With libgtk-3-0 =3.24.24-4, cups manual config and corrected name[1]: Note: with =3.24.24-4 the printer name has to be corrected to match the all dash version for the merging logic to trigger so that what we do here. Brother-HL-L5100DN-series (works) Note: I call the entry that appears without cups/browsed the "fallback entry". The libgtk code doesn't do any sort of print job formatting/filtering that I could find just sending whatever internal representation libgtk uses (probably PDF) towards the printer hoping for the best. With mr6.1 and cups-browsed auto-detection: Brother_HL_L5100DN_series (works) With mr6.1, cups manual config and default name[1]: Brother_HL-L5100DN_series_ (works) Brother_HL_L5100DN_series (Status: Rejecting jobs, won't print) With mr6.1, cups manual config and corrected name[1]: Note: Here we use all underscores in the configured printer name to make the merging logic trigger. Brother_HL_L5100DN_series (works) With mr6.1, both cups manual and cups-browsed auto-config and corrected name[1] Brother_HL_L5100DN_series (cups manual, works) Brother_HL_L5100DN_series@brother-hl-l5100dn.local (cups-browsed, works) With mr9.1 and cups-browsed auto-detection: Brother_HL_L5100DN_series (works) With mr9.1, cups manual config and default name[1]: Brother_HL-L5100DN_series_ (works) Brother_HL_L5100DN_series (prints garbage) With mr9.1, cups manual config and corrected name[1]: Note: Here we use all underscores in the configured printer name to make the merging logic trigger. Brother_HL_L5100DN_series (works) With mr9.1, both cups manual and cups-browsed auto-config and corrected name[1] Brother_HL_L5100DN_series (cups manual, works) Brother_HL_L5100DN_series@brother-hl-l5100dn.local (cups-browsed, works) [1] About the cups default/corrected name: cups puts a dash in HL-L5100DN and adds a trailing underscore to the default name compared to cups-browsed auto configured name so merging of the entries doesn't work if defaults are accepted. Cups setup procedure: apt-get purge 'cups-*'; rm -rf /etc/cups apt-get install cups (for cups-browse) apt-get install cups --no-install-recommends (no cups-browsed) Manually adding printer via cups webinterface: [Find New Printers] -> Brother HL-L5100DN series (Brother HL-L5100DN series (driverless)) -> Name: Brother_HL-L5100DN_series_ (in default case) -> Make: Brother, Model: {current_make_and_model} - IPP Everywhere ^{TM} -> [Add Printer] * What printer names are listed in /etc/cups/printers.conf? For cups-browsed: <Printer Brother_HL_L5100DN_series> <Printer Brother_HL_L5100DN_series@brother-hl-l5100dn.local> (when manually configured printer would conflict) For manual config: <Printer Brother_HL-L5100DN_series_> (default) <Printer Brother-HL-L5100DN-series> (corrected for =3.24.24-4) <Printer Brother_HL_L5100DN_series> (corrected for mr{6,}.1) --Daniel
signature.asc
Description: PGP signature