[Samba] Call for help with Samba Printing and WinNT

Ken Sarkies matou at picknowl.com.au
Sun May 25 07:09:28 GMT 2003

Hi [Samba]s

This is a call for some generous people to try out the process of
installation of a Samba printer on WinNT and WinNT Terminal Server
Edition. I am working through Kurt Pfeifle's HOWTO on Printing and CUPS
printing in Samba 3.0, and finding some issues with NT/TSE. It would be
good if we had some confirmation or otherwise of these problems so that
Kurt can update his HOWTO (this is expected to appear in the
documentation for Samba 3.0). If someone can do the same for Win2000 and
WinME, it would be great – although I expect that these will not present
any problems.

Kurt has WinXP/Pro and I have WinXP/HE. Although there are rumours that
WinXP/HE gives networking problems, I found that as long as the
username/passwords were setup identically to those on the WinNT/TSE PDC
and on the Samba machines, there was no difficulty connecting to shares
and printers and even to MS-Exchange from the WinXP/HE machines. In fact
it was quite smooth (sorry-have to be honest).

I have setup samba 2.2.8a and CUPS 1.1.19pre4, and am working with
WinNT4SP6/TSE. The printers are HP laserjet 2100 (PCI/PS) and 6P/6MP
(PS) machines setup both as raw printers (for direct installation on
Win) and also using Foomatic+ljet4 driver for Linux printing and for
using cupsaddsmb.

Following Kurt's HOWTO, we can use the WinNT/TSE AddPrinter GUI to
install printer drivers into the Samba PRINT$ share for the raw
printers. They work fine on all machines. This means that Samba is
correctly setting up the driver files, and also the fake registry
entries that it puts in ntdrivers.tdb (note it is important to have all
Win administrator accounts and also root passwords defined in smbpasswd
for this to go through smoothly).

Continuing on, we can now try the Linux commandline method of installing
the printer driver. This relies on rpcclient to install the drivers. The
utility cupsaddsmb also uses this technique, so it is not essential to
use the somewhat long-winded commandline method, although it is an
excellent seat-of-the-pants way to get a feel for what is happening.
Although not essential, it is probably best to use the rpcclient from
the latest Samba 3.0 distribution as it has had a few bugs fixed.

Having successfully completed this installation, we go to a WinXP/HE
client. We see the driver mentioned against the printer properties. We
can click “connect” to complete the installation. The printer now
appears in the printer folder and everything works wonderfully.

Now for the crunch. We go to the WinNT/TSE server and we can see the
driver mentioned against the printer properties. However when we click
“install” (equivalent to “connect” on other Wins), it complains that
there is no suitable driver of that name on the PRINT$ share.

A hexdump of ntdrivers.tdb (and also rpclient – enumdrivers 3) shows
that WinNT/TSE has added to the fake registry, in addition to the set of
driver filenames, a second set of the same filenames in a slightly
different order as “dependent files”. It wasn't enough to use rpcclient
– adddriver with those additional filenames to overcome the problem. My
suspicion is that WinNT/TSE not only does things differently to other
Wins, but requires those differences to be present before it can accept
a driver (while WinXP/HE seems to be happy despite those differences).

Thus while we cannot install a driver using cupsaddsmb, we can do so
through the Win GUI interface, so all is not lost. We really would like
to confirm that others have this “issue” in WinNT/TSE, and, perhaps more
importantly, whether it is present in WinNT and some other Wins that we
haven't yet tested.

Cheers and thanks, Ken

More information about the samba mailing list