22
Aug
07

Linux: printing still broken

Before the Windows fanboys start crowing and the Linux crowd get all defensive, let me preface this post with the fact that I’ve found printing under Linux to be, in most cases, far easier than it ever was on Windows. This is mainly because the Windows driver developers absolutely refuse to agree on a common method of doing anything at all, and the drivers for your shiny new printer are as likely to work as not. The cool features on one printer model simply won’t be available on another printer, and it’s all because the drivers control everything. Linux, OTOH, generally funnels everything through CUPS, which means there’s a single agreed-upon way of doing things. Features like N-up printing and the like will probably be there for any printer, and it’s only the hardware abilities (resolution, paper trays) that will differ.

That said, I was reading this post and it forced me to recall my recent experience helping a friend install Kubuntu. While Pete Savage may have stars in his eyes over how neat some enhancements to printing would be, I think more work needs to be done at a very basic level in simply getting printing to work at all.

My friend, who works for IBM but still isn’t one of the super-geeks we all think of as typical at a tech company, was interested in Linux. He’s more of a normal person who really likes tech geekery and isn’t afraid to play around with the latest and greatest. I helped him install Kubuntu on his old ThinkPad. Overall, he seemed very impressed, even commenting that I may even convert him to being a full-time Linux user. I think his favorable impression of Kubuntu was largely influenced by the fact that his new ThinkPad came with Windows Vista installed, and he seems to have had nothing but woe from it, from problems with his iPod to Vista’s refusal to install some of his favorite software even with the latest Vista-ready software patches.

The favorable impression stopped, however, when it came to printing. He kept asking why printing wouldn’t work, but I kept beating him by asking the same question first. Why wouldn’t printing work? For one of his printers it was simple: a Lexmark all-in-one inkjet copier/printer/scanner that he got for free. It’s a slow machine anyway, and he said he didn’t really care if it was connected or not. The other printer, an IBM Network Printer 17, should have worked like a dream, since about the only printer language it doesn’t support is PostScript (it was an option that he didn’t have installed). It’s big, it’s fast, and it’s complete overkill for any home environment; in other words, it’s a perfect printer for any level of geek.

Instead of the happy Ubuntu CUPS test page, all I could get was endless pages of gibberish. The printer is capable of PCL5e, but that produced gibberish. Ditto PCL5, PCL4, and PCL3. PCL6, just as an experiment, produced absolutely nothing; the printer ignored it completely. When it came to attempting printing using IBM Network Printer language, still gibberish. Epson: gibberish. In fact, the only thing we could positively figure out was that the printer was, in fact, receiving something from the PC.

The problems were after a rather positive experience in searching for the printer on his wireless network. Kubuntu insisted on constantly resetting the network address to 127.0.0.[1-254], but simply changing to 192.168.0 was the only thing required for Kubuntu to find both of his printers.

My own printer, a Samsung laser, has no fewer than three different methods to work on Linux: PCL (and I get something no matter which variant I choose), Samsung’s own proprietary Linux driver package, and the quite usable Splix. Each of these methods has its own problems, including lack of support for the printer’s various functions with the basic PCL, to the Samsung driver’s refusal to support 1200dpi printing, to Splix’s problems with creating endless barcode-like characters all around the edges of envelopes (although it’s still probably the best of the three). If you’ve ever tried to install any model of HP inkjet or laser in Linux you know what a painless procedure that is. I recently installed a Brother laser for another friend, and even though the proprietary Brother driver wouldn’t work at all on Kubuntu, the basic PCL driver would still support everything that printer is capable of doing. In short, printers will either work or not in Linux, but it isn’t really as cut-and-dried as a “vendor support” issue.

I haven’t given up on making that IBM beast of a laser printer work with Kubuntu, but it was disheartening to watch it fail over and over, while the rest of the system was so darn impressive. Amarok recognized his iPod and was happy to start syncing his music collection, although over the old ThinkPad’s USB 1 it was a process destined to take hours (so we cancelled). Even better, his favorite Internet radio station streamed instantly from Amarok and sounded great; he even found some new stations he liked in Amarok’s built-in list. Within an hour or two of playing with Kubuntu he had already switched his desktop wallpapers so that he had four individualized desktops, synced his personal Firefox bookmarks (he is a longtime Firefox user), set up his personal e-mail account in Kontact, and set up Kopete with all his various messaging accounts. He then spent the next several hours playing with the system, and generally putting Kubuntu to good use. My next visit will probably involve getting his Palm synchronized — at least before I tackle printing again.



5 Responses to “Linux: printing still broken”


  1. August 23, 2007 at 1:10 am

    Well, I never said it was the be all and end all of easy printing ;) Just something that sprung to mind. Are my eyes really that starry ;)

  2. August 23, 2007 at 6:51 am

    I’ve only looked at your eyes on your hackergotchi, and they don’t appear all that starry, but it’s impossible to know for sure. :-D Your post just got me thinking about the fact that there’s a lot to fix in the state of Linux printing before implementing the “nice to have”s. My friend’s do-anything printer which couldn’t be made to work at all was a wake-up call.

  3. March 3, 2008 at 3:48 am

    Hey, I found this page when I was trying to set up my network 17 printer, and I thought I would tell you what I found. When you set up the printer for the network, on ubuntu or kubuntu use the LPD/LPR option, and when it asks the host and stuff, type the ip:port mine was set to 515. When the next thing it needs to know is the name or something like that so use PASS. So you should have something like lpd://10.2.181.60:515/PASS as the device URI. for the driver I used a generic PPD for PCL 5e. I am going to keep searching for the IBM PPD files so I can use all the options, but at least got me printing. I hope this helps you. (Oh to find your port number, go to the printer’s ip address in a web browser, and click configure printer on the side, network services, then LPD. If your friend that works at IBM happens to know of a way to reset the password on the NIC for these printers, please let me know. I bought this surplus and its got a password so I can’t change anything.)
    –Josh

  4. March 21, 2008 at 8:39 am

    Thanks for the info, Josh! I’ll be passing this along. Unfortunately, the printer in question is using an external wireless NIC, so I’m not certain any of this is valid, but for anybody using the internal NIC this may be helpful.

    As for changing the password, I can’t understand why some companies refuse to put a master reset button on the print server just in case somebody loses a password or gets hit by a bus. Security doesn’t seem to be a valid reason, since if I can get physical access to the machine, I can probably cause a massive DOS just by unplugging the machine and carrying it elsewhere.

  5. 5 Jay
    September 4, 2008 at 1:30 pm

    I found that I could configure the printer as a HP JetDirect attached by changing the port from 9100 to 2501.

    HTH,

    Jay


Leave a Reply