[IPP] What value do IPP Printers provide for "printer-name"?

[IPP] What value do IPP Printers provide for "printer-name"?

Michael Sweet msweet at msweet.org
Fri Jun 21 20:23:27 UTC 2024


Smith,

> On Jun 20, 2024, at 10:07 PM, Kennedy, Smith (Wireless & IPP Standards) <smith.kennedy at hp.com> wrote:
> 
> Greetings all, 
> 
> Sorry I was unable to be present for the discussion! (I'm on "vacation" helping my elderly father pack his apartment.) 
> 
> I think we have a bit of a "chicken and egg" issue here. It may be that many clients have backed away from using "printer-name" because of the variability of the values printers provide. We can either deprecate that attribute / discourage its use, or we can try to push it towards some consistency.

The consensus was actually to recommend default values and values that can be configured via Set-Printer-Attributes, console, and/or EWS.  In the near term we'll come up with recommendations for Printers that will go in IPP Everywhere v2.0, while the Client side will eventually have something useful to say in a future update of the IIG.

> These others are much more specifically prescriptive but not always pertinent:
> 
> - printer-make-and-model
> - printer-dns-sd-name
> - printer-device-id

"printer-device-id" isn't something that we are pushing hard for anymore since it is there for drivers.

Also, "printer-info", "printer-location", and "printer-geo-location" provide useful information as well.

> The scenarios a client might use these and "printer-name" include constructing the "default name" it might give a persistent "old-school" print queue (e.g., Linux, macOS, Windows). I personally have a habit of setting the DNS-SD Instance Name to something like "_Smitty ChickenLips_" and then I also set its .local domain name to a downsampled version of that: "smitty-chickenlips" so that I can identify it across client platforms regardless of how the queue gets set up.

That's the intended usage, BTW.  "printer-name" would contain "Smitty Chickenlips" while "printer-dns-sd-name" would contain whatever the conflict-resolved DNS-SD service instance name is (might be the same as "printer-name", might have a serial number tacked on the end, etc.)

> The queue might be set up using a discovery protocol (DNS-SD etc.), or via a URI / hostname / raw IPv4 address / raw IPv6 address. One thing I'm concerned about is that, if the queue / printer is set up using one of the latter non-DNS-SD methods, how would the user know that that is the device's name? For instance, if I set up the queue with "192.168.1.37", and the user read that off a config page or the printer's control panel, they have acquired the IPv4 address but may never have seen "_Smitty ChickenLips_" or "smitty-chickenlips" or "smitty-chickenlips.local" before. So how will they connect the name to the device? 

Probably with the label that somebody stuck to the front of the printer. :)  Seriously, that is something we can talk about WRT recommended IPP Everywhere printer behaviors - having the console show the printer name would be a useful UX.  We obviously can't require such behaviors but at least they'd be an option for everyone to use.

> (I'd like to find a pathway to allow us to begin discouraging the use of raw IPv4 addresses, because DHCP leases can cause IPv4 address rotation, causing "printer offline" issues / stale queues, but in many semi-managed SMBs their networks' DNS infrastructure and multicast propagation is just not reliable enough so they fall back to IPv4 addresses with fixed leases, I guess.

I used to have a customer that would call me once a month to have me walk him through updating the IP address associated with the print queue for his DesignJet.  I was unable to get him to use a fixed IP...

> So what I might suggest for IPP Implementor's Guide v2.1:
> 
> - For printers set up using DNS-SD, the default queue name ought to be "<DNS-SD Instance Name / printer-dns-sd-name>"

Ideally it should be the value of "printer-name", assuming it isn't one of the current "less optimal" names that doesn't mean anything to the user.

> - For printers set up by the user providing a hostname, the default queue name ought to be "<hostname>"

Ugh, let's not.  HPxxxxxxxxxxxx.local is not user-friendly.  Even "smitty-chickenlips.local" is not user friendly...

> - For printers set up by the user providing a raw IP address, the default queue name ought to be "<IP address>" (gross for IPv6, I know...but that's what the user provided...)

Same here.  And since most addresses are dynamically assigned, that IP address (v4 or v6) might change and *then* what do you do?

> - Regardless of how the printer / print queue is set up, it seems like a model name should be presented as well. How this gets presented to the user is a UX issue that is out of scope.

Out of scope for conformance, but I have 0 problems including a "best practices" appendix with basic client UX recommendations - information (printer-info/location/geo-location/make-and-model/serial-number/etc.), supply levels, web page, identify-printer button, print test page button, etc.

> - All printers ought to present their DNS-SD Instance Name and their hostname and/or their current IPv4 address on their control panel if they have one.

I'm used to printing a "network configuration page" :), but yes having a way to present that information in different places is important.

________________________
Michael Sweet



More information about the ipp mailing list