The printer sat three feet away from his desk—a sturdy, gray HP LaserJet Pro 400 M401dn. It was the workhorse of the small journalism office: duplex printing, networking, 1,200 pages of toner at a time. But to Marcus’s Linux laptop—running Ubuntu 22.04—it might as well have been a brick.
Marcus exhaled. The setup wizard asked for the PPD (PostScript Printer Description). He let it auto-download from the HP Open Source repository. Then came the question: “Use duplex unit?” Yes. “Input trays?” Tray 2, 250 sheets. “Resolution?” 1200 DPI.
The printer hummed. Paper fed. And then—clean, sharp, perfect text appeared:
If you ever find yourself staring at an HP LaserJet Pro 400 M401dn on Linux, remember: don’t fight it. Just sudo apt install hplip and let the open-source magic happen. The printer has been waiting for you all along.
He opened the terminal. His fingers moved quickly:
hp-setup The tool scanned the network. For a moment, nothing. Then—a green highlight.
Frustrated, he opened a browser and typed the printer’s assigned IP address: 192.168.1.101 . The web interface loaded instantly. So the printer is alive, he thought. Linux just doesn’t speak its language.
hp-levels -p /dev/usb/lp0 And it worked. Every single time.
Two years later, when the office finally retired that printer for a newer model, Marcus asked if he could take it home. He installed Debian on an old ThinkPad, plugged in the LaserJet via USB, and ran hp-setup one last time.
But the real test came the next morning. The office manager, Denise, walked in with a stack of freelance contracts. “Can you print these from your laptop? The Windows machine is updating again.”