Saturday, January 2, 2010

Printer Setup for Windows (SAMBA)

Setting up printers for Windows is really easy. Forget about cups, foomatic, and any filters. Windows wants raw anyway. Here's how: Here are the steps I took:

Install Samba
Add Samba by doing a "pkg_add -r samba-3"

Autorun Samba and LPD
Edit /etc/rc.conf add:
samba_enable="YES"
lpd_enable="YES"
You may also want to run "/etc/rc.d/lpd start" and "/usr/local/etc/rc.d/samba start" to get things running without a reboot

Edit /etc/printcap
the printcap format is
PRINTER NAME: followed by a bunch of options separated by colons. Here are the good optiosn for us:
'sh' -- suppress header
'sf' -- suppress line feed
'mx#0' -- unlimited buffer
'sd' -- spool directory (This should be different for each printer)
'lp' -- printer device probably '/dev/ulpt0' or '/dev/lp0'
'if' -- error log
Note use '\' to go muliline

Here's my line for my HP D5100 (Printer really doesn't matter since this is raw printing)
D5100|hp:\
:sh:sf:mx#0\
:sd=/var/spool/hp:\
:lp=/dev/ulpt0:lf=/var/log/lpd-errs:
Make Sure the spool directory is world readable and writable or lp will fail!

Finally use 'chkprintcap' to check /etc/printcap

Setup /usr/local/etc/smb.conf
smb.conf is pretty much setup. Add ' use client driver = yes' under printers to make windows clients happy otherwise the print queue has a nice "access denied" error.

Use 'testparam' to check smb.conf

Setup Samba User accounts
pdbedit -a -u queenorych

Happy Printing!