dplatt@coherent.com (Dave Platt) (11/01/90)
I've discovered that a bug in GDT Softworks' JetLink Express 1.2 printer-driver can cause serious problems when printing to a Hewlett-Packard DeskJet 500 printer. The problem doesn't occur when printing to a DeskJet, DeskJet Plus, or DeskWriter. Symptoms: when printing a document at 300 dpi, the DeskJet 500 prints a portion of a page, halts for 30 seconds or more with the "Busy" light on steadily, prints several lines of garbage, and resumes printing. A large fraction of a page's output will have been omitted or garbled. If the problem occurs on the last page of a print job, the printer will never finish printing the page, and it'll be necessary to press the "Reset" button to clear the printer. Analysis: under conditions which are somewhat difficult to identify, JetLink Express 1.2 will output an illegal sequence of PCL (Printer Control Language) to the printer. The DeskJet and DeskJet Plus detect and ignore the illegal sequence. The DeskJet 500 apparently tries to interpret it, becomes seriously confused, and ends up discarding a large fraction of the data intended for the current page. Workarounds: making even subtle changes to the data on the page may enable you to evade the problem... try changing the margins slightly, or printing in a different font. Or, try changing the amount of memory allocated to your application (if you're running under MultiFinder). Or, print at 75, 100, or 150 dpi rather than 300 dpi... I haven't seen this problem at any of those densities. I phoned GDT Softworks' tech-support line yesterday afternoon and discussed this with them. They had heard reports of the problem, but had been unable to reproduce it in-house. Apparently, even slight differences in a Mac's setup can alter the driver's rasterization behavior enough to make the problem appear and disappear. They had been "banging their heads" against this problem for several weeks (their words) and were quite happy to receive an analysis. I've faxed them a partial dump of the driver's output, showing the illegal code sequence, and have mailed them a diskette with the complete driver-output dump, a test-case file, and further information. With a bit of luck, their programmers should be able to identify and correct the faulty logic in the driver without too much waving-of-dead- chickens. I haven't yet received my copy of the new JetLink Express 2.0 driver package, so I don't know whether the problem will occur in this version... but I suspect it will. Many thanks and a big "Attaboy!" to Dave Neff of Hewlett-Packard, who found the illegal code sequence in the dump-file I mailed to him and explained why it's causing problems.
dplatt@coherent.com (Dave Platt) (11/28/90)
About a month ago, I posted a note about an bug I'd run across in GDT Softworks' JetLink Express printer-driver, which caused the driver to fail to work reliably with the new HP DeskJet 500 printer. I had sent GDT an analysis of the problem (thanks to Dave Neff of HP) and requested that they fix the bug. I just got a call back from one of their tech support people. Synopsis: - The bug was just as Dave Neff described it... the driver was generating some improper PCL escape sequences. - The programmer apparently knew that this would happen, and was depending on the printer's error-recovery logic to discard the incorrect sequence. - The DeskJet 500's error recovery logic doesn't catch this one case; the older DeskJet printers did detect and ignore the error. - The programmer has added an additional test to the DeskJet 500 version of the driver, to ensure that the improper PCL sequence won't be generated. This slows down the driver a bit... how much, they're not sure (it depends on the usage patterns). - The new DeskJet 500 driver will actually outperform the older DeskJet and DeskJet Plus drivers by quite a bit, even with the additional error test in place, because it takes advantage of the DeskJet 500's two-dimensional raster compression algorithm (essentially the same algorithm that the DeskWriter uses). - GDT is sending me a beta-test copy of the new DeskJet 500 driver to test out. - GDT will be releasing JetLink Express 2.1 in a few weeks; it will include the DeskJet 500 driver, as well as a driver for the LaserJet IIIP.