[Samba] Problems with print driver information stored in
ntprinters.tdb
Justin Chevrier
jchevrier at city.kawarthalakes.on.ca
Thu Aug 23 18:55:03 GMT 2007
Hi Guys,
I've have an issue (or perhaps more accurately a feature) with my
production system running Samba 3.0.24 (Cups 1.2.9). We do not make use
of server side print drivers, the reason for this is below. We therefore
install drivers manually on our client systems. The issue that has
arisen lately is that when a printer is added to a client workstation,
Samba somehow picks up the name of the driver and stores this in
ntprinters.tdb. Then on the next client when we go to add the same
printer the client workstation picks up this driver name and refuses to
allow any other driver to be chosen (say PCL vs. PS). After proceeding
with the printer install and checking the ports tab in printer
properties instead of listing all of the client's local ports it lists
the 'samba printer port' as is seen on the server. Deleting
ntprinters.tdb and restarting Samba cleans the slate but it's not very
workable. Is there a way to prevent the Windows client from being able
to update the TDB database? Any recommendations? Here is my config:
[global]
workgroup = DOMAIN
netbios aliases = SERVER-ALIAS
realm = realm.com
server string =
interfaces = 10.70.1.42/255.255.0.0
security = ADS
password server = DC1, DC2
log level = 1
log file = /var/log/samba/log.%m
max log size = 50
deadtime = 5
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192
SO_SNDBUF=8192
preferred master = No
local master = No
domain master = No
dns proxy = No
wins server = 10.70.1.1
ldap ssl = no
idmap uid = 10000-20000
idmap gid = 10000-20000
template homedir = /home/%U
template shell = /bin/bash
winbind separator = +
winbind use default domain = Yes
admin users = root
dos filemode = Yes
[printers]
comment = All Printers
path = /var/spool/samba
guest ok = Yes
printable = Yes
force printername = Yes
browseable = No
[print$]
path = /etc/samba/drivers
read only = No
guest ok = Yes
Our use of Canon ImageRunner class printers has caused the main source
of our problems in using server side drivers. The Canon drivers have a
'Get Device Status' button in the Printer Properties dialog that
acquires information on the printer's configuration such as tray types
and number of trays, etc. When using Windows as a print server the Canon
Net Assistant service appears to receive this information and forward it
to the printer. Canon of course does not provide the equivalent for
Linux. Canon therefore provides a workaround application that can be run
on the Windows client called 'PortSet'. This application allows you to
bind IP addresses with specific printers so that the driver can
communicate directly with the printer for the device status. PortSet
unfortunately does not work at all if the printer's been installed with
the server side drivers.
Thanks guys
Justin
More information about the samba
mailing list