How I fixed an infuriating printer problem

Windows 7 and my HP Laserjet 4100 weren’t getting along. And I was pretty livid about it. I paid $125 for my Windows 7 upgrade, and for that money, I got to mess around for 4 days trying to get better-than-1997 functionality out of what’s supposed to be the latest and greatest. I was about ready to trade it even up for a copy of Windows ME and Microsoft Bob. Because at least then I’d be able to print.

I finally fixed the problem, but finding the solution wasn’t easy. So I’ll present the symptoms and the ultimate solution here.

The problem was that jobs would go into the print queue, and if I was lucky, one would print. Sometimes it would print and then stay stuck in the queue. Sometimes it would go away. Any subsequent job would result in an error, with no printing. It would stay in the queue, and at most, the printer control panel would light up for a while. If I rebooted, the first job in the queue would print, but no others.

And rebooting in the morning was no guarantee that the system would print later in the day. It seemed like if you were going to print anything, you’d better reboot, then print. The sooner the better.

Upgrading print drivers didn’t help. Not that doing so is all that desirable. The stock driver for the HP 4100 is faster than HP’s current drivers, especially on systems with two or fewer CPU cores. And it uses less memory. (The general rule that you should always use the latest drivers for everything is just that: general. There are times where it’s not desirable, and business-class HP laser printers are probably the best example that I can think of.)

Supposedly this issue happens with other versions of Windows too, although I’d never seen it before, and the same combination of printer and computer worked fine with XP.

The answer is to disable bi-directional printing. You can do that from within Windows in the printer properties, sometimes. I opted to go into the system’s BIOS and switch the parallel port into standard mode, sometimes also called output only.That method works even if Windows doesn’t want to let you disable bi-directional printing for some reason. And it will work if I decide to install a Postscript driver later, without me having to remember to disable bi-directional printing again.

I normally don’t like disabling newer functionality, but this got the printer working. To me, a computer that can’t print is completely useless, so I’m glad to have it working again. And in the case of an HP 4100, there isn’t much of anything the printer needs to send back to the computer. The printer has its own LCD display where it can tell you that it’s out of paper, or toner, or has a paper jam.

So if you have a printer that refuses to print, especially an HP printer, and the most logical remedies don’t work, try disabling bi-directional printing. Or, if it’s an old-school parallel port printer connected locally, try changing your parallel port settings. It might be a quick fix to an infuriating problem.

6 thoughts on “How I fixed an infuriating printer problem

  • February 9, 2011 at 10:01 pm


    The wikipedia reports that the generic 4100 series was discontinued in 2003, so I can understand why it may not have been included in testing of recent hardware and operating systems. But was it really that special, so as to cause all this grief? I thought HP printers just worked. My LJ4 has several hundred thousand copies under its beige plastic belt since we bought it new in 1994 or so. Of course, it’s using a JetDirect card inside it, so it’s ethernet instead of a parallel port. But still . . .

    • February 9, 2011 at 11:04 pm

      You got me. The 4000 line hasn’t changed much since the late 1990s. The new model just gets a faster CPU and/or print engine and updated styling. I know a 4350 can use a 4000 driver, and I suspect the 4000 wouldn’t object to the 4350 driver.

      And they do mostly just work, which was why I was so excited to buy a used 4100 so cheaply.

      From what I was reading, it could be the cable. Maybe my cable was IEEE 1284 compliant enough for XP, but not enough for 7. The computer recycler just grabbed a cable out of a box when I bought the printer, so who knows what its pedigree is.

      But yeah, if any combination of hardware should just work, I’d think it would be a boring Intel motherboard connected to a boring beige HP PCL6 printer. But not this time. This was as bad as my first Linux installs, back when you had to edit the XFree86 config files by hand. Maybe worse, because Linux error messages gave you something to go on.

  • February 9, 2011 at 11:51 pm

    Similar problems with both Win 2000 and XP here. Sure wish I’d been smart enough to figure that out when we still had our HP 2500C+ going, especially after it got handed down to my wife – years of frustration. Haven’t ever missed a beat with the LaserJet5 however.

  • February 10, 2011 at 5:55 pm

    Whodathunkit? Fascinating.

  • February 10, 2011 at 11:01 pm

    This isn’t honestly a real test of the OS, I doubt most people are using this hardware. Parallel port?

    • February 11, 2011 at 12:10 am

      Could be more than you think. When people get good laser printers, they tend to hang onto them until they run out of supplies and can’t get any more. Which can take a very long time.

      And while I didn’t experience this personally, when I was researching the problem, I found people claiming to have the same problem with USB and even network printers. In which case you have to disable bidirectional printing in the OS, rather than the BIOS. I explained above why I opted for the BIOS method in my case.

      I really don’t care if it was the fault of the OS, the printer, or the computer. I just want it to work, and it did work under XP. And if I couldn’t get it working under Windows 7, I was more than ready to go a different direction, whether that was XP, Ubuntu, or going way back to something that’s actually good and worth having, like OS/2 or Amiga.

Comments are closed.

%d bloggers like this: