We run a mixed bag of computers in our house. There's a few desktop machines, and several notebooks; and they run operating systems that include different flavors of Apple's OS X, Microsoft Windows and our favorite Linux variant, Ubuntu. They all operate under a wireless network served-up nicely by an Apple Airport Extreme. The network also features an Airport Express that is dedicated to extending the wireless network via the WDS ("Wireless Distribution System") capabilities of the Apple devices, and another Airport Express that is used to provide for the remote location of a printer. Overall, the set-up has served its purposes nicely.
The remote printer is an older Hewlett Packard all-in-one device; an OfficeJet 7410 that is located in my office and near the children's rooms. It's a convenient location for a printer and the old HP inkjet has been a real workhorse having printed several thousand pages of reports and homework over the course of a few years.
The OfficeJet 7410 is connected to the Airport Express through a USB cable. The computers throughout the house are configured to access the printer through a Standard TCP/IP Port, using the IP address of the Airport Express and Port 9100. This is easy to configure on most any operating system and works best if you establish a set IP address for the Airport Express so that it does not change every time you power cycle the routers.
The Airport Express provides a secure connection to the printer, and printing speeds are reasonable for a wireless network. It's been great for the children who may choose to print from their notebooks from various locations throughout the house. This configuration has been used successfully for a few years with nary a hitch... that is until I upgraded the children's notebooks to Windows 7 64-bit Home Premium.
For some reason, once I upgraded the AMD 64-bit processor powered Dell Studio notebooks from Windows Vista to Windows 7 Home Premium, we encountered a printing problem with the OfficeJet 7410. The printing job would start in a timely manner and zip through most all of the document, but then it would hang for several minutes on the very last line or two of the document. Left to its own accord, the document would eventually finish and spit-out of the printer. However, the three to five minute wait for that last line to print would often seem like hours.
The interesting thing to me was that this problem was only with the 64-bit version of Windows 7 Home Premium and the HP OfficeJet 7410. Installations of Windows 7 32-bit Home Premium, Windows 7 64-bit Ultimate, and Windows XP on other computers in the house were able to print to the OfficeJet 7410 without a problem. The upgraded notebooks were able to successfully print to a network connected HP OfficeJet Pro L7780. And as you might expect, there was no printing issue with the Mac OS X or Ubuntu installations. What was the problem with the 64-bit version of Windows Home Premium and the network connected OfficeJet 7410?
Searching through the HP website for a solution was useless, and I could not find anyone else on the Internet who had this same problem. I tried a number of fixes; uninstalled / reinstalled the printer, installed new drivers, and changed IP addresses and ports. Nothing seemed to make a difference.
After months of frustration and on a whim, I unchecked the "Enable Bidirectional Support" box under the Ports tab of Printer Properties. Presto! The print jobs now zip through to completion with no delay at the end, and there is no perceivable printing speed difference with the bidirectional support disabled.
I cannot explain why this solution works, I can only attest that it does. If you are experiencing slow or delayed printing with an HP printer network connected through an Apple Airport Express, this solution may work for you as well.