[Samba] Alternative way of installing Windows printer drivers on a
Samba 3.0 server
tonye at billy.demon.nl
Mon May 16 20:42:50 GMT 2005
Base: Red Hat RHAS3, PDC security = user
Windows XP Pro
Epson C42UX (cheap inkjet) USB to the server
I was looking for an alternative to the immensely complicated Add
Printer Wizard procedure (APW) detailed in chapter 19.6 of the Samba
HOWTO guide. The following is a method that works for me, I don't
necessarily expect it to work for others, and I'd value any comments,
criticism or whatever. It only takes into account Cups, not lpd and only
tested with Red Hat RHASx.
1: Make sure Cups printing works perfectly from the server itself.
Install the Cups printer(s) for raw output as described in the Samba
HOWTO. This should automatically give the Cups printer names in the
shares browse list detailed in the PDC's shares list, when a Windows
workstation has joined the domain. I have a Cups printer called
Epson_Samba and it shows up in the PDC's list of shares, viewable both
with smbclient and Windows workstations.
My smb.conf Cups printer share looks like:
comment = Epson C42UX
path = /var/spool/samba/raw_q
admin users = Administrator, @domadm
printer admin = @domadm
guest ok = Yes
printable = Yes
use client driver = Yes
browseable = yes
2: Make the [print$] share as described in the Samba HOWTO. In fact, for
the method described here, you can call it anything, as long as it's a
valid share. From my single XP Pro ws I can't browse to the print$ share
anyway, I can't see it. Nor does it show up in 'smbclient -L'. If I just
call it "print", it does, but it doesn't get the fancy Windows "Printers
and Faxes" icon. Doesn't matter, since it will simply be a repository
for the driver install, from which each Windows ws will install the
My print share looks like:
comment = Printer Drivers
path = /m/samba3/drivers
admin users = Administrator, tonni, @domadm
guest ok = yes
read only = yes
browseable = yes
read only = yes
write list = administrator, tonni, @domadm
3: Mount the CD ROM on the appropriate mount point, copy the necessary
printer driver hierarchy from the driver CD ROM as supplied by the
printer manufacturer to the "print" driver share.
mount -t iso9660 /dev/cdrom /mnt/cdrom -o ro,user,noauto,unhide
On my CD ROM I have many installation directories for drivers, in many
languages. I'm only interested in the "english" directory, which has
drivers for WIN2000 and 9x.
mkdir -p /m/samba3/drivers/epsonc42ux/win2000
cd /dev/cdrom /mnt/cdrom/english/win2000
cp -pr * /m/samba3/drivers/epsonc42ux/win2000
This copies .inf and cab files to the destination directory without
changing any archive details.
Repeat for the Win 9x hierarchy if needed. Furthermore, none of the
help, document, analytical or other bloatware get copied.
4: Install the drivers on the Windows ws:
Browse to the PDC's shares, find the advertised Cups printer and double
click on it. Windows goes wild and says it doesn't have any driver. It
searches around for a while and comes up with a useless list, but it
also gives the "have disk". Browse to the printer driver server share,
the win2000 directory you just copied, and it finds the appropriate .inf
file. Choose "open" and "Ok", then your printer, then "Ok". A few
seconds and the printer is installed.
5: Verify the installation:
Go to Control Panel, Printers and Faxes for the Windows ws itself,
printer is there. Right click, choose properties wander around and look
especially at "ports". The printer's port should be redirected to
\\server\printer_name LAN Manager Printer Port.
That's all, really. There's nothing to stop you going around with the CD
to each ws instead and installing that way, but remember we've cut out
all the nasties from the CD and that saves a handful of time.
I wouldn't mind knowing why my [print$] share doesn't show up, though.
Nothing sucksseeds like a pigeon without a beak ...
mail: tonye at billy.demon.nl
They'll love us, won't they? They feed us, don't they? ...
More information about the samba