|
|
Subscribe / Log in / New account

Fedora contemplates the driverless printing future

By Jonathan Corbet
June 4, 2021
Back in a distant time — longer ago than he cares to admit — your editor managed a system-administration group. At that time, most of the day-to-day pain reliably came from two types of devices: modems and printers. Modems are more plentiful than ever now, but they have disappeared into interface controllers and (usually) manage to behave themselves. Printers, instead, are still entirely capable of creating problems and forcing a reconsideration of one's life choices. Behind the scenes, though, the situation has been getting better but, as a recent conversation within the Fedora project made clear, taking advantage of those improvements will require some changes and a bit of a leap of faith.

Traditionally, getting a printer working on Linux has involved, among other things, locating and installing the appropriate printer drivers and PostScript printer definition (PPD) files to allow the system to communicate with the printer using whatever special dialect it favors. Often that involves installing a separate package like hplip, often supplied by the printer vendor. Some vendors have traditionally supported Linux better than others, but none of their products seem to work as smoothly as one would like. While printer setup on Linux has definitely improved over the years, it still easy to dread having to make a new printer work.

The Internet Printing Protocol

In this context, it is noteworthy that the maintainers of the CUPS system, which handles printing on Linux, have an outstanding issue (since moved) calling for the removal of its support for printer drivers. The Fedora development list also discussed this idea in late May. There are changes coming in the printing world, and users are naturally curious about when and how those changes will affect them.

Those who have not been following developments in printing may wonder why it would make sense to remove printer drivers, since those are what make the printers actually work. The answer is the Internet Printing Protocol (IPP) and, specifically, a derivative called IPP Everywhere. The idea is simple enough: what if all printers implemented the same protocol so that any software could print to them without the need to install special drivers or, indeed, perform any configuration work at all? Like many things, IPP Everywhere seems to be motivated by the desire to interoperate with smartphones, but it is useful in a wider context as well.

In the IPP Everywhere future, printers simply work. They make themselves known to the network via multicast DNS, allowing other machines on the network to discover them. The protocol allows the printer to communicate its capabilities and accept settings, so features like duplex printing and paper-tray selection work. IPP Everywhere describes a small set of known formats for material to be printed, so there is no need for special drivers for format conversion. Users simply need to indicate their desire to print something, select between the available printers and printing options, install the new toner cartridge that the printer inevitably demands, then file the resulting output in the recycling bin. It's a printing paradise.

Or, at least, it will be a printing paradise one of these days. Given that IPP Everywhere has been around since 2010, one might think that we should have arrived already, but there are some remaining issues.

Does it work?

CUPS has long had support for IPP Everywhere, and distributions have generally enabled that support. But it still doesn't seem to be the default way to use printers on Linux. For example, a search for how to [printer dialog] set up your editor's Brother laser printer on Linux results in a visit to Brother's driver page; after a somewhat fraught process the printer can be made to work well — but it's not a transparent or driverless experience.

That printer is supposed to support IPP Everywhere, though, and it can be seen in the output of avahi-browse. Android devices can successfully print to it. That means, with any remotely modern version of Linux, the printer should show up automatically when trying to print a file, without the need to set up a queue at all. It does indeed appear, but an attempt to use it results in the print dialog hanging before the user can even hit the "print" button. That experience may be driverless, and it certainly results in a reduction of wasted paper, but it's also less than fully satisfying.

What about adding a queue explicitly? Firing up the "add a printer" dialog on a freshly installed Fedora 34 system produces a blank window — not the experience a printer user is looking for either. Typing in the IP address for the printer (something most users naturally have at the tips of their fingers) yields the display seen to the right: five options, with no real indication of which one — if any — is correct. In fact, only the final option in the list works at all, and it takes several minutes to print a page, for reasons that are unclear to anybody not initiated into the deep magic of CUPS.

If, instead, one simply tells CUPS to use the printer as an IPP Everywhere device with a command like:

    # lpadmin -p NewPrinter -E -v ipp://10.0.0.16/ipp -m everywhere

The printer works well, immediately. It began, of course, by communicating its appetite for a new toner cartridge to the Fedora system, which duly passed the request on. So IPP Everywhere does work, at some level, on both ends of the connection, but some of the glue is seemingly not yet fully in place.

Most distributors have been working on support for driverless printing. The curious can find instructions online for Arch Linux, Debian (and Ubuntu), Fedora, Gentoo, Red Hat, and others. SUSE and openSUSE seem to be the biggest exception, unless your editor's search skills have failed.

Old printers

In theory, almost all printers made in the last ten years should support IPP Everywhere. It seems that most do, even though the list of certified printers is conspicuously missing a number of vendors. But not everybody has a printer that recent; printers can stay around for a long time. The removal of printer drivers from CUPS (and the distributions using it) means the removal of support for all of those devices. It is fair to say that doesn't sit well with the owners of such hardware.

The intended solution to this problem is "printer applications": programs that can speak to a certain class of printers while implementing the IPP Everywhere protocol to connect those printers to CUPS. Only a handful of those exist now; they include LPrint, which can drive a set of label printers. Work is underway to support others, including the "foo2zjs" devices that show up as IPP Everywhere printers, but which still need special drivers to work. Implementing more printer applications features prominently in the OpenPrinting Google Summer of Code plans this year.

This does not satisfy all users out there, many of whom got their printers working after a fair amount of struggle and do not relish the idea of having to go through that process again with a new system. Some worry that there will be CUPS-supported printers that never get printer-application support; that may well happen, but it's not clear how many users will be affected by the loss of support for some ancient devices. Others complain that this transition is a lot of churn for no real benefit; Solomon Peachy answered that concern this way:

Modern (>2010) networked printers JustWork(tm), without need for local drivers. CUPS-shared printers JustWork(tm), also without local drivers. Folks with smartphones can print to most CUPS-attached printers, again, no drivers. [...]

We're closer than ever to a universal printing system that is not tied to any specific OS or client, and that behaves identically no matter where or how the printer is attached. Underpinning all of this are formally standardized protocols (and equally importantly, well-defined behaviors), Free Software reference implementations and conformance tests.

For many of us, that universal printing system can't come soon enough, if it works as well as it is intended to. Should that happen, there is likely to be little lamentation over the loss of printer drivers.

Fake printers

There is one other concern that came up in the Fedora conversation, though. In a world where printers just show up on the net, what is to prevent an attacker from putting up fake printers in the hope of capturing documents with interesting contents? There does not seem to have been much effort put into addressing this scenario; as Zdenek Dohnal put it: "CUPS discovery is designed to run on secure, private LAN, so it is expected that you have a protection against somebody connecting to your WIFI." Peachy added that, if an attacker has a sufficient presence on the local network to advertise a false printer, they can probably do worse things than that.

IPP does have provisions for authentication and such, but employing them would take away much of the convenience that the protocol is meant to provide in the first place. So the general attitude toward security is likely to remain as Dohnal described it: the local network is expected to be secure.

In a related issue, some participants in the discussion expressed concerns that some IPP Everywhere devices work by routing print jobs through cloud-based services. Indeed, the Android print dialog, when printing to the above-mentioned Brother printer, warns that the document may pass through third-party servers — something that does not appear to actually happen in this case. The idea of a local printer that fails when the Internet is down lacks appeal, but somehow we seem to be heading toward that world anyway.

When?

The CUPS project has been working toward a driverless future for many years; the use of PPD files was first deprecated in the 1.4 release in 2009, even though there was no replacement for them at that time. The project finally deprecated printer drivers with the 2.3 release in 2019. "Deprecated" is not the same as "removed", though; this deprecation was intended to draw attention to the forthcoming change. As can be seen with PPD files (which are still supported), there can be a long time between deprecation and removal.

