How to Make a Linux Print Server for a Netware 5.x and Netware 6 Network
By Steven R. Currie A+, CNA
revised December 2002

Home Forums

Civil War Reenacting


   I work for a good size school district in Upstate New York as a computer technician and network administrator.  Our network is based on Netware 5.1 and consists of six buildings spread through the town in which I live.  During the summer of 2001 it became apparent that one of our classrooms required a better printer setup.  We had a huge amount of untapped capability in our Netware 5.1 servers but no easy way of delivering printing capability to our users since we had no print server boxes on hand .  This room like many in our district had multiple dot matrix printers connected to PCs via auto-switches.  This setup was deemed unsatisfactory for the keyboarding class occupying this room for a number of reasons.  At this time we were upgrading the 486 class  machines in this room with Pentium IIs taken from our business classroom.  We also had on hand a few older Hewlett Packard Laserjets.  I received permission to set up a new printer arrangement but I was stumped as to how I could do an effective printer station without print server boxes or a server.  I didn't have to think long, however.
   I have been a Linux user since 1996.  I run RedHat and Slackware Linux and I have also used Caldera's OpenLinux  distribution.  One thing that I have learned as a NetAdmin is that Linux is a Network Administrator's Swiss Army Knife!  This case was no different.  Linux could allow me to run on cheap hardware and allow all of the normal control which Novell Distributed Print Services offers to its administrators.  I had plenty of old 486 class machines and a few running with the old IDT pentium class processor that would work fine as a print server.  I also had on hand at home an ISA 3 port Parallel port card.  Linux was about to save the taxpayers another $500.00.
   I gathered up my hardware which consisted of an out-of-service IDT processor based PC into which I managed to put 64MB of RAM.  I happily dicovered that my ISA parallel port card actually had Linux setup instructions!  I configured that printer card as close to "normal" hardware settings as I could.  The setting that I used are listed in Figure 1 below.  I assembled my new print server and proceeded to disable all devices that I did not need for the job.  I scrounged a Kingston network adapter and my server was complete.
   Next came the OS.  I chose RedHat mainly because I like Printtool.  It is easy to rapidly configure 3 printers and test them with the Printool program.  I used the server setup and then upgraded that with Gnome.  I put a GUI on the server because I needed non-linux using people to be able to configure the printers if needed.  Gnome is so windows-like that I thought it a good choice.  I new I could show others how to remove and set up printers with no more fuss than on a Windows machine.
   I set up two HP Laserjet IIP's and one 4L.  With Printtool the printers are set up as "Local" printers.  One of the IIPs seemed to have a communication problem not related to Linux so I removed it.  It was a bummer because I was then down to two printers.  I used Printtools' ASCII test pages and they came out perfect the first time.
   Now I had to get my new print server talking to Netware.  Novell Netware has an incredible printing system called Novell Distributed Printing Services (NDPS).  NDPS allows you to centrally administrate all of your printers through the Netware Administrator program.  Printer drivers are never normally installed on the workstations.  Instead the Netware 5 server uses push technology to push the printer drivers to the machine at log-in.  This allows you to install any number and type of printer on your network without leaving your chair.  The interface between the print server and the Netware server is called a Gateway.  What I needed was a simply a Gateway that knew how to talk to my Line Printer Daemon (LPD) on the Linux box.  As Unix/Linux users will know LPD is the normal way of processing print jobs in a Unix environment.  Many products acting as print servers use LPD as the basis for remote printing.
   I was in luck because amazingly enough Novell's generic gateway actually supports remote printer to an LPD based printing service!  I creted a Printer Agent for each printer, using the Novell Gateway with LPD printing selected.  For each agent I set the IP address of the Linux server in the LPD setup window and I had to specify the Que name as tha printer name.
  Agents simply define the drivers and setting for the particular printer.  I created two agents.  One for the 4L and one for the IIP.
   Next I went to the Classroom's container object in Netware Administrator and I assigned the printer agents to the students and the teacher in the classroom.  I told Netware to refresh the drivers and when I logged the 25 PCs into Netware two printers appeared on every workstation.  Yes. it really was that easy.
    The advantage was that none of the PCs needed to have printer drivers placed on them.  NDPS uses server push technology to send the correct printer driver to the authorized workstation at login.  Since the network that we administrate has over 1000 PCs on it, it is obviously a serious administrative advantage to not have to sit in front of each computer and install a printer driver.  I can literally sit at my desk and run the entire network setting printer access for authorized users.
    Recently Lori (Webmaster of this site) and I tested the solution at a different location using Netwrae 6 and Red Hat 8 as the print server.  The set up was exactly the same and worked great!

    By request we have the following troubleshooting tips:
   When setting up the Printer Agent for LPD an important attribute is the "Printer Name".  This is actually the Que name used by your LPD on your Linux Box.  Usually Netware will scream that the connection was refused because the printer name was incorrect.  This simply means that you did not use the correct Que name.  On our Netware 6/Red Hat 8 set up the que name in linux was "hp_q".  If you look at Printtool it lists all of your que names in the left hand column.