I bought a Brother MFC-L2750DW laser printer which supports connection via USB, Ethernet as well as Wifi and wanted to print documents from my vintage Windows 98 machine. This proved to be a challenge because the printer does not have a parallel port, the Windows 98 machine does not have a USB port and there are no Windows 98 drivers for the printers. Fortunately the printer speaks the Printer Control Language (PCL), designed by HP for the HP Laserjet series, which has been well supported by every version of Windows since 3.11. This post will show you how I performed the configuration for my printer – the same steps can be used for similar printer models.
First of all you should check the printer specs and make sure it supports PCL4 or PCL5 (not PCL 3 GUI or PCLm), as well as Line Printer Remote (LPR Service). Login to the printer web admin interface, open Network tab > Service and verify that services for binary, PCL, text and postscript has been enabled for TCP/IP port 9100:
You should also check the settings from the printer’s LCD and make sure that it is configured to accept PCL. The setting is usually set to “Auto” by default, implying that both PCL and Postscript are supported, and should be good enough.
Next download the D-Link LPR Client from here and follow the instructions from here to set up the printer for Windows 98. Essentially, under the active network adapter, you would have to add a network service for the LPR client, and then add a printer which points to the added LPR client. Specify the printer IP address and use 9100 for the port. If prompted to enable DOS printing, select LPT2 for the emulated printer port, leaving LPT1 for the real LPT port (unless your computer doesn’t have a parallel port, which is rare for a Windows 98 machine). When prompted to select the printer, choose HP Laserjet 6L PCL (or similar), which will cause Windows to talks to the networked printer using PCL, a protocol that is understood by the modern printer.
At the end of the process you should see LPR for TCP/IP printing added under the configuration tab for the active network adapter, pointing to the printer IP address and port:
The added printer would also have its port pointing to the same network address:
With this, printing from Windows works well, as can be seen from the Windows 98 Printer Test Page:
Printing from DOS works well too via the emulated LPT2 port. However, if your software is sending pure text (and not PCL control codes), it might take up to a minute after the software finishes printing before the printer actually prints. This is because the printer is actually waiting for the software to send the page break signal (ASCII code 12), which will never happen if the software is simply dumping raw ASCII text to the parallel port. Laser printers print page by page and the entire page has to be stored in memory before printing can begin, thus explaining the delay. A dot matrix or inkjet printer prints character by character (in text mode), and does not need to wait for page break to actually begin printing, although sending a page break character may cause the printer to eject the page immediately. To remove the delay, configure your DOS software to use the PCL printer driver.
Take note that advanced features such as duplex printing will not be available if the printer is added this way. However, you may still be able to do duplex printing by using the printer web page to add a profile that has duplex printing set as default.
You can download a copy of the D-link’s LPR client here. The ZIP file also contains a text document with detailed set-up instructions taken from D-Link website.