That said, the plan is apparently to remove printer drivers in the next major CUPS release, for which there does not currently appear to be a target date. The project has not made a release since 2.3.3 came out in April 2020, so things do not seem to be moving all that quickly there at the moment. There is probably some time for distributors and users to prepare for this change.

That is a good thing. Even if most printers are supported reasonably well by IPP Everywhere, there will be a lot of users of printer drivers out there, and a lot of users with older printers as well. There will need to be a lot of work and testing done if the first distributions that release with CUPS 2.4 are to not break vast numbers of printing setups. If that can be done, though, perhaps printers can finally join modems as devices that simply work without the need for a lot of messing around.


to post comments

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 15:59 UTC (Fri) by re:fi.64 (subscriber, #132628) [Link] (3 responses)

Is there a particular reason that it's not doable for distros to default to IPP Everywhere but provide some sort of driver-based fallback?

That being said, I did not realize IPP Everywhere even existed and am eager to try it now. I have 4 different copies of our Brother printer, one of which contains the word "Working" because...well, it's the only one that works.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 17:18 UTC (Fri) by farnz (subscriber, #17727) [Link] (2 responses)

That's what printer applications are supposed to help with; a printer application is an application that makes it look like your printer is an IPP Everywhere printer, even if it needs a driver or similar - the driver is embedded in the printer application.

Fedora contemplates the driverless printing future

Posted Jun 14, 2021 7:34 UTC (Mon) by cpitrat (subscriber, #116459) [Link] (1 responses)

But why not create a printer application that supports existing PPD files and even automatically find the one installed in the previous CUPS version so that this is transparent to all users?

Fedora contemplates the driverless printing future

Posted Jun 14, 2021 10:16 UTC (Mon) by farnz (subscriber, #17727) [Link]

Couple of reasons:

  1. Many printers have PPDs that translate a subset of their IPP Everywhere capability to an old-style PPD for CUPS on macOS. My HP does, for example. You'd need to identify these PPDs and ignore them completely - which is a mostly manual process to begin with, and is best done by the person who wrote the PPD.
  2. Ignoring the automatic reuse of existing PPDs, that's what the PAPPL project provides. It's a library for taking CUPS raster drivers and matching PPDs and producing printer applications.

Basically, doing a good job of an application that supports existing PPD files and the matching CUPS raster drivers is an engineering effort on a par with using PAPPL to write printer applications for those printers that don't do IPP Everywhere already.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 16:26 UTC (Fri) by tajyrink (subscriber, #2750) [Link] (1 responses)

I've a HP P1005 printer that was introduced in 2003 and bought maybe around 2006. It seems currently likely it'll work for another 15 years in the little use it sees. It also just works on a new machine if plugged in, if running Ubuntu (not so much on other distros I've tried, it's been hard to get it working at all despite in theory all the same software).

Fedora contemplates the driverless printing future

Posted Jun 7, 2021 5:13 UTC (Mon) by abbe (subscriber, #137089) [Link]

Maybe missing the firmware[0] ?

[0] https://github.com/koenkooi/foo2zjs

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 16:29 UTC (Fri) by jepler (subscriber, #105975) [Link] (8 responses)

Looks like my Samsung-branded USB-only laser printer is from 2005. Printing works well from Linux today (Debian through Buster) Wake me when I can dedicate a Raspberry Pi to it and turn it into an IPP driverless printer on my LAN.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 17:44 UTC (Fri) by pbonzini (subscriber, #60935) [Link] (6 responses)

You can do that now! I did it a couple years ago when I upgraded my home theatre to a more powerful board than the Pi, and it works so well that my parents wanted me to do the same at their place.

My Pi does a bit more than run CUPS, as it also run the home DNS/DHCP server, acts as a Wifi access point, and has an MQTT broker. Last but not least it updates a Google spreadsheet, with server side macro magic that sends me email if there's no electricity at home (it saved the contents of the freezer once). The Pi has been on for about 8.5 years, 24/7, and works flawlessly.

It works just fine from all of Linux, Windows and macOS.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 17:57 UTC (Fri) by adam820 (subscriber, #101353) [Link] (2 responses)

Is there a good write-up on this somewhere? I'd be interested to see how that's done.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 17:59 UTC (Fri) by pbonzini (subscriber, #60935) [Link]

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 18:06 UTC (Sun) by mike.cloaked (subscriber, #63120) [Link]

This is also a good starting point: https://wiki.gentoo.org/wiki/Driverless_printing

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 3:38 UTC (Sat) by rsidd (subscriber, #2582) [Link] (2 responses)

The pi is an amazing device. Some time ago I realized our old router had a severe bufferbloat problem. Set up a pi as a router and it works great (using openwrt). Have considered converting an old laserjet printer to IPP using the pi. But too lazy: we rarely use it (mostly use a newer IPP-enabled ink-tank printer), and it does work with linux, it's not that much trouble plugging it into a laptop...

Fedora contemplates the driverless printing future

Posted Jun 20, 2021 18:17 UTC (Sun) by malor (guest, #2973) [Link] (1 responses)

The Pi 4B is particularly impressive. That sucker has quite a lot of CPU, and a fair bit of I/O power. It's not quite fast enough to make a very good desktop, at least running Ubuntu, but it's a killer little server box. Most Unix-style server apps were written a great long while ago, aimed at machines far less powerful, so you can load up a 4B with a fair number of daemons and expect it to run very smoothly.

Fedora contemplates the driverless printing future

Posted Jun 24, 2021 17:56 UTC (Thu) by jezuch (subscriber, #52988) [Link]

What times we live in - a desktop machine today needs to be way beefier than a server! 🙃

Fedora contemplates the driverless printing future

Posted Jun 9, 2021 14:00 UTC (Wed) by JanC_ (guest, #34940) [Link]

I have one of those Samsung printers too. Was really cheap to buy compared to competitors, and after a little bit of issues with the open source drivers early on it has worked quite nicely for whatever I need to print (which isn’t much these times, another reason why I’d rather not have to buy a new one…).

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 17:57 UTC (Fri) by james (subscriber, #1325) [Link] (4 responses)

The Epson ET-2710 is part of Epson's current range, works as a networked printer with drivers actually in Fedora 34, and even with the latest firmware it doesn't listen on port 631 at all.

So this is not just about old printers. Brand new printers will need these printer applications or stop working.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 19:28 UTC (Fri) by pizza (subscriber, #46) [Link] (3 responses)

> The Epson ET-2710 is part of Epson's current range, works as a networked printer with drivers actually in Fedora 34, and even with the latest firmware it doesn't listen on port 631 at all.

There's nothing that requires the printer to listen specifically on port 631; the actual service port is advertised via mDNS.

Meanwhile, Epson claims that the ET-2700 series is supported by both Android Print and Apple AirPrint, which means it will operate in a driverless manner via IPP.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 20:04 UTC (Fri) by james (subscriber, #1325) [Link] (2 responses)

Thanks, I learnt something about mDNS -- but enough to show the printer isn't advertising IPP. Just _privet._tcp, _scanner._tcp, _http._tcp, _pdl-datastream._tcp, and _printer._tcp.

And the Epson documentation I've found says "you can send documents to print from smart devices using the Epson iPrint³ app". I can't find any documentation from Epson saying you can print to this printer from "smart devices" without the app.

(The footnote says "3.Requires a wireless connection to the internet", and I suspect the driver is cloud-based. Grr.)

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 20:14 UTC (Fri) by pizza (subscriber, #46) [Link] (1 responses)

If you go to Epson's web site, and filter by feature set, selecting airprint or android print shows many models in the ET-2700 series.

Also, IIRC, the Epson iPrint app will work locally, if the printer is local -- where relaying through the internet becomes necessary is if you're trying to print to configured printer that's behind a firewall. In any case, you can use native Android or Airprint functionality without that app.

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 10:01 UTC (Sat) by james (subscriber, #1325) [Link]

You want a moan about Epson's web site?

For one thing, they don't have a web site. They try really hard to send you to a per-country web site, each with a twisty maze of similar pages, all different. I can't even find any "filter by feature set" with "airprint" or "android print" as options. Epson's UK web site has a helpful "Plug & play (built in driver)" filter, and you'd think IPP printers would count.

It lists one printer.

They do have "Mobile solutions" or similar phrasing as an option on a number of web sites -- but if their app supports it, that counts.

In any case, I think it's fairly clear that this printer Epson are still pushing doesn't support IPP at all. Other similar ones might, but this doesn't.

At least I can print with open source software (on the computer). And recent updates seem to have got the scanner working, if only at 300 dpi maximum.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 18:15 UTC (Fri) by syrjala (subscriber, #47399) [Link] (13 responses)

Seems a bit of a weird approach to have several of these "printer applications". Why not just split cups into two parts: the part they want to keep, and the other part becoming a universal "printer application" with whatever drivers it already has? Could at least avoid each "printer application" having its own ad-hoc configuration system and bugs.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 19:43 UTC (Fri) by pizza (subscriber, #46) [Link] (12 responses)

I asked this question back when this "printer application" thing was first proposed.

The short answer is that "splitting CUPS into two parts" is effectively the current plan. The part called CUPS will keep only the IPP-related stuff, and if necessary, the "legacy stuff" will become the basis of a fallback "printer application" of last resort.

The goal is to get all known F/OSS CUPS drivers converted to native printer applications, leaving only proprietary drivers (which are already problematic)

> Could at least avoid each "printer application" having its own ad-hoc configuration system and bugs.

That's one of the goals of PAPPL.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 20:04 UTC (Fri) by Paf (subscriber, #91811) [Link] (11 responses)

I’m still trying to understand why they’re called “printer applications”. It sounds like each and every one will need to be custom created. That sounds awful.

Why doesn’t splitting CUPS allow the “driver using” half of CUPS to serve as a *general* printer application? And why isn’t that the idea?

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 20:40 UTC (Fri) by pizza (subscriber, #46) [Link] (10 responses)

> I’m still trying to understand why they’re called “printer applications”. It sounds like each and every one will need to be custom created. That sounds awful.

The old name for such things was "raster image processor"

But yes, in theory every individual printer could have a unique "application" which sounds awful until you consider that every printer already does have one, only it's embedded into the printer itself.

In practice, entire printer families will be supported by a single "printer application" -- eg any printer that speaks postscript and has a PPD is handled by ps-printer-app, dymo and zebra label printers work using lprint, and the (eventual) gutenprint printer app will handle 3500 or so separate models from multiple manufacturers.

> Why doesn’t splitting CUPS allow the “driver using” half of CUPS to serve as a *general* printer application? And why isn’t that the idea?

The simple reason is that CUPS is not structured to (easily) have multiple relatively ephemeral self-contained server instances running on a system, and restructuring it to do so is a substantial undertaking. (current) CUPS also only implements a subset of the IPP spec, and there's no way to automagically map the considerable breadth of individual printer functionality from PPD options to standard IPP attributes, so per-printer tweaks are all but guaranteed. Work is being done on all of these fronts.

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 18:23 UTC (Sat) by Paf (subscriber, #91811) [Link]

Thank you - I can’t claim to understand all of this in any detail, but this is still very informative.

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 18:30 UTC (Sat) by knan (subscriber, #3940) [Link] (8 responses)

So this is just a rebranding and splitting from "driver" to "app" since that sounds cooler today.

And if this is something that needs to be compiled per os and arch, what exactly has been gained?

- snarky old fart

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 1:54 UTC (Sun) by Paf (subscriber, #91811) [Link] (6 responses)

I think the answer is basically “CUPS feels they need out of the driver game to make their architecture sane”. The move from drivers to printer apps seems in most ways like a significant step backwards.

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 2:46 UTC (Sun) by pizza (subscriber, #46) [Link]

Consider this -- How does one print to a locally-attached printer from a container or sandboxed application?

The legacy CUPS model requires the printing stack (or at least one part of the "driver") to have root access, which rather defeats the point of sandboxing relatively untrusted applications.

CUPS isn't trying to "make its architecture sane" for its own sake; while it represented a vast improvement over what came before, the old approach has reached the end of its ability to grow/scale to meet current (much less future) needs.

(In many ways, this is similar to the X11 -> Wayland transition -- except nearly every printer manufactured for the past decade is already Wayland-native, and these "printer applications" are akin to XWayland to allow older printers to keep working)

> The move from drivers to printer apps seems in most ways like a significant step backwards.

Not from a typical end-user's perspective.

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 7:50 UTC (Sun) by smurf (subscriber, #17840) [Link] (4 responses)

It's not, though, because priter apps afford far better integration.

Consider a USB-connected label printer. It supports wildly disparate cartridges for different sizes (or even endless w/ cutter). You typically ask the printer what's loaded right now, then send it an appropriate bitstream of things to print.

Now a sane workflow would be "people send whatever print jobs to this printer, it pops up some dialog which cartridge you should insert next, then prints all jobs for that cartridge. Repeat". Or "you have three printers with different cartridges. The print dialog shows which one is loaded with what. You send the job to the appropriate printer".

CUPS as it is now is unable to support any of this because the printer driver simply reads Postscript on stdin and sends the raster data to stdout, which another printer-agnostic driver feeds to USB. CUPS thus can only blindly send the data stream to the printer: the printer reports an error, the print job is lost and the printer is wedged and needs to be power cycled. Bah. Even if you got rid of the USB driver you still can't reflect the printer state in your print dialog.

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 12:23 UTC (Sun) by pizza (subscriber, #46) [Link] (2 responses)

> CUPS as it is now is unable to support any of this because the printer driver simply reads Postscript on stdin and sends the raster data to stdout, which another printer-agnostic driver feeds to USB. CUPS thus can only blindly send the data stream to the printer: the printer reports an error, the print job is lost and the printer is wedged and needs to be power cycled. Bah. Even if you got rid of the USB driver you still can't reflect the printer state in your print dialog.

For a very long time, (15+ years) CUPS has provided a backchannel and standardized ways to query and percolate media type, status reporting, and whatnot up through the stack (including providing info that UIs could use to restrict option selections to valid combinations) but in practice very few drivers ever properly implemented this, because it was complex (due to the very loose coupling between layers), brittle (again due to the loose coupling), and nearly zero UI/frontend support for this stuff.

This stuff is the main reason I'm looking forward to a native, end-end IPP printing flow. Printer Apps are more complex than an individual CUPS filter driver, but the bidirectional-from-the-start paradigm (unlike the largely fire-and-forget^H^H^H^H^Hpray model of yesteryear) affords far tighter internal integration, enabling considerably improved -- and vastly more reliable -- functionality.

(I say this as not only a heavy daily user of the legacy CUPS driver paradigm, but as someone who has spent nearly a decade writing CUPS drivers+backends and dealing with the endless support headaches. Many of the recurring pain points simply go away under this new Driverless paradigm -- but in the mean time, suffice it to say there's a ton of bailing wire, duct tape, and goat blood barely holding the creaky mess together, and users still have to bypass CUPS altogether for common management/maintenance tasks)

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 13:41 UTC (Sun) by smurf (subscriber, #17840) [Link] (1 responses)

Well, apparently nobody knows about this (certainly not the authors of the P-Touch driver). Also even if known, the standard architecture of separate CUPS-raster-device filters doesn't accmodate any back channel, so no wonder nobody implements it. Too much work.

Fedora contemplates the driverless printing future

Posted Jun 7, 2021 19:13 UTC (Mon) by pizza (subscriber, #46) [Link]

> Also even if known, the standard architecture of separate CUPS-raster-device filters doesn't accommodate any back channel, so no wonder nobody implements it.

IIRC the CUPS backend API [1] has always [2] supported a backchannel. But it's not guaranteed to be present/functional [3], so individual filters/divers rarely utilized it -- Ironically, most of those that did were proprietary drivers for MacOS.

[1] https://www.cups.org/doc/man-backend.html
[2] It was present in v1.1, released over 20 years ago. I didn't bother to look further back.
[3] The humble PC parallel port wasn't necessarily bi-directional. The same is still true for USB printer class devices. We're still hobbled by this baggage.

Fedora contemplates the driverless printing future

Posted Jun 7, 2021 18:19 UTC (Mon) by Wol (subscriber, #4433) [Link]

> Now a sane workflow would be "people send whatever print jobs to this printer, it pops up some dialog which cartridge you should insert next, then prints all jobs for that cartridge. Repeat". Or "you have three printers with different cartridges. The print dialog shows which one is loaded with what. You send the job to the appropriate printer".

This sounds like the spooler I was dealing with DECADES ago in the early 80s.

Although I think you needed to create multiple queues for the different configurations, and you'd stop the current queue, change the configuration, and activate the new queue. You CAN sort-of do that with windows, but it's not particularly easy ...

Cheers,
Wol

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 21:49 UTC (Sun) by marcH (subscriber, #57642) [Link]

> So this is just a rebranding and splitting from "driver" to "app" since that sounds cooler today.

That was my first impression too. Some comments here describe some tangible advantages of moving stuff around and changing abstraction layers beyond mere "coolness" (thx!) but I think a follow-up article could be easier to read than the comments in this one.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 19:03 UTC (Fri) by cesarb (subscriber, #6266) [Link] (2 responses)

I see no mention of USB, only networked printers. What about printers that are USB-only, or printers that could in theory be connected to the network but are instead connected directly through the USB cable? Or USB-only printers that are connected through the USB cable to a small box running OpenWRT, which then uses p9100d to expose the raw USB interface to the network as TCP port 9100?

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 21:21 UTC (Fri) by pbonzini (subscriber, #60935) [Link]

That's the printer application part. IIUC hplip is already mostly following that model.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 23:10 UTC (Fri) by gnoutchd (guest, #121472) [Link]

I believe ipp-usb is meant to be the answer. It's pulled in as a Recommends by cups-daemon in Debian bullseye, and it exposes printers that support IPP-over-USB as a localhost "network printer". Last I tried it worked very nicely for my OfficeJet 8710, and I believe it's expected to work for any other IPP Everywhere USB printer.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 19:32 UTC (Fri) by jkingweb (subscriber, #113039) [Link] (1 responses)

How well does IPP Everywhere work in the Windows world? I bought a Brother printer last years, so it should (hopefully!) be modern enough. I can print to it effortlessly thanks to CUPS, but my Windows-using housemate struggles endlessly. Why does this stuff still have to be so absurdly hard in unpredictable ways?

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 20:18 UTC (Sat) by pbonzini (subscriber, #60935) [Link]

Last time I tried it couldn't find it via zeroconf (I had to put in the IP address of the CUPS server manually) but it worked just fine once the printer was detected.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 20:16 UTC (Fri) by dullfire (guest, #111432) [Link] (6 responses)

Hmmm. Feels kind of like the current community is somewhat hostile towards people who can not, or do not want to put their printers on the network.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 20:46 UTC (Fri) by pizza (subscriber, #46) [Link] (5 responses)

> Hmmm. Feels kind of like the current community is somewhat hostile towards people who can not, or do not want to put their printers on the network.

FWIW, "localhost" is "on the network" and is how already CUPS operates today.

User applications don't talk directly to the printer, they talk to the local CUPS instance or invoke helpers that do so. (eg lp/lpr) So this new paradigm isn't any different.

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 3:31 UTC (Sat) by dullfire (guest, #111432) [Link] (4 responses)

*sigh* I would have hoped it was self evident that you computer (or at least that's what I assume you mean by "localhost", since from a correctly configured printers perspective "localhost" is itself) is not in fact the printer.

In case it was in any way unclear: by "put their printers on the network" I meant "plug the printer into an RJ-45 jack, or give it access to wifi, or plug in a fiber line, or any upl-ink that is typically connected to multiple systems, and not just one machine." I would have thought that was self-evident, especially considering that the article is about requiring printers use IPP (which I'm pretty sure won't work over raw usb, it would probably have to be encapsulated in some transport that supports IP first). However maybe that's just my perspective, and host actually shared by other people.

PS. claiming "localhost" is on the network is kind of a pointless thing. Maybe next we should say "lo is the only interface needed to be networked".

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 7:44 UTC (Sat) by randomguy3 (subscriber, #71063) [Link]

You might want to check out gnoutchd's comment about ipp-usb

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 18:29 UTC (Sat) by Paf (subscriber, #91811) [Link]

I feel like this comment misses the point of the previous one.

Using network software and concepts is, for a locally connected printer, an implementation detail.

IPP uses network services as an implementation detail, even for USB connected printers, but it does not require “network access” in the sense of any of this being visible beyond the printer and the machine it’s connected to.

Think of it as IPP over USB. It’s using IP. And it’s using *a* network (sort of, in the sense that the endpoints are using networking protocols to communicate), but there’s no need for it to be on *your network*.

So this is a way to use IPP everywhere rather than having a custom USB solution. And unless your objection is literally to the use of IP protocols, this seems fine.

Fedora contemplates the driverless printing future

Posted Jun 7, 2021 16:49 UTC (Mon) by gnoutchd (guest, #121472) [Link] (1 responses)

No, pizza understood you perfectly. "On the network" in this case means "reachable by code that knows how to open an AF_INET socket". There's no reason that can't be a local USB-connected printer as long as you have a driver that binds to a port on localhost and speaks the same protocol that a network printer would speak. ipp-usb is exactly that for any printer that supports IPP-over-USB, a standard widely implemented by modern printers. It's installed and enabled out-of-the-box by current or upcoming distro releases.

Fedora contemplates the driverless printing future

Posted Jun 7, 2021 20:55 UTC (Mon) by marcH (subscriber, #57642) [Link]

> PS. claiming "localhost" is on the network is kind of a pointless thing.

localhost is the special "network" with a single host and it's not "pointless": high-level printing protocols (just like most TCP/IP protocols) don't want to know which particular networks your printer is connected to. It's much simpler when "everything is a network" and networking implementation details and choices stay private to you.

Fedora contemplates the driverless printing future

Posted Jun 4, 2021 20:24 UTC (Fri) by joib (subscriber, #8541) [Link]

Here's a recent set of slides by the main CUPS developer: https://ftp.pwg.org/pub/pwg/liaison/openprinting/presenta...

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 0:29 UTC (Sat) by areilly (subscriber, #87829) [Link] (4 responses)

Notwithstanding that my own ancient Lexmark printer is connected via USB (when it's connected at all), I'm a bit surprised that printer drivers, even in the IPP Everywhere sense are still a thing.

Surely networked printers must all have web-tech front-ends by now, that (a) provide all of the settings that you could want, and (b) allow upload or drag-and-drop of the relevant document fomats (postscript or PDF, probably)? Why is any of that complexity something that you want programs on the host (client) computers to be running?

Top that off with a bit of REST API magic so that you can still have a "print" option in your word-processor I suppose, but I'd be perfectly happy if that all went away, I think. I only print PDFs.

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 1:13 UTC (Sat) by pizza (subscriber, #46) [Link]

> Why is any of that complexity something that you want programs on the host (client) computers to be running?

The world of printing is vastly more complex than a human interactively uploading PDFs.

> Top that off with a bit of REST API magic so that you can still have a "print" option in your word-processor I suppose

....and thus, IPP was born. :)

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 13:10 UTC (Sat) by dottedmag (subscriber, #18590) [Link]

Well, you have described IPP

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 18:30 UTC (Sat) by kucharsk (subscriber, #115077) [Link] (1 responses)

This all assumes the use of newer printers and that the printers work as expected.

My workhorse is still an Apple LaserWriter 8500, purchased in 1997 and that still works well, and most smaller companies only buy a new printer when they absolutely have to.

I also added an HP Color LaserJet Pro M477fdw in 2016, but printing to it even from Apple platforms is hit and miss (most commonly it will not awaken from sleep, leading CUPS to just pause the print queue with no hints as to why, despite several firmware updates from HP.) Note also that very often its web interface will just stop responding after two or three clicks, requiring you to power cycle the printer.

Printing is still a mess no matter which printer and OS you use.

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 23:32 UTC (Sat) by Wol (subscriber, #4433) [Link]

Interesting. I have an M477fdw, and it worked flawlessly from Windows 7 and 8.0/8.1. It still works flawlessly from my Windows 10 laptop, but from my wife's it has difficulty remembering that there's a duplex unit installed and as you say it often won't wake from sleep making her Windows take it offline.

It took me a while to work out the fix for the offline problem but I've discovered a simple solution - run the printer troubleshooter. It comes back and says "nothing wrong", but as a side effect it gets the printer back online.

Cheers,
Wol

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 1:16 UTC (Sat) by bokr (guest, #58369) [Link] (1 responses)

How will printer/scanner combos fare?
E.g. Samsung SCX-3405W ??

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 14:03 UTC (Sat) by dbnichol (subscriber, #39622) [Link]

More or less the same way it always has since SANE handles scanning, not CUPS. With a recent scanner you can install sane-escl or sane-airscan and scan over the network without a SANE server. I recently started initiating scanning from my laptop and it is awesome.

If the combo is USB connected then I think the SANE part is no different than it's ever been. The CUPS part is different (or becoming different) as described in other comments here.

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 9:20 UTC (Sat) by MickeyDance (guest, #112575) [Link] (1 responses)

I quote from the initial post: "That printer is supposed to support IPP Everywhere, though, and it can be seen in the output of avahi-browse. Android devices can successfully print to it".

So, after 10 years (the post also says IPP started in 2010), the current distribution doesn't + Brother driver still doesn't work seamlessly even though it does with Android. Doesn't this sort of imply that the current CUPS IPP installation isn't ready for non-expert use.

I've been working in the UNIX system arena (and these days Linux) world for 30 years and it is frightening how open-source seems to do the same as closed-source i.e. decide that the hardware you have is too old to be supported so if you have a problem go and buy a newer one that does work with the latest software....

Not to mention, at the end of the day, all the new system will let me do is print pages which I can already do but only if I'm fortunate enough to have a vaguely recent printer. Anyone remember the smug comments/howls from the Linux world when Windows changed its printer driver system and moved some of the driver into the printer thus making them Windows only printers?

Maybe I should just use Samba and print through Windows:) <- that was a joke guys, honest:):)

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 9:47 UTC (Sat) by randomguy3 (subscriber, #71063) [Link]

It's worth reading through the comments on this article (and following the links) to get a more complete picture. It seems like the plan is to re-architect CUPS so that it can deal with networked IPP printers more seamlessly (hopefully resolving things like printers that currently work with Android but not desktop Linux), while putting in place bridges to maintain compatibility with printers that don't talk IPP natively (or do talk IPP, but over USB).

If it all goes to plan, hopefully we'll end up with a system where printing Just Works (TM) for 98% of modern printers, while still providing a relatively straightforward path to connecting older / quirky models. Of course, things like this are rarely smooth sailing, so we'll have to see, but the current system is painful enough that I'm looking forward to what might be.

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 10:32 UTC (Sat) by hei8483j (guest, #124709) [Link]

After upgrading to Fedora 34, my Brother laser printer was no longer found on the network. After much digging, I found out from an EOL bugzilla bug (https://bugzilla.redhat.com/show_bug.cgi?id=1787898) that I had to add mdns4_minimal to the hosts row in /etc/nsswitch.conf to make discovery work. I have no idea why the argument had disappeared. Things like this have been very frustrating when it comes to printing and Linux.

Thanks for the humor :-)

Posted Jun 5, 2021 11:44 UTC (Sat) by fmyhr (subscriber, #14803) [Link]

Just wanted to say thanks for your droll summary of setting up Linux printers. As always the news and tech details bring me here, your humor keeps me here. Thanks!

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 12:51 UTC (Sat) by ejr (subscriber, #51652) [Link] (4 responses)

And then there are the all-singing, all-dancing workgroup printers where you authenticate *at the printer* to ensure no one else picks up your documents... The level of complexity just keeps moving up.

Printers are a major reason why I left the sysadmin area. And I actually know what the PC in "PC Load Letter" stands for...

Fedora contemplates the driverless printing future

Posted Jun 13, 2021 20:05 UTC (Sun) by nix (subscriber, #2304) [Link] (3 responses)

I didn't -- but it turns out to be in the Wikipedia article on this error (because of course there is one). It stands for "Paper Cassette", of course, because *obviously*. (What sort of historical artifact a "paper cassette" might be, I have no idea.)

Fedora contemplates the driverless printing future

Posted Jun 13, 2021 21:12 UTC (Sun) by amacater (subscriber, #790) [Link] (1 responses)

I suspect it's the plastic casing that holds a huge amount of fanfold paper to run through - the equivalent today would be the tray holding individual sheets on a larger laser printer. Particularly with fanfold, you wouldn't want it to unfold until you were ready.

Fedora contemplates the driverless printing future

Posted Jun 13, 2021 21:37 UTC (Sun) by Wol (subscriber, #4433) [Link]

I dunno ...

We always just put a box of paper underneath the printer. Okay, we didn't have the super-fast chain printers, but once I persuaded my boss to replace the dot-matrices with proper line printers, they could certainly fly through a box with ease ...

Cheers,
Wol

Fedora contemplates the driverless printing future

Posted Jun 13, 2021 22:51 UTC (Sun) by pizza (subscriber, #46) [Link]

Any printer that can hold more than about 50 sheets of paper still tends to use a removable tray to hold said paper -- that tray is the paper cassette. The Brother laser I have here holds about 250 sheets in its cassette, with the option of using high capacity cassettes that can hold an entire ream (500 pages) at a time.

(I also have several Canon and Kodak photo printers that also use removable paper cassettes...)

Fedora contemplates the driverless printing future

Posted Jun 5, 2021 16:16 UTC (Sat) by ccchips (subscriber, #3222) [Link]

I'm running Mint 20.1 and I have a driverless printer for my HP 9010.

For the driverless printer:

First, I can't delete it. Mint insists that it's there whether I like it or not.

Second, I can find no way to stop it from printing pages in reverse order (which is nice for a deskjet and single-sided printing,) but please read on.

Finally, and worse than the rest, I can't get Libreoffice to handle envelopes smoothly. On top of that, the envelopes are printed differently than below.

For the driver (HPLIP:)

* I can control the order of page printing

* I have no problem printing envelopes

* I have not yet tested this, but it looks like output is actually better and cleaner with HPLIP.

---

The nastiest problem with IPP is envelopes. Now, some of you may be thinking "Why is anyone using envelopes anymore anyway? Why are you even printing anything anymore?" Well, that's OK someday.....just make sure those USB drives and SSDs and micro-SD cards are reliable..... ;)

Anyway, that's my $0.02....

Driverless printing seems to lack pro/prosumer features

Posted Jun 5, 2021 20:23 UTC (Sat) by dacut (subscriber, #131937) [Link]

Is it just me, or does driverless (IPP) printing seem to be falling into least-common-featureset syndrome?

Even from the latest MacBook, latest macOS, where all of this is supposed to "just work," trying to do anything more than print a basic document seems impossible. If you want to print on photo or matte paper -- the latter seems to require a bit of ink-mixing voodoo to make the colors look correct -- the options just aren't there, at least for the Canon printers I have.

Scanning (from the multifunction devices I have) is a mess. Faxing functionality is non-existent, but thankfully I never have to use that any longer.

If Apple -- who until recently employed the main author of CUPS -- can't get this right, I don't see much luck for the rest of the CUPS ecosystem.

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 0:11 UTC (Sun) by gerdesj (subscriber, #5446) [Link]

Not all of us print on Letter sized paper.

Have a look into /etc/papersize - many apps will do your bidding and stop your printer bleating about paper sizes. That said I still have the occasional regression. My PCs/laptops are all set to en_GB. /etc/papersize is always set to a4 and my printer daemons are all told to default to a4. Despite that I still get some jobs asking me to approve turning letter into a4. The docs are probably storing rubbish settings.

At least they print (eventually.)

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 0:39 UTC (Sun) by Wol (subscriber, #4433) [Link]

> IPP does have provisions for authentication and such, but employing them would take away much of the convenience that the protocol is meant to provide in the first place. So the general attitude toward security is likely to remain as Dohnal described it: the local network is expected to be secure.

Except that security experts now assume that - if you actually want a secure local network - you need to use the onion model and assume the local network is NOT secure.

Catch-22 ...

Cheers,
Wol

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 1:37 UTC (Sun) by ccchips (subscriber, #3222) [Link] (5 responses)

There's an interesting irony to all this: For many years I printed Christmas card labels on a Panasonic dot-matrix printer using 1-up Avery labels. I could easily define settings to the printer driver such that the printer would print one label at a time (one per page if you will,) and stop dutifully at the end. By that means, I never wasted a label (except production flukes such as misaligment.) With the demise of that printer, I wound up with sheet labels and wasted labels (or ones that were for hand-addressing.)

Of course, it was also easy to stamp out a whole bunch of return address labels, again without wasting a single one.

This was all on Windows 95/XP/7 using Access for the Christmas lists. Honestly, I never tried to accomplish the same thing on Linux, and from what I can tell, it would be a nightmare.

By the way, all that happened because that Epson could emulate an IBM printer. I don't believe the Windows 7 or Windows XP driver for the native printer could handle my task correctly.

Printing sucks everywhere, and I honestly don't see an end to that.

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 12:03 UTC (Sun) by Wol (subscriber, #4433) [Link]

> This was all on Windows 95/XP/7 using Access for the Christmas lists. Honestly, I never tried to accomplish the same thing on Linux, and from what I can tell, it would be a nightmare.

For me, this goes back to WordPerfect 5.1 on DOS. I could use a comma-separated-list, pull it into a WP mailmerge with one label per logical page, tell WP that there are 14, or 21, or whatever, logical pages to a physical page, and it all came out nice-n-easy. Doing that even today with Word is a *nightmare*.

Cheers,
Wol

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 15:56 UTC (Sun) by JanC_ (guest, #34940) [Link] (3 responses)

You might also want to try gLabels for label printing.

Fedora contemplates the driverless printing future

Posted Jun 6, 2021 18:20 UTC (Sun) by ccchips (subscriber, #3222) [Link] (2 responses)

I use gLabels for label printing, but again, what if I want to print 20 labels? I would have to scrounge up a dot-matrix printer or use a specialized label printer. I suppose I could get 1-up label sheets (if there is such a thing,) and it would be a little less wasteful....and what about the "driverless" problem with reverse-order-only printing? Envelopes are an absolute pain if I use that driverless thing.

But I do love gLabels and its capabilities...with the HPLIP driver!

Fedora contemplates the driverless printing future

Posted Jun 7, 2021 2:10 UTC (Mon) by ccchips (subscriber, #3222) [Link] (1 responses)

I'd be interested to know if there are any one-up labels (4" by 1" for instance) suitable for inkjet printers. Haven't found anything like that on Amazon yet...

Fedora contemplates the driverless printing future

Posted Jun 15, 2021 20:27 UTC (Tue) by JanC_ (guest, #34940) [Link]

gLabels allows you to select what labels on e.g. an A4 sheet with 10 labels to print on (or which one to start printing on, in case you print multiple pages), so I'm not sure what you mean by “waste”?

Older printers' support

Posted Jun 6, 2021 7:40 UTC (Sun) by zdzichu (subscriber, #17118) [Link] (4 responses)

Like pizza mentioned on the mailing list, there are basically two types of printers:
- unkillable ones, working for decades
- trash one, which gets replaced every 2-3 years
I think users are mainly concerned about losing support for the first kind. But there's also a lot of a grey area.

I personally "manage" two printers. One represents first kind - it's a LaserJet 6L, over 20 years old at this point. I haven't seen more solid device, works with every Linux distribution, replacement toner is dirt-cheap. I feel it will work for another 20 years easily.

The other printer is a multifunction HP MFP1132, about 6-8 years old today. According to the proposed change, it should be "driverless". It isn't. I need to manually download "hp-plugin" binary crap every time the driver - hplip - get's updated. Without the binary blob, neither printing nor scanning works.

Naturally, when I see assurances "printers made in last 10 years work flawlessly" but I'm looking at one which doesn't, I'm not believing assurances that my 6L will continue working.

Older printers' support

Posted Jun 6, 2021 9:05 UTC (Sun) by Jonno (subscriber, #49613) [Link]

> The other printer is a multifunction HP MFP1132, about 6-8 years old today. According to the proposed change, it should be "driverless". It isn't. I need to manually download "hp-plugin" binary crap every time the driver - hplip - get's updated. Without the binary blob, neither printing nor scanning works.

I got a HP Color LaserJet MFP M281, which has the same problem: hplip requires the proprietary hp-plugin to work. However, using the cups-filter "driverless" driver (and presumably the CUPS "everywhere" driver), I could use IPP Everywhere to talk directly to the printer, bypassing hplip completely. Without hplip SANE won't work, but I just use the controls on the printer to scan, which saves a tiff on my Samba server (it can also save a pdf instead of a tiff, or send the file [pdf or tiff] over email if you prefer that), which works without any drivers.

If you only have one printer on the local network, the following commands should do the trick, if you got multiple printers, you need to manually pick the right URI from the ippfind output:
>$ URI=$(ippfind)
>$ sudo lpadmin -p «PrinterName» -o printer-is-shared=false -v ${URI} -m driverless:${URI} -E

Older printers' support

Posted Jun 6, 2021 12:35 UTC (Sun) by pizza (subscriber, #46) [Link] (2 responses)

> Naturally, when I see assurances "printers made in last 10 years work flawlessly" but I'm looking at one which doesn't, I'm not believing assurances that my 6L will continue working.

At the end of the day, proprietary crap that requires binary blobs to work is still proprietary crap, and you're forever at the manufacturer's mercy when it comes to ongoing updates.

With respect to your 6L specifically, the very first pappl example was written for PCL printers such as yours. Additionally, the 6L is already well supported by Gutenprint, and that support will carry over to the future Gutenprint printer application.

(Note the exact quote is "98% of printers sold since 2010", not "all printers made in the last 10 years" -- most of what I work with is part of one of those "certain verticals" in that 2%)

Older printers' support

Posted Jun 6, 2021 13:43 UTC (Sun) by zdzichu (subscriber, #17118) [Link] (1 responses)

Great new about 6L. Thanks.

But for Hewlett Packard MFP1132… this is basic home printer with a scanner, nothing fancy. I'm surprised it isn't in 98%.

Older printers' support

Posted Jun 7, 2021 10:45 UTC (Mon) by mchehab (subscriber, #41156) [Link]

> But for Hewlett Packard MFP1132… this is basic home printer with a scanner, nothing fancy. I'm surprised it isn't in 98%.

Those cheap USB-only laser scanner/printers don't have IPP natively. I have one such printer too, as the cost per page on such devices is very low.

Using it as a network printer is tricky, as the default support via hplip requires a proprietary x86-only driver, which require upgrades almost every time CUPS is upgraded. Also, as it is x86-only, one can't use a cheap arm device like RPi to be a printer server, and, last time I checked, the alternative of using foo2zjs driver won't provide sane support over the network.

AppleTalk FTW

Posted Jun 7, 2021 4:59 UTC (Mon) by jccleaver (guest, #127418) [Link] (3 responses)

It amazes me how much modern strife in the Linux world consists mostly of people trying to re-implement stuff Apple Computer handled pretty well by 1989 and only needed a few later tweaks to reduce chattiness.

While Avahi/Zeroconf/Bonjour and all intended replacements may be appropriate for distributions, I'm leery of efforts to remove simple, hard-configurable systems. And if we have to keep drivers around to not require another five services on a simple Linux device that just needs to spit out some lp data, I'm not sure I have a problem with that.

AppleTalk FTW

Posted Jun 7, 2021 10:27 UTC (Mon) by pizza (subscriber, #46) [Link] (2 responses)

> It amazes me how much modern strife in the Linux world consists mostly of people trying to re-implement stuff Apple Computer handled pretty well by 1989 and only needed a few later tweaks to reduce chattiness.

Apple handled all of this so well that nearly every release of OSX required changes to printer drivers in order for existing printers to remain useful.

> I'm leery of efforts to remove simple, hard-configurable systems.

It turns out those "hard-configurable" systems weren't so "simple" after all.

> And if we have to keep drivers around to not require another five services on a simple Linux device that just needs to spit out some lp data,

Printing hasn't been a matter of "simply spitting out some lp data" since before "line printer" ceased to be a meaningful term in of itself.

AppleTalk FTW

Posted Jun 7, 2021 15:17 UTC (Mon) by jccleaver (guest, #127418) [Link] (1 responses)

> Apple handled all of this so well that nearly every release of OSX required changes to printer drivers in order for existing printers to remain useful.

You can go much further back than that. I'm old enough to remember System 6.0.8 having to be released solely because System 7's were incompatible with the previous ones and would force resets whenever a printer had to go back and forth between 6 and 7 users.

I'm referring mainly to printer local discovery, which was what Avahi/Zeroconf/etc have been trying to re-create for a while now.

I get the desire to press ahead with new printers in a new way, but as someone else wrote, there are the disposable printers you replace every 2 years, and forever printers that have been in service for decades. I'm not sure I trust the current desktop decision makers to take the latter property into account, given the last decade+ of Freedesktop decisions.

AppleTalk FTW

Posted Jun 7, 2021 16:52 UTC (Mon) by pizza (subscriber, #46) [Link]

> I'm referring mainly to printer local discovery, which was what Avahi/Zeroconf/etc have been trying to re-create for a while now.

Sure, appletalk worked great... as long as you were using all-apple stuff. Windows discovery worked reasonably well.. as long as everything else was running Windows too. CUPS's local discovery worked equally well.

They all fell flat on their faces when you needed to cross ecosystems and the printer didn't speak a standard PDL (like postscript or HP-PCL)

> I'm not sure I trust the current desktop decision makers to take the latter property into account, given the last decade+ of Freedesktop decisions.

The "current desktop decision makers" (including Freedesktop.org) have nearly nothing to do with the standards and decisions of the OpenPrinting/PWG and IPP.

Fedora contemplates the driverless printing future

Posted Jun 7, 2021 23:01 UTC (Mon) by jafd (subscriber, #129642) [Link] (1 responses)

Whew!

Now in another 30 years, we're going to tackle scanners.

Oh deities!

Somehow even scanners that are said to work, don't quite work, and need proprietary binaries that will only work with a particular libc.so.6. They are being made by the same companies that gladly jump onto the driverless printing bandwagon, and I happen to own a beautifully schizophrenic multifunction unit whose printer is "driverless" and just works, while the scanner part works not at all even on macOS (because its stupid app suite — scanners always come with stupid apps — are 32-bit-only).

Fedora contemplates the driverless printing future

Posted Jun 9, 2021 1:54 UTC (Wed) by akumria (guest, #7773) [Link]

That is already being handled: https://github.com/alexpevzner/sane-airscan

it works pretty well for printers that implement either of the two standards (eSCL or WSD).

while SUSE/openSUSE don't advertise their "IPP Everywhere" support, the command line should just work

Posted Jun 10, 2021 10:22 UTC (Thu) by susanne_eb (guest, #129263) [Link] (2 responses)

"IPP Everywhere" is just provided via a sufficiently current local cups package, which is also available for SUSE/openSUSE. They just don't advertise it in the documentation (which is a bummer).

https://build.opensuse.org/package/view_file/Printing/cup...

while SUSE/openSUSE don't advertise their "IPP Everywhere" support, the command line should just work

Posted Jun 12, 2021 20:12 UTC (Sat) by ddevault (subscriber, #99589) [Link]

Huh. I had never heard of IPP Everywhere. A few weeks ago I spent several hours trying to get a traditional printer driver to work before giving up. After reading this article, I tried IPP everywhere and was holding a test page in less than 5 minutes. Thanks for the tip.

while SUSE/openSUSE don't advertise their "IPP Everywhere" support, the command line should just work

Posted Jun 15, 2021 5:30 UTC (Tue) by drpatricko (subscriber, #152788) [Link]

Indeed, ipptool and driverless CUPS backend are packaged and available on openSUSE and SUSE. There's just not much to advertise yet.

I see at least one SUSE employee active in upstream CUPS discussions, I am sure we are not being "left behind".

Fedora contemplates the driverless printing future

Posted Jun 17, 2021 4:57 UTC (Thu) by scientes (guest, #83068) [Link]

Maybe we use old printers because the ink cartridges get smaller with every generation.

Fedora contemplates the driverless printing future

Posted Jun 18, 2021 13:43 UTC (Fri) by callegar (guest, #16148) [Link] (6 responses)

From a user perspective there are a couple of serious (though hopefully solvable) issues with the driverless printers as of today.

One of them is related to the "pollution" of the printers list.

For most printers supporting IPP the configuration of who the printer should be advertised to is either impossible or so indiscoverable to be practically impossible to most users. The result is that in large organizations where people can get printers in their offices when you try to print you often see endless lists of printers all with more or less the same name apart from some obscure hash and there is apparently no way to filter them out. Maybe this may also imply that in many cases people print by mistake to someone else printer with an obvious waste of paper and at times the uncontrolled spread of sensitive information.

The second issue is printer configuration.

In many cases, the number of configurable features that one gets when using an old style printer driver is vastly superior to what you get via the driverless printing. Or the other way round, the degree of configuration that you can apply when printing in the driverless way is often insufficient for anything but the casual output of a printed page.

Fedora contemplates the driverless printing future

Posted Jun 18, 2021 14:11 UTC (Fri) by pizza (subscriber, #46) [Link] (5 responses)

> The result is that in large organizations where people can get printers in their offices when you try to print you often see endless lists of printers all with more or less the same name apart from some obscure hash and there is apparently no way to filter them out.

This is effectively no different than before, and the solution is the same -- administrators have to pick a printer name that is unambiguous.

> In many cases, the number of configurable features that one gets when using an old style printer driver is vastly superior to what you get via the driverless printing. Or the other way round, the degree of configuration that you can apply when printing in the driverless way is often insufficient for anything but the casual output of a printed page.

There's no inherent reason why the options exposed via IPP have to be any more limited than the options exposed via a native driver, but ultimately gets presented to the user is up to the IPP print client. (Right now the least common denominator seems to be the subset of IPP that AirPrint and Mopria require for certification)

Fedora contemplates the driverless printing future

Posted Jun 19, 2021 0:21 UTC (Sat) by Wol (subscriber, #4433) [Link] (4 responses)

> > The result is that in large organizations where people can get printers in their offices when you try to print you often see endless lists of printers all with more or less the same name apart from some obscure hash and there is apparently no way to filter them out.

> This is effectively no different than before, and the solution is the same -- administrators have to pick a printer name that is unambiguous.

You're missing something ...

If a PC searches for all IPP printers it will have a large list of them. If it's configured by an administrator, it'll only have one or two.

We've got THREE printers. Yet the printer list on Windows has maybe TEN printers listed? How am I supposed to get rid of the printers I don't want to be visible? They are a real pain.

Or, in the business environment, how do you stop the CEO accidentally printing confidential documents on the post room printer (or the office boy printing his love letters on the CEO's printer :-)

Made worse by the modern Windows habit of changing the default printer to whatever you used last ... so as soon as you've lost one document, you promptly lose ALL your documents.

This is FUNDAMENTALLY different from before, when you could EASILY configure any PC to only know about one or two printers.

Cheers,
Wol

Fedora contemplates the driverless printing future

Posted Jun 19, 2021 0:58 UTC (Sat) by pizza (subscriber, #46) [Link] (2 responses)

> If a PC searches for all IPP printers it will have a large list of them. If it's configured by an administrator, it'll only have one or two.

BTW, I was referring to the "administrator" configuring the printer itself to have a non-ambiguous name instead of whatever the printer was shipped with. This is routine for any organization large enough to have more than a couple of printers.

> We've got THREE printers. Yet the printer list on Windows has maybe TEN printers listed? How am I supposed to get rid of the printers I don't want to be visible? They are a real pain.

I can't help you there, beyond stating the obvious point that for that to have happened, Windows had to have been explicitly set up that way.

> Or, in the business environment, how do you stop the CEO accidentally printing confidential documents on the post room printer (or the office boy printing his love letters on the CEO's printer :-)

Duh, the same way it's done currently -- have the administrator configure the CEO's system to only print to a specific subset of printers -- by setting up explicit printer queues and disabling auto-discovery. And/or having the C-suite computers/printers on their own private network segment, which is a good idea regardless.

> Made worse by the modern Windows habit of changing the default printer to whatever you used last ... so as soon as you've lost one document, you promptly lose ALL your documents.

That hasn't been my experience, but in the end, there's only so much one can do about systems that insist on doing the wrong thing.

> This is FUNDAMENTALLY different from before, when you could EASILY configure any PC to only know about one or two printers.

I'd disagree about the "easily" part, but literally nothing has changed on that front. One can still create local print queues pointing at whatever remote printer you want (Driverless IPP or IPP, JetDirect, Windows, CUPS, whatever) and completely disable auto-discovery. That functionality is not going away.

Fedora contemplates the driverless printing future

Posted Jun 19, 2021 1:59 UTC (Sat) by Wol (subscriber, #4433) [Link] (1 responses)

> > If a PC searches for all IPP printers it will have a large list of them. If it's configured by an administrator, it'll only have one or two.

> BTW, I was referring to the "administrator" configuring the printer itself to have a non-ambiguous name instead of whatever the printer was shipped with. This is routine for any organization large enough to have more than a couple of printers.

Yes I'm talking about a home setup, so maybe three printers is a lot, BUT. How do you set up a printer with a non-ambiguous name, other than - for every PC! - editing the queue name and swearing when Windows promptly forgets it next time it does a discovery ...

> > We've got THREE printers. Yet the printer list on Windows has maybe TEN printers listed? How am I supposed to get rid of the printers I don't want to be visible? They are a real pain.

> I can't help you there, beyond stating the obvious point that for that to have happened, Windows had to have been explicitly set up that way.

So how come I did NOT explicitly set anything up like that, yet Windows does it anyway?

My Windows settings are the DEFAULT. With the result that our main printer appears under about three different names - the one it gave itself, the one I tried to give it, and the one I explicitly edited on the PC. (At which point, the original name I edited promptly reappeared as a new printer...) Our secondary printer is just as bad. Plus all the special Windows printers half of which I'd like to delete ...

BY DEFAULT, Windows searches for AND DISPLAYS, every printer it can find. And on a halfway large network, that's likely to be A LOT.

Cheers,
Wol

Fedora contemplates the driverless printing future

Posted Jun 19, 2021 10:30 UTC (Sat) by Jonno (subscriber, #49613) [Link]

> How do you set up a printer with a non-ambiguous name, other than - for every PC! - editing the queue name and swearing when Windows promptly forgets it next time it does a discovery ...

You do the change *on the printer*, not in Windows. Some printers have a small LED screen and navigation buttons, others have a built-in web-server, others have both. Find the "Network Identification" section and change "Host Name" and "Bonjour Service Name" to whatever you want. ("Host Name" is passed to your DHCP server, which may be configured to set up a DNS record with that name in your local domain. "Bonjour Service Name" is the mDNS name the printer will advertise itself under.)

Fedora contemplates the driverless printing future

Posted Jun 19, 2021 1:58 UTC (Sat) by zlynx (guest, #2285) [Link]

The large lists of printers problem is caused by everyone being too helpful. The printers support multiple print and automatic discovery protocols. And the operating systems add support for more discovery protocols.

The end result can be one printer showing up anywhere from one to six times.

I remember the bad old days though, where it was sometimes a major effort to get a printer onto the network even one time. So this is a better problem in its own way.

Fedora contemplates the driverless printing future

Posted Jan 22, 2023 0:28 UTC (Sun) by SDRiches (guest, #163264) [Link] (1 responses)

Just installed Fedora 37 and am now trying to print to my 15 yr old Samsung ML-2240 with IPP, attached to a DNS-320 NAS via usb. NAS works fine - printer - no worky. Worked fine for years under Fedora 27 smb://192.168.2.16/lp (cifs). When I migrated to Fedora 37 I also changed to NFS from CIFS and changed the printer setup accordingly to IPP to get off the old netbeui stuff. IPP all new to me. Anyway so I went back to cifs for the nas and back to samba for the printer - printer still no worky! The only way I can print is from my home theatre pc running Fedora 27 - thats awkward (not intended for typing) but at least it works!
So maybe time for a new printer and then I read all this about IPP and print everywhere and all bets off! Are we going back in time?

Fedora contemplates the driverless printing future

Posted Jan 22, 2023 9:58 UTC (Sun) by Wol (subscriber, #4433) [Link]

Is your new samba an upgrade? I remember ages ago something about upgrading the samba protocol (for security of course) and a lot of old printers can't upgrade.

If you've got a new samba config, you might find it needs SMBv1 or somesuch for the printer, and that is almost certainly "disabled by default" for being insecure.

Cheers,
Wol


Copyright © 2021, Eklektix, Inc.
This article may be redistributed under the terms of the Creative Commons CC BY-SA 4.0 license
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds