I posted this as 'editorial' earlier by mistake, this time it should come out as topical, with a bunch of more info added.
In the nice little file
/usr/src/linux/drivers/char/lp.c:
in the linux kernel, you find the following gem of a code fragment:
} else if (!(status & LP_PERRORP)) {
if (last != LP_PERRORP) {
last = LP_PERRORP;
printk(KERN_INFO "lp%d on fire\n", minor);
}
"Printer on fire" is one of the classical unix error messages - with a good history to add.
Jesse Pollard explained it on usenet once (I quote, in full):
"
As I understand it, this message is related to a parallel port (input only style) status code - ready, online, check.
The "check" signal might have had a slightly different name, but it was a "unknown error".
The fire message came from the old drum printers. These had the alphabet on a 3 inch diameter steel drum, one ring of the alphabet for each colum.
Over this would run a ribbon, about 24 inches in width, and 10 feet long. This assembly was all mounted on a door to give access to the paper, and
the print hammers.
The print hammers are all mounted on a fixed base of the printer body, with the fanfold paper running over it.
The drum rotated about 1200 to 2400 RPM. Faster for higher speed printers.
What happens is that the ribbon gets worn and tends to slide toward the side of the printer that is printed on the most (ribbon shrinks, and it
is the right side of the printer). When working normally, the ribbon moves at about 1/4 the speed of the drum. Whenever the ribbon reached the end,
it would hit a switch that would reverse the direction of the ribbon feed.
When the ribbon started shrinking on the right, the entire roll would start bunching up on the right, leaving the left side of the drum
rotating at high speed, directly against the paper.
This condition generates quite a bit of paper dust.
It also tends to cause the paper to jam. If the jam isn't detected soon enough, the accumulated paper dust, ink dust, real paper, AND the rapidly rotating drum would generate enough heat-by-friction contact to start a fire.
This condition is made worse by the printer cleaning solution, which was usually denatured alcohol, whose fumes tended to collect in the ribbon. (had that start a fire once - somebody turned the printer on before the drum had dried; something sparked and there was a brief flash of flame)
The paper jam usually set off the "check" signal and the host would stop sending data to the printer, and report some message to the operator. Sometimes, the offline switch would also be triggered, which (at least in the printer) would stop the drum from spinning. The offline switch was actually triggered by a different condition. I think it was when the paper was no longer in contact with an "out of paper" sensor. If the offline switch wasn't triggered, the drum would continue spinning, and continue adding more heat.
The old lpd on UNIX v 6/7 used the check signal to report a "printer on fire" if the offline signal was NOT present. I believe it was the combination of offline and check signal that was used to generate the "out of paper" message.
"
His original message can be found with the message ID: "<linux.kernel.200208092200.RAA34736@tomcat.admin.navo.hpc.mil>" via groups.google.com
--
arcade