Several kinds of networked print servers are available, the most notable being the LPR style print servers and the SMB-based print servers. Some printers come server-enabled while others can be connected to a third party print server (e.g. Lantronix, NetPrint, Linksys or Netgear routers). Printers may also be locally attached to a server machine and shared in a similar manner, via Samba or LPR.
Regardless of how the print server is defined, some setup needs to be done on any client system that will use the networked printer for printing. These notes address setting up the printer clients on various operating systems, after the print server itself has been set up (i.e. after you have set up the print server's IP address, ports and queues, according to the manufacturer's recommendations).
Depending on the client machine's OS, and the type of print server that is to be accessed, you should select and follow the setup steps outlined below that match your configuration.
Note: If the next choice says "Create a new port", you're in luck. Your version of Win 2K has been upgraded with a service pack to use the Winduhs Video Game (a.k.a. XP) printer dialog. Although Winduhs Video Game is supposed to be a more advanced OS, it is actually farther behind than Win 2K. The new setup procedure is more like Win NT than Win 2K. So, while Win 2K used to be able to figure out all the port information from the queue name, "it don't no more." Ain't service packs something special? BTW, we were being sarcastic about "in luck".
If the next choice says "Add Port", see the next step, below.
Port type: | Standard TCP/IP | |
Printer name: | Kinkos | Printer name or IP address |
Port name: | Port_1 - Plotter queue | Whatever you defined |
Port_2 - Laser queue | in the server setup | |
Port_3 - Photo queue |
Device Type: | Custom |
Click "Settings" for the device type.
Protocol: | LPR |
Queue Name: | From list above, matching port chosen |
Go to selecting printer type, printer drivers, etc., below.
Pick "Add Port" and fill in the dialog box:
Port type: | LPR | |
Server name: | Kinkos | Printer name or IP address |
Queue Name: | Plotter | whatever you defined |
Laser | in the server setup | |
Photo |
Port type: | Standard TCP/IP | |
Printer name: | Kinkos | Printer name or IP address |
Port name: | Port_1 - Plotter queue | Whatever you defined |
Port_2 - Laser queue | in the server setup | |
Port_3 - Photo queue |
Device Type: | Custom |
Click "Settings" for the device type.
Protocol: | LPR |
Queue Name: | From list above, matching port chosen |
Note: apparently, although Winduhs Video Game is supposed to be a more advanced OS, it is actually farther behind than Win 2K. The setup procedure is more like Win NT than Win 2K. Win 2K seems to be able to figure out all the port information from the queue name but Win VG does not.
Pretty much like Winduhs VG except the cartoon graphics are from the X-men instead of Pokemon.
Port type: | Standard TCP/IP |
Port type: | Standard TCP/IP | |
Printer name: | Kinkos | Printer name or IP address |
Port name: | Port_1 - Plotter queue | Whatever you defined |
Port_2 - Laser queue | in the server setup | |
Port_3 - Photo queue |
Device Type: | Custom |
Click "Settings" for the device type.
Protocol: | LPR |
Queue Name: | From list above, matching port chosen |
Hostname or IP address: | Kinkos | Printer name or IP address |
Port name: | Plotter | whatever you defined |
Laser | in the server setup | |
Photo |
Port Name: | Plotter | whatever you defined |
Laser | in the server setup | |
Photo | ||
Printer Name or IP address: | Kinkos | Printers name or IP address |
Protocol: | LPR | |
Queue Name: | From list above, matching port chosen |
Pretty much like Winduhs VG except the graphics are not as cartoonish and you may have to figure a few things out. Left as an exercise to the reader.
http://localhost:631
Printer Name: DPGenicom
Description: Data Processing Genicom line printer
Location: Computer Room
If you wish to set up a line printer that uses the Raw protocol to print ASCII text, without modification (e.g. Genicom, DataProducts), proceed as follows:
Type: AppSocket/JetDirect (from dropdown list)
URI: socket://10.100.0.20:10001/PORT1 | (this example is for a NetPrint 500/100 which uses port 10001 [by default] and has a queue name of PORT1 [by default]) |
Note that you determine the IP number, port number and queue name from how you set up the print server but you should always use "socket://".
Make: Raw
Model: Raw queue
If you wish to set up a line printer that uses the LPD protocol to print Postscript text (as well as most other types of documents, via CUPS automatic detection and conversion to Postscript), proceed as follows:
Type: LPD/LPR server (from dropdown list)
URI: lpd://kinkos/Laser | (this example is for a Lantronix EPS-2 which has a queue called "Laser" on Port_2) |
Note that you determine the IP number and queue name from how you set up the print server but you should always use "lpd://".
Make: Postscript
Model: Generic postscript printer
To utilize a printer that is set up on a print server that shares its printers via SMB (i.e. Winduhs network share), first install the printer on the machine that will control it and make it a shared printer. If the printer is one of those really clever printers that knows how to do SMB all on its own, you will probably have to set it up via the Web UI that it undoubtedly has built in. In either case, you should be able to see the printer from a regular, networked Windoze computer by launching Windows Explorer or My Network Places (from the desktop) and navigating through the network tree until you happen upon it. Until you can do this, proceed no further but return to your printer's setup and get the share working.
Make a note of the full name of the printer (e.g. \\MrSpooler\MrPrinter). It is a good bet that you will need this UNC pathname (below) because, in a total break with stupid tradition, there is often no way to browse for the printer when it comes time to enter its name. You really should write the name down.
OK, time to follow the steps below for the OS in question.
To add a networked printer from Windows 2000, do the following:
The browser will come up and let you surf over to the printer to be installed in the network tree. Click on the printer, to select it, and then click "Next" to proceed with the install.
On the other hand, if Samba is not supplying the printer drivers (e.g. you have a standard postscript printer and CUPS is the printing system being used on your print server or you have one of those clever, networked printers), you may simply install the printer's regular drivers on your local machine and carry on. When you print, the printer's driver will produce the proper output (e.g. postscript, PCL) which the printer (or CUPS) should know how to deal with just fine.
Your printer is installed. For a Samba share, if you temporarily added the user to the "printer admin" option, you can remove them now. Also note that for Samba shares, if you click on "Properties" for some printers (e.g. to set the comments), you will be told that the driver for the printer is not installed, blah, blah, blah. Its a lie. Always click "No", unless you want to go down the Windoze Rabbit Hole to Driverland. You should probably eat the mushrooms first.
On later versions of XP (e.g. Service Pack 3), you may have to apply a couple of changes to the Registry before your system will let you log in to the CUPS server and thereby gain access to the printers. If you try to open a share point on the CUPS server and you continually get the userid/password prompt, despite the fact that you are entering the correct userid and password (remember that it is the Samba userid/password which is not necessarily the login userid password), you may wish to try this fix.
Open the Registry Editor by typing "regedt32" at a command prompt or into the Run box. When the editor launches, add these two keys:
HKLM\System\CCS\Services\LanmanWorkstation\Parameters
DWORD DomainCompatibilityMode = 1
DWORD DNSNameResolutionRequired = 0
After you save these two parameters, you should be able to login and set up the printers. Follow the steps below to add a networked printer from Windows XP:
The browser will come up and let you surf over to the printer to be installed in the network tree. Click on the printer, to select it, and then click "Next" to proceed with the install.
On the other hand, if Samba is not supplying the printer drivers (e.g. you have a standard postscript printer and CUPS is the printing system being used on your print server or you have one of those clever, networked printers), you may simply install the printer's regular drivers on your local machine and carry on. When you print, the printer's driver will produce the proper output (e.g. postscript, PCL) which the printer (or CUPS) should know how to deal with just fine.
Your printer is installed. For a Samba share, if you temporarily added the user to the "printer admin" option, you can remove them now. Also note that for Samba shares, if you click on "Properties" for some printers (e.g. to set the comments), you will be told that the driver for the printer is not installed, blah, blah, blah. Its a lie. Always click "No", unless you want to go down the Windoze Rabbit Hole to Driverland. You should probably eat the mushrooms first.
Maybe the X-men shot some of the code but there appears to be a bug in Windoze 2003 whereby the EnumPrinters API does not return locally connected, network shared printers unless they are defined in this manner. So, if you have problems with installed printers not showing up in your favorite app, this could well be the problem.
To access a networked printer so that it will be visible to EnumPrinters, do this:
Port type: Standard TCP/IP
To add a networked printer from Windoze Vister, do the following:
If the browser comes up and lets you surf over to the printer to be installed, in the network tree, click on it to select it and proceed with the install.
\\192.168.11.1\Laser
Or, if you are feeling lucky, you can once again try selecting "Browse for a printer" and clicking "Next" (apparently, this browse for printers is different from the other browse for printers).
The browser will come up and let you surf over to the printer to be installed in the network tree. Click on the printer, to select it, and then click "Next" to proceed with the install.
Your printer is installed. You can click on Properties for this printer (e.g. to set the comments), but you probably won't need to. Since Vister knows about CUPS, it clones all of the information set in the CUPS printer database, so things like the Location, Comment and Model will be filled in for you.
Before you try to gain access to the printers on your CUPS server, you need to apply a couple of changes to the Registry on your Windows system so that it will let you log in to the server. Without the patches, if you try to open a share point on the CUPS server, you will continually get the userid/password prompt, despite the fact that you are entering the correct userid and password (remember that it is the Samba userid/password which is not necessarily the login userid password).
Open the Registry Editor by typing "regedt32" at a command prompt or into the Run box. When the editor launches, add these two keys:
HKLM\System\CCS\Services\LanmanWorkstation\Parameters
DWORD DomainCompatibilityMode = 1
DWORD DNSNameResolutionRequired = 0
After you save these two parameters, you should be able to login and set up the printers. Follow the steps below to add a networked printer from Windows 7:
The browser will come up and let you surf over to the printer to be installed in the network tree. Click on the printer, to select it, and then click "Next" to proceed with the install.
On the other hand, if Samba is not supplying the printer drivers (e.g. you have a standard postscript printer and CUPS is the printing system being used on your print server or you have one of those clever, networked printers), you may simply install the printer's regular drivers on your local machine and carry on. When you print, the printer's driver will produce the proper output (e.g. postscript, PCL) which the printer (or CUPS) should know how to deal with just fine.
If this works, then your printer is installed. For a Samba share, if you temporarily added the user to the "printer admin" option, you can remove them now.
If, on the other hand, this procedure fails, especially if you get the idiotic error 214 return code, along with a Winduhs message that says something lame about "Windows cannot connect to the printer", your problem may be caused by the NT Lan Manager authentication level and you can try fixing it like this:
Or, you might want to try the following approach:
Type: Local Port
Alternately, if you have a networked print server, installing the printer's regular drivers, regardless of whether it is postscript or not should work fine too.
The only major problem will be if your printer isn't a postscript printer and you are trying to print to a CUPS printer on your print server. Then, you need to find a set of postscript drivers that will work on Windoze 7. Good luck with that plan. Since Windoze 7 now only accepts 64-bit printer drivers, the generic CUPS drivers no longer work. And, the Adobe printer drivers seem to be missing. You'll probably need to search the net to find one, although we have used the Kyocera FS-1030D driver with success.
This second approach has usually worked for us but, with such flakeware, "One never knows, do one?"
Printers on any Unix/Linux system that are managed by one of the typical spoolers (e.g. CUPS, BSD printing) can be shared to the Windows nework via Samba. We have written additional notes on this special case of SMB printer sharing, that can be found in the CUPS Under Samba section of the CUPS Networked Printer Setup notes. These note describe specifically how to set up a CUPS printer for sharing by Windoze.