Existing practice for embeddable IPP servers in printers

John Scott <[email protected]> Mon, 09 Feb 2026 19:04:23 +0000
Newsgroups dev.linux.lists.printing-architecture
Message-ID <[email protected]>
--=-hleA4gILbYT77Tz2gdvP
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable

Hi,

It is my understanding that, for newly-developed devices, it is standard fo=
r a printer to have an embedded microprocessor which runs an IPP daemon of =
some sort, and then the printer is operated using IPP (over a network or US=
B). It is also my understanding that the majority of those printers use pro=
prietary software internally, and in the absence of evidence otherwise, thi=
s probably includes the HTTP servers and/or IPP daemons they run on as well=
. The primary focus of OpenPrinting, CUPS, and friends seems to be running =
on a server or workstation to interface *with* a printer as a peripheral. I=
nformation about crafting and maintaining the software *inside* of a printe=
r seems much more scarce.

What's the current state of the art for a printer's internal software stack=
? Most OpenPrinting software doesn't appear to have been made with small mi=
crocontrollers (which may not have virtual memory) or real-time operating s=
ystems in mind, and I'm not sure it caters to this need anyway.
Many embedded operating systems that would make good candidates (Linux Foun=
dation's Zephyr, Eclipse's ThreadX [1], or Apache's Mynewt or NuttX) are ca=
pable of running HTTP servers without fuss. It's conceivable that an IPP se=
rvice could work by hooking into it with CGI or something like it. Is that =
something that's usually done with custom code, or do lightweight libraries=
 exist that help with processing jobs, parsing options, and the like? Is th=
ere any toolkit or library that helps in making small device-side IPP daemo=
ns, or is it something that isn't done with free software very often and th=
ere isn't much precedent for it?

Thanks,
John

[1] ThreadX is supposedly used by HP on some printers: https://www.ghs.com/=
customers/hp.html

--=-hleA4gILbYT77Tz2gdvP
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----

iPsEABYKAKMWIQSiPzylvTnZ6xisfzWz9N0oYfTNugUCaYovsXIYaHR0cHM6Ly9q
b2huc2NvdHQubWUvLndlbGwta25vd24vbmkvc2hhLTI1Ni9zWUF3OTN6QUVrRkIy
RDREM1hOemRSeHEyMFBjNnByZGdtbEVWeXo0QUZRP2N0PWFwcGxpY2F0aW9uJTJG
cGdwLWtleXMSHGpzY290dEBwb3N0ZW8ubmV0AAoJELP03Shh9M26zXcBAIOgYtgI
uxxzzYuxOa3hdGSgZ/pwDvkQZAYRsJQEuR1KAQC+wkwVvlw9TntHmowXO6X3nWMz
dU1boc5RXBHX7xVKAQ==
=ce3G
-----END PGP SIGNATURE-----

--=-hleA4gILbYT77Tz2gdvP--