Hi, I am having a problem with automating the download of printer drivers from a Samba 2.2.8 server. We used to use the server with he following options set: use client driver = yes disable spoolss = yes However these options have now been removed from smb.conf. Following the instructions available in printer_driver2.htm (supplied in docs/htmldocs in the source), I can add a printer driver to the samba machine. To do this, I created a user called 'root' on my Win2K machine, logged on as that and then installed the driver to the server following the instructions. Running rpcclient server -U root%secret -c "enumdrivers" gives session setup ok Domain=[DOMAIN] OS=[Unix] Server=[Samba 2.2.8] [Windows NT x86] Printer Driver Info 1: Driver Name: [HP LaserJet 6P/6MP - PostScript] Running rpcclient server -U root%secret -c "enumprinters" gives Domain=[DOMAIN] OS=[Unix] Server=[Samba 2.2.8] flags:[0x800000] name:[\\server\Laserjet_6MP] description:[\\server\Laserjet_6MP,,Laserjet_6MP on server] comment:[Laserjet_6MP on server] showing that no driver is associated with the printer in question. The driver files have appeared in /usr/local/samba/printer_drivers/W32X86 owned by the person/group of the user who uploaded them (me). If I now attempt to view the properties of the printer on the server (navigate to network neighbourhood -> printers -> Laserjet_6MP -> properties), I still got the message "Device settings cannot be displayed. The driver for the specified printer is not installed...", so the driver is obviously not associated with the printer. Attempting to set the driver for the printer from the drop down list available in the 'Advanced' tab of the dialogue box and clicking 'OK' gives me the message 'Printer settings could not be saved' and the driver does not become associated with the printer in question. I assume that I am doing something wrong somewhere, but I dont know where! I suspect that it is something very simple such as a file/directory permission problem. Does anyone have the solution? Do I need to run something like rpcclient server -U root%secret -c "setdriver Laserjet_6MP \"HP LaserJet 6P/6MP - PostScript\"" to get the server to associate the driver with the printer in question? Also, where is the information about the drivers available for the printers stored on the system? I dont like the fact that I have no idea where the information is actually stored and would like to know! Specifically, where rpcclient gets its information from to show the results shown above. Regards Andy Dr. Andy Dawson A.J.Dawson@Bradford.ac.uk http://www.mossie.org http://www.museum-explorer.org.uk Never attribute to malice that which is adequately explained by stupidity.
To answer the easy bit first: the printer config info is stored in the .tdb files in the $SAMBA_HOME/var/locks directory. I think the most relevant ones are ntdrivers.tdb ntforms.tdb ntprinters.tdb share_info.tdb. I had a similar experience to you with the "Access denied" etc messages and eventually got it right by endless futzing around but still don't really know what produced the breakthrough. So keep trying - it _will_ work. If you post your smb.conf I'll see if I've got anything you haven't. -----Original Message----- From: A.J.Dawson [mailto:A.J.Dawson@Bradford.ac.uk] Sent: Friday, 21 March, 2003 10:06 AM Hi, I am having a problem with automating the download of printer drivers from a Samba 2.2.8 server. We used to use the server with he following options set: use client driver = yes disable spoolss = yes However these options have now been removed from smb.conf. Following the instructions available in printer_driver2.htm (supplied in docs/htmldocs in the source), I can add a printer driver to the samba machine. To do this, I created a user called 'root' on my Win2K machine, logged on as that and then installed the driver to the server following the instructions. Running rpcclient server -U root%secret -c "enumdrivers" gives session setup ok Domain=[DOMAIN] OS=[Unix] Server=[Samba 2.2.8] [Windows NT x86] Printer Driver Info 1: Driver Name: [HP LaserJet 6P/6MP - PostScript] Running rpcclient server -U root%secret -c "enumprinters" gives Domain=[DOMAIN] OS=[Unix] Server=[Samba 2.2.8] flags:[0x800000] name:[\\server\Laserjet_6MP] description:[\\server\Laserjet_6MP,,Laserjet_6MP on server] comment:[Laserjet_6MP on server] showing that no driver is associated with the printer in question. The driver files have appeared in /usr/local/samba/printer_drivers/W32X86 owned by the person/group of the user who uploaded them (me). If I now attempt to view the properties of the printer on the server (navigate to network neighbourhood -> printers -> Laserjet_6MP -> properties), I still got the message "Device settings cannot be displayed. The driver for the specified printer is not installed...", so the driver is obviously not associated with the printer. Attempting to set the driver for the printer from the drop down list available in the 'Advanced' tab of the dialogue box and clicking 'OK' gives me the message 'Printer settings could not be saved' and the driver does not become associated with the printer in question. I assume that I am doing something wrong somewhere, but I dont know where! I suspect that it is something very simple such as a file/directory permission problem. Does anyone have the solution? Do I need to run something like rpcclient server -U root%secret -c "setdriver Laserjet_6MP \"HP LaserJet 6P/6MP - PostScript\"" to get the server to associate the driver with the printer in question? Also, where is the information about the drivers available for the printers stored on the system? I dont like the fact that I have no idea where the information is actually stored and would like to know! Specifically, where rpcclient gets its information from to show the results shown above. Regards Andy Dr. Andy Dawson A.J.Dawson@Bradford.ac.uk http://www.mossie.org http://www.museum-explorer.org.uk
Andy, Hmm. Looks ok to me but I'm just a user not a guru. Here's a couple of things to try: - log level = 1 (for a bit of connection info in the log) - you have TWO printer admin commands (dunno if this hurts) My own print setup looks like this: ... printing = BSD printer admin = cpadmin <=== i.e. explicit unix account show add printer wizard = yes username map = <file mapping 'administrator' to 'cpadmin'> [printers] path = <path to spool dir> guest ok = yes guest account = guest browseable = yes printable = yes [print$] path = <path to driver dir> guest ok = yes guest account = guest browseable = yes read only = yes write list = cpadmin Hope something here gives you a bright idea. It _will_ work - eventually... PCC -----Original Message----- From: A.J.Dawson [mailto:A.J.Dawson@Bradford.ac.uk] Sent: Friday, 21 March, 2003 11:17 AM To: Peter Carpenter Cc: samba@lists.samba.org Subject: RE: [Samba] Automated printer driver problems Heres the smb.conf file I'm using (suitably sanitised...) Oh, and yes, I'm a member of the group 'Archive_adm'. Regards Andy #Start of smb.conf file [global] # general declarations for the server workgroup = WORKGROUP server string = Server socket options = TCP_NODELAY interfaces = XXX.XXX.XXX.XXX/24 local master = yes os level = 69 domain master = yes preferred master = yes domain logons = yes wins server = XXX.XXX.XXX.XXX time server = yes map archive = yes browseable = yes lm announce = no # log file options - log by machine name, not > 200k /log log file = /usr/local/samba/log/log.%m max log size = 200 # security considerations security = user encrypt passwords = yes # NOTE: we need to set this to no for Win95 clients < 4.00.950a hosts allow = XXX.XXX.XXX. 127. remote announce = XXX.XXX.XXX.255/WORKGROUP guest account = nobody map to guest = Never guest ok = no domain admin group = @NT_adm add user script = /usr/sbin/useradd -c NT_machine -d /dev/null -g NT_machines -s /bin/false %m$ bind interfaces only = yes unix password sync = yes # ensure password changed get pushed to the NIS database... passwd program = /usr/bin/passwd %u ; make -s -C /var/yp # New directive to try to see if XP can log on... nt acl support = no # printer defaults load printers = yes printing = BSD print command = /usr/bin/lpr -P%p -r %s lpq command = /usr/bin/lpq -P%p printer admin = @NT_adm printcap name = /etc/printcap printer admin = @Archive_adm # logon paths etc. logon script = scripts\%u.bat # Win9x profile store location logon home = \\server\%u\profile\win9x # WinNT/2K/XP profile store location logon drive = p: [netlogon] comment = Network Logon Service path = /usr/local/samba/netlogon guest ok = no writable = no browseable = no [homes] comment = %u on %L volume = %u on %L writeable = yes valid users = @users nt acl support = no browseable = no [Laserjet_6MP] comment = Laserjet_6MP on %L printable = yes path = /var/spool/lpd/spooldir printer = lj_6mp browseable = yes read only = yes valid users = @users [print$] comment = Printer driver files on %L path = /usr/local/samba/printer_drivers guest ok = no browseable = no read only = yes write list = @Archive_adm directory mask = 0755 # End of smb.conf file On Fri, 21 Mar 2003, Peter Carpenter wrote:> To answer the easy bit first: the printer config info is stored in the.tdb> files in the $SAMBA_HOME/var/locks directory. I think the most relevantones> are ntdrivers.tdb ntforms.tdb ntprinters.tdb share_info.tdb. I had asimilar> experience to you with the "Access denied" etc messages and eventually got > it right by endless futzing around but still don't really know whatproduced> the breakthrough. So keep trying - it _will_ work. If you post yoursmb.conf> I'll see if I've got anything you haven't. > > -----Original Message----- > From: A.J.Dawson [mailto:A.J.Dawson@Bradford.ac.uk] > Sent: Friday, 21 March, 2003 10:06 AM > > Hi, > > I am having a problem with automating the download of printer drivers from > a Samba 2.2.8 server. > > We used to use the server with he following options set: > > use client driver = yes > disable spoolss = yes > > However these options have now been removed from smb.conf. > > Following the instructions available in printer_driver2.htm (supplied in > docs/htmldocs in the source), I can add a printer driver to the samba > machine. To do this, I created a user called 'root' on my Win2K machine, > logged on as that and then installed the driver to the server following > the instructions. > > Running rpcclient server -U root%secret -c "enumdrivers" gives > > session setup ok > Domain=[DOMAIN] OS=[Unix] Server=[Samba 2.2.8] > > [Windows NT x86] > Printer Driver Info 1: > Driver Name: [HP LaserJet 6P/6MP - PostScript] > > > Running rpcclient server -U root%secret -c "enumprinters" gives > > Domain=[DOMAIN] OS=[Unix] Server=[Samba 2.2.8] > flags:[0x800000] > name:[\\server\Laserjet_6MP] > description:[\\server\Laserjet_6MP,,Laserjet_6MP on server] > comment:[Laserjet_6MP on server] > > showing that no driver is associated with the printer in question. The > driver files have appeared in /usr/local/samba/printer_drivers/W32X86 > owned by the person/group of the user who uploaded them (me). > > If I now attempt to view the properties of the printer on the server > (navigate to network neighbourhood -> printers -> Laserjet_6MP -> > properties), I still got the message "Device settings cannot be displayed. > The driver for the specified printer is not installed...", so the driver > is obviously not associated with the printer. > > Attempting to set the driver for the printer from the drop down list > available in the 'Advanced' tab of the dialogue box and clicking 'OK' > gives me the message 'Printer settings could not be saved' and the driver > does not become associated with the printer in question. > > I assume that I am doing something wrong somewhere, but I dont know where! > I suspect that it is something very simple such as a file/directory > permission problem. Does anyone have the solution? > > Do I need to run something like rpcclient server -U root%secret -c > "setdriver Laserjet_6MP \"HP LaserJet 6P/6MP - PostScript\"" to get the > server to associate the driver with the printer in question? > > Also, where is the information about the drivers available for the > printers stored on the system? I dont like the fact that I have no idea > where the information is actually stored and would like to know! > Specifically, where rpcclient gets its information from to show the > results shown above. > > Regards > Andy > > Dr. Andy Dawson > A.J.Dawson@Bradford.ac.uk > http://www.mossie.org > http://www.museum-explorer.org.uk >Dr. Andy Dawson A.J.Dawson@Bradford.ac.uk http://www.mossie.org http://www.museum-explorer.org.uk Never attribute to malice that which is adequately explained by stupidity.
daniel.jarboe@custserv.com
2003-Mar-21 12:52 UTC
[Samba] Automated printer driver problems
> driver files have appeared in /usr/local/samba/printer_drivers/W32X86 > owned by the person/group of the user who uploaded them (me).Are they readable by other users who will be installing the drivers?> If I now attempt to view the properties of the printer on the server > (navigate to network neighbourhood -> printers -> Laserjet_6MP -> > properties), I still got the message "Device settings cannot > be displayed. > The driver for the specified printer is not installed...", so > the driver > is obviously not associated with the printer. > > Attempting to set the driver for the printer from the drop down list > available in the 'Advanced' tab of the dialogue box and clicking 'OK' > gives me the message 'Printer settings could not be saved' > and the driver > does not become associated with the printer in question.I've been getting 'Printer settings could not be saved' with recent sambas. Anything in the logs about an unknown specversion in devicemode? I've been getting that for some print drivers, with no responses in samba-technical.> Do I need to run something like rpcclient server -U root%secret -c > "setdriver Laserjet_6MP \"HP LaserJet 6P/6MP - PostScript\"" > to get the > server to associate the driver with the printer in question?You shouldn't have to. When I do, and I pull up the printer panel, it shows the printer model associated with that driver, but still get the by now all to familiar and painful "Device settings cannot be displayed...." when I go into properties. Very frustrating. ~ Daniel ----------------------------------------------------------------------- This message is the property of Time Inc. or its affiliates. It may be legally privileged and/or confidential and is intended only for the use of the addressee(s). No addressee should forward, print, copy, or otherwise reproduce this message in any manner that would allow it to be viewed by any individual not originally listed as a recipient. If the reader of this message is not the intended recipient, you are hereby notified that any unauthorized disclosure, dissemination, distribution, copying or the taking of any action in reliance on the information herein is strictly prohibited. If you have received this communication in error, please immediately notify the sender and delete this message. Thank you.