1

Upgraded to Windows 7 and lost the ability to print to my old but still perfect Brother HL-1440 laser printer.

I cannot run in XP compatibility mode with my version of Windows (Home Professional).

Is there anything that can be done to get printing to work? I just want to print via USB but there is no Windows 7 driver.

2
  • I thought you don't get XP compatibility mode in Home Starter, Basic, and Premium, but you do get it with Pro and Ultimate.
    – Bratch
    May 15, 2010 at 5:31
  • 1
    FYI, Microsoft completely changed the way printer drivers work in Windows Vista, for security reasons: printer drivers ran with kernel privileges in XP and earlier. That's why older printer drivers don't work with newer versions of Windows.
    – Wyzard
    Mar 31, 2012 at 18:02

8 Answers 8

4

http://www.brother-usa.com/lp/windows7compatibility.aspx

http://www.brother-usa.com/lp/windows7compatibility.aspx#WinUpdate

The above links tipped me off. Brother says the Windows 7 driver is "Available thru Windows Update"

"During the initial installation of Windows 7, not all available printer drivers are listed. Clicking the Windows Update button will cause the operating system to query Microsoft's servers and download the remaining available drivers."

I installed the driver after running Windows Update in the "Add Printer" Control Panel. I don't think it worked at that point. But, I restarted and the driver installed again. That driver worked. Kinda strange initial install behavior, but I'm printing fine now.

1
  • I've upgraded 2 machines now that used old printers and Windows 7 found the driver through an update and installed it. Printed a test page and worked fine.
    – Bratch
    May 15, 2010 at 5:30
3

I solved the problem. There is a mismatch between the printer name in the Windows 7 inf file and the one on the XP computer on which the printer is installed.

It's not hard to fix and this may not seem intuitive at first, but here is the solution:

The printer named "Brother HL-1440 series" is what Windows 7 sees when it locates the printer on the network. You can see the name by going to the XP box and looking at the driver name on the Advanced tab for the Printer properties dialog:

Start/Printers and Faxes/select printer/right-click/properties/Advanced

That name is defined in the printer driver inf file on the target computer. I looked in that file and saw the following list:

[DriverName]
"Brother HL-1230 series"  = BROHL123.PPD,LPTENUM\BrotherHL-1230_serieE46E,BrotherHL-1230_serieE46E
"Brother HL-1440 series"  = BROHL144.PPD,LPTENUM\BrotherHL-1440_serie0BD1,BrotherHL-1440_serie0BD1
"Brother HL-1450 series"  = BROHL145.PPD,LPTENUM\BrotherHL-1450_serie9BDC,BrotherHL-1450_serie9BDC
"Brother HL-1470N series" = BROHL147.PPD,LPTENUM\BrotherHL-1470N_seri8521,BrotherHL-1470N_seri8521

Now I needed to see what Windows 7 was trying to use. I downloaded the Brother HL-1440 uninstall tool and ran it on the Windows 7 side. I selected HL-1440 in the list, clicked the Search Inf button, then selected the file named C:\Windows\INF\oem21.inf and clicked View. The name in that file is:

"Brother HL-1440"                                             = MS_BRH1440U.GPD,BROTHERHL-1440_SERIE0BD1,Brother_HL-1440_USB,Brother_HL-1440 ; Hardware ID

The XP machine defines the printer as "Brother HL-1440 series" while the Windows 7 name defines it as "Brother HL-1440". I edited the XP inf file in notepad and duplicated the line for "Brother HL-1440 series" and renamed the printer to "Brother HL-1440" so it looked like this:

[DriverName]
"Brother HL-1230 series"  = BROHL123.PPD,LPTENUM\BrotherHL-1230_serieE46E,BrotherHL-1230_serieE46E
"Brother HL-1440 series"  = BROHL144.PPD,LPTENUM\BrotherHL-1440_serie0BD1,BrotherHL-1440_serie0BD1
"Brother HL-1440" = BROHL144.PPD,LPTENUM\BrotherHL-1440_serie0BD1,BrotherHL-1440_serie0BD1
"Brother HL-1450 series"  = BROHL145.PPD,LPTENUM\BrotherHL-1450_serie9BDC,BrotherHL-1450_serie9BDC
"Brother HL-1470N series" = BROHL147.PPD,LPTENUM\BrotherHL-1470N_seri8521,BrotherHL-1470N_seri8521

I then updated the driver on the XP machine to use the new name. Now that the names match I can use the Add Printer wizard to add the driver and all is well.

You could also duplicate the line in the Windows 7 file and edit the copy so it matches the name on the XP box. It's up to you which side you edit, but I was hesitant to mess with Windows 7 system files.

What a pain - you would think some sort of hardware ID would be used rather than a string value to identify a hardware device. Anyway, after nearly six months of off-and-on battling I can print.

2

Go through the Control Panel Printers and Devices, use Windows update, it will bring up all the drivers available. This printer is there too.

0

The printer uses PCL 4 emulation so you may have some luck with say an older HP LaserJet driver but given the age of your printer, it is unlikley that it will work.

It might be time to look for something newer

0

You could try the Vista driver

0

Another thought would be to unplug the printer's USB cable, then plug it back in and power it on. See if Windows 7 will go through the motions of finding a driver. It's worth a shot.

0

I found this reference that says you can try the Brother HL-2045 driver.

0

I having the very same problem with a newly bought Epson. I have tried every thing from using Vista drivers going into compatibility mode trying the XP. Tried it USB and WiFi thru network it will not work. Some models will up date others just don't.

Epson claim no driver compatibility problems at all (lie)

Have had Microsoft trying to resolve the problem but so far no success, they are trying again tomorrow.

With all the attempts and research I have done on this, I am now an expert on what it is not. The answer about the printer ID being different between the the name on the driver and how Windows 7 sees it does make sense.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .