I still use an ancient PostScript SIMM equipped HP LaserJet 6MP. It is shared via a USB-to-IEE1284 dongle, from a Synology NAS which uses CUPS. I have a Macintosh SE/30 which now has a BlueSCSI v2 with wifi. Surely I could get the old Mac to print...
It took a crazy amount of reading, tinkering and web archive archaeology, but I have it working perfectly across various System versions - so I thought I would share my findings. 'Using a Shared OS X Printer' was a pivotal document, and pretty difficult to even find these days.
CUPS Confusion
The Synology NAS abstracts away most of the CUPS configuration and by default will share the printer using a Gutenprint driver, meaning that CUPS will rasterise the print job (very slowly). This isn't ideal if the printer has hardware level PostScript support. By doing some closer inspection of the CUPS config I could see that there were in fact two printers listed (lpstat -v, and then loptions -p for each device): the one defined in the NAS Control Panel ('usbprinter1' using Gutenprint driver), and another raw device (simply 'usbprinter' described as 'Local Raw Printer').
Sending the jobs to the raw LPR queue 'usbprinter', it turns out, will pass them directly to the printer unaltered. Lesson learned - I had been misconfiguring my own modern MacBooks to use 'usbprinter1', and not even getting the benefit of the LaserJet's PostScript SIMM which had been so hard to obtain.
System 7.5.3/7.5.5
Apparently there isn't much point in upgrading a Motorola 68k machine to 7.5.5 since most of the fixes were for PowerPC, or to add System Enablers for new Power Mac models - so I stayed at 7.5.3.
TCP/IP printing (LPR) was introduced with LaserWriter 8.5.1, which is also the latest version which can be installed on System 7.5. Install this first. To use LPR you need to create the printer using Desktop Printer Utility, not via the Chooser. However it doesn't seem to work. It claims the remote queue is unavailable when jobs are printed.
This can be fixed using elements of the LaserWriter 8.6 software (as reported on 68kmla here), but that version's Installer will not run on System 7.5. The required files (LaserWriter 8, PrintingLib, and PrintMonitor) can be extracted from the LW_8.6 Installer tomes using TomeViewer, but for convenience I have uploaded them to Macintosh Garden. The 'Before You Install' document for LaserWriter 8.6 shows that, unlike most of the software files, these three specific drivers have no OS version constraint nor CPU type restriction (many require at least 68040). Once you use these, you will notice that the upload of the job to the printer counts down the number of kilobytes, rather than counting up as before. And most importantly - it actually works! You can now directly print from all your applications, over wifi in my case.
I noticed that although it does work using MacTCP, it's very slow. Open Transport networking is much faster, and an upgrade to OT 1.3 is recommended by most Mac networking guides.
System 7.0.1-7.1
LPR printing depends on Desktop Printing, which was a System 7.5 feature, so printing directly from applications to a TCP/IP printer is not possible here. However, it's not too onerous. We can use Adobe's PSPrinter driver to print to a PostScript file, and then use LPR 1.2 to send it to the printer. I found the most convenient way to do this was to alias the printer's LPR settings file and to put that into the Apple Menu Items folder.
PSPrinter 8.3.1 is the latest version which will run on System 7.0.1. Even this is confusing because the Readme states System 7.1 but User Guide PDF states System 7. I can confirm it works on System 7.0.1. For System 7.1 you could use PSPrinter 8.5.1. Irritatingly, the Installer expects to run from a separate volume, and expects it to be named 'PSPrinter', so I made a real floppy disk for 8.3.1 and then imaged that (made available at here at Macintosh Garden). It runs fine from that mounted image. After installation pick PSPrinter in the Chooser, ignoring the AppleTalk errors. Set the type to Virtual Printer and select your target LPR printer's PPD. The performance is perfectly good with MacTCP.
System 6.0.7/6.0.8
The method is similar to above, but uses Adobe PSPrinter 8.2.1 which was the last version to support System 6. Download the disk image version from Macintosh Garden, not the QMS one. Use the MountImage CDEV or DiskDup Pro 1.0.3 to mount this, and then install.
Now pick PSPrinter in the Chooser ignoring the AppleTalk errors. This version does not offer the Virtual Printer feature described above, so the printer type will be generic. Now when you print you can select File instead of Printer as the destination, and print to a PostScript file before using LPR 1.2 to send it to the printer queue. Performance using MacTCP is perfectly fine. Printed fonts however, are absolutely terrible without installing the TrueType INIT, which doesn't seem to slow the machine down at all.
Essential Utilities
Closing Thoughts
I fully expected the print-to-file-then-send-to-printer method to be a clunky mess. It's not at all - it's just a couple more clicks per print, so System 7 and System 6 machines are barely disadvantaged when it comes to IP printing. Also, until now I didn't even realise that System 6 could use TrueType fonts. It's amazing what you can still accomplish with an OS from 1990.
It took a crazy amount of reading, tinkering and web archive archaeology, but I have it working perfectly across various System versions - so I thought I would share my findings. 'Using a Shared OS X Printer' was a pivotal document, and pretty difficult to even find these days.
CUPS Confusion
The Synology NAS abstracts away most of the CUPS configuration and by default will share the printer using a Gutenprint driver, meaning that CUPS will rasterise the print job (very slowly). This isn't ideal if the printer has hardware level PostScript support. By doing some closer inspection of the CUPS config I could see that there were in fact two printers listed (lpstat -v, and then loptions -p for each device): the one defined in the NAS Control Panel ('usbprinter1' using Gutenprint driver), and another raw device (simply 'usbprinter' described as 'Local Raw Printer').
Sending the jobs to the raw LPR queue 'usbprinter', it turns out, will pass them directly to the printer unaltered. Lesson learned - I had been misconfiguring my own modern MacBooks to use 'usbprinter1', and not even getting the benefit of the LaserJet's PostScript SIMM which had been so hard to obtain.
System 7.5.3/7.5.5
Apparently there isn't much point in upgrading a Motorola 68k machine to 7.5.5 since most of the fixes were for PowerPC, or to add System Enablers for new Power Mac models - so I stayed at 7.5.3.
TCP/IP printing (LPR) was introduced with LaserWriter 8.5.1, which is also the latest version which can be installed on System 7.5. Install this first. To use LPR you need to create the printer using Desktop Printer Utility, not via the Chooser. However it doesn't seem to work. It claims the remote queue is unavailable when jobs are printed.
This can be fixed using elements of the LaserWriter 8.6 software (as reported on 68kmla here), but that version's Installer will not run on System 7.5. The required files (LaserWriter 8, PrintingLib, and PrintMonitor) can be extracted from the LW_8.6 Installer tomes using TomeViewer, but for convenience I have uploaded them to Macintosh Garden. The 'Before You Install' document for LaserWriter 8.6 shows that, unlike most of the software files, these three specific drivers have no OS version constraint nor CPU type restriction (many require at least 68040). Once you use these, you will notice that the upload of the job to the printer counts down the number of kilobytes, rather than counting up as before. And most importantly - it actually works! You can now directly print from all your applications, over wifi in my case.
I noticed that although it does work using MacTCP, it's very slow. Open Transport networking is much faster, and an upgrade to OT 1.3 is recommended by most Mac networking guides.
System 7.0.1-7.1
LPR printing depends on Desktop Printing, which was a System 7.5 feature, so printing directly from applications to a TCP/IP printer is not possible here. However, it's not too onerous. We can use Adobe's PSPrinter driver to print to a PostScript file, and then use LPR 1.2 to send it to the printer. I found the most convenient way to do this was to alias the printer's LPR settings file and to put that into the Apple Menu Items folder.
PSPrinter 8.3.1 is the latest version which will run on System 7.0.1. Even this is confusing because the Readme states System 7.1 but User Guide PDF states System 7. I can confirm it works on System 7.0.1. For System 7.1 you could use PSPrinter 8.5.1. Irritatingly, the Installer expects to run from a separate volume, and expects it to be named 'PSPrinter', so I made a real floppy disk for 8.3.1 and then imaged that (made available at here at Macintosh Garden). It runs fine from that mounted image. After installation pick PSPrinter in the Chooser, ignoring the AppleTalk errors. Set the type to Virtual Printer and select your target LPR printer's PPD. The performance is perfectly good with MacTCP.
System 6.0.7/6.0.8
The method is similar to above, but uses Adobe PSPrinter 8.2.1 which was the last version to support System 6. Download the disk image version from Macintosh Garden, not the QMS one. Use the MountImage CDEV or DiskDup Pro 1.0.3 to mount this, and then install.
Now pick PSPrinter in the Chooser ignoring the AppleTalk errors. This version does not offer the Virtual Printer feature described above, so the printer type will be generic. Now when you print you can select File instead of Printer as the destination, and print to a PostScript file before using LPR 1.2 to send it to the printer queue. Performance using MacTCP is perfectly fine. Printed fonts however, are absolutely terrible without installing the TrueType INIT, which doesn't seem to slow the machine down at all.
Essential Utilities
- Printer Defaults 1.5.2 - for sticky Page Setup choices (paper size in particular)
- HP LaserJet PPDs
- Desktop Mgr 1.0.2 - allows switching between System 6 and System 7 without rebuilding the Desktop Folder. I wish I had known about this back in the day!
Closing Thoughts
I fully expected the print-to-file-then-send-to-printer method to be a clunky mess. It's not at all - it's just a couple more clicks per print, so System 7 and System 6 machines are barely disadvantaged when it comes to IP printing. Also, until now I didn't even realise that System 6 could use TrueType fonts. It's amazing what you can still accomplish with an OS from 1990.
Attachments
Last edited: