In the past we would set up a printer using windows native printer sharing and print to it from CUPS as a smb type share. This caused several problems. Different windows versions have different types of encryption. Each one also has its own settings whether to require authentication or not.

Starting the non-DOS based windows (NT4, 2000 and up) windows now include unix printing services for windows. The only DOS based windows that are not supported are 95, 98 and ME.

First make sure OpenVPN is already installed on the windows side. This allows us to set up some kind of static IP on the computer even if they are on DHCP.

Windows LPD Server: Enable Windows support for Unix printing.

xp or vista:

Windows 7 and 8:

Next you go into the printer settings and add the printer. Just use the generic/text only driver. Make note of what you name the printer as you will need it when you set up CUPS. Try not to use any spaces to make things easier. You do not need to share the printer if you use this method. In fact if it is only for Control to print, you should not share the printer.

On the Linux side, just bring up system-config-printer and set it up as a normal LPD (unix) printer. The only fields you need to fill up are the IP address or hostname, and the printer name.

Note

It is ok to have spaces on the printer name. BUT, when you use system-config-printer (centos/fedora) to COPY the printer, characters after the space would disappear. Just make a note of this so you re enter the characters after copying.

If you have a firewall, you have to allow port 515 in. In the windows firewall, just add an exception. For other types of firewall, you are on your own.

Known problem

Sometimes printing to the printer get "stuck" - job is printer queue but can not be deleted. Go to the Services and restart "Print Spooler" don't forget to restart LPD services as well. In some cases solution above would not work. C:\Windows\System32\spool\PRINTERS

and then restart "print Spooler"