[Samba] printer.tdb (tdb_oob len errors) and Quirkiness: Solaris 9, Samba 3.0.0

Jeff Gardiner gardiner at imaging.robarts.ca
Wed Nov 19 15:08:46 GMT 2003


Kurt, thank for taking the time to answer my questions.  I very much 
appreciate it, and of course, you've opened my eyes up to a new part of the 
learning curve by introducing me to new and effective ways to use of the 
rpcclient command.

Your suggestions have help me to get it working.  However, let me reply:

On Tuesday 18 November 2003 13:10, Kurt Pfeifle wrote:
> What does "IAW" mean?

Sorry about that - IAW means In Accordance With.

> More exactly, they should end up in "/etc/samba/drivers/W32X86/2/" or
> in "/etc/samba/drivers/W32X86/3/" (depending on which type of driver
> you chose to install.

You are correct, I should have been more specific. In my case they end up in
/etc/samba/drivers/W32X86/3/

> What are you getting with these commands:

>     rpcclient -Uroot -c "enumprinters" SUPERSERVER    (if you have in the
> "description" lines two commas, there are no drivers recognized by
> Samba....)

When I first issued this command there were two commas - despite the fact that 
I had previously associated drivers (and installed them) with this printer 
share.  The entry as it looks now is as such:

 #rpcclient -Uroot -c "enumprinters" SUPERSERVER
Password:
        flags:[0x800000]
        name:[\\superserver\irl]
        description:[\\superserver\irl,Lexmark Optra T614,Main Lab Lexmark 
Printer]
        comment:[Main Lab Lexmark Printer]



>     rpcclient -Uroot -c "enumdrivers" SUPERSERVER


# rpcclient -Uroot -c "enumdrivers " SUPERSERVER
Password:

[Windows NT x86]
Printer Driver Info 1:
        Driver Name: [Lexmark Optra T614]


>     rpcclient -Uroot -c "enumdrivers 2" SUPERSERVER

# rpcclient -Uroot -c "enumdrivers 2" SUPERSERVER
Password:

[Windows NT x86]
Printer Driver Info 2:
        Version: [3]
        Driver Name: [Lexmark Optra T614]
        Architecture: [Windows NT x86]
        Driver Path: [\\superserver\print$\W32X86\3\LMPCL2A.DLL]
        Datafile: [\\superserver\print$\W32X86\3\LMPCL2AC.DLL]
        Configfile: [\\superserver\print$\W32X86\3\LMPCL2AC.DLL]


>     rpcclient -Uroot -c "enumdrivers 3" SUPERSERVER

# rpcclient -Uroot -c "enumdrivers 3" superserver
Password:

[Windows NT x86]

Printer Driver Info 3:
        Version: [3]
        Driver Name: [Lexmark Optra T614]
        Architecture: [Windows NT x86]
        Driver Path: [\\superserver\print$\W32X86\3\LMPCL2A.DLL]
        Datafile: [\\superserver\print$\W32X86\3\LMPCL2AC.DLL]
        Configfile: [\\superserver\print$\W32X86\3\LMPCL2AC.DLL]
        Helpfile: [\\superserver\print$\W32X86\3\LMPCLNA.HLP]

        Dependentfiles: [\\superserver\print$\W32X86\3\mergepfm.dfm]
        Dependentfiles: [\\superserver\print$\W32X86\3\C910BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\C750BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\E32XBM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\T62XBM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\J110BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\C720BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\T61XBM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\C710BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\W820BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\W810BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\M410BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\E855BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\OC1200BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\K1220BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\SC1275BM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\OPTRASBM.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMPCLTHK.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMHB.HLP]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMHBNDX.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMHBNDD1.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMPCL2AX.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMPCL2DD.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LEXUNST.ZIP]
        Dependentfiles: [\\superserver\print$\W32X86\3\PTZIPW32.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LEXEDF.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMNET2PP.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LEXDRVX.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LEXCFI.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMPCL2A.ALL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LEXDRVIN.EXE]
        Dependentfiles: [\\superserver\print$\W32X86\3\DRVNPANT.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LEXMV95.HLP]
        Dependentfiles: [\\superserver\print$\W32X86\3\PTRESW32.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\PTGUIW32.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\PTAPIW32.DLL]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMPCLHOW.HLP]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMPCLNA.CNT]
        Dependentfiles: [\\superserver\print$\W32X86\3\LMPCL2A$.INI]

        Monitorname: []
        Defaultdatatype: [RAW]

>     rpcclient -Uroot -c "enumports" SUPERSERVER

# rpcclient -Uroot -c "enumports" SUPERSERVER
Password:
        Port Name:      [Samba Printer Port]



> This checks if Samba exports the kind of stuff Windows clients are
> looking for....

I had read over a number of the man pages and other documentation including 
John T. excellent book, but was not familiar with this use of the rpcclient 
command.  I found (and find) them to be extremely useful tools, and will have 
to reread the man pages.  I recognized that familiarity with the command line 
tools that allow you to get to Samba's underbelly really helps in resolving 
problems.  Thanks for posting them. 

> Where it you find the advice to tag your [print$] share as "printable"??
> This is wrong. It means that Samba tries to export a printer with the
> name of "print$", while it should be just a special file share holding
> the driver files for clients to download. (If it is a typo in above
> document, quick-quick!, provide a pointer to the exact place where it
> occurs so it may be corrected....)

I've taken your advice, and made the modifications to my smb.conf file and all 
works well now.  Again thanks for your help.  For those who follow in my 
footsteps, and use the sambalist archives to resolve problems I'll repost my 
smb.conf file.  It looks like this:

[global]
netbios name = superserver
workgroup = WINZOMBIES
os level = 99
preferred master = yes
domain master = yes
local master = yes
security = user
domain logons = yes
logon path = \\%L\%U\profile
logon drive = H:
logon home = \\%L\%U
logon script = startup.bat
guest account  = nobody
map to guest = bad user

time server = yes
admin users = root 

smb passwd file = /etc/samba/smbpasswd
log file = /var/log/samba/log.%m

printing = lprng 
printcap name = /etc/cups/printcap

load printers = yes
show add printer wizard = yes
printer admin = @ntadmin root gardiner
lpq cache time = 20
use client driver = no

[netlogon]
path = /var/lib/samba/netlogon
read only = yes
write list = ntadmin

[profiles]
path = %H/profile
read only = no
create mask = 0600
directory mask = 0700

[homes]
comment = Home Directories
read only = No
browseable = No

[print$]
comment = Printer Driver Download Area
path = /etc/samba/drivers
browseable = yes
guest ok = yes
read only = yes
write list = @ntadmin, root, gardiner

[printers]
comment = All Printers
path = /var/spool/samba
public = yes
guest ok = yes
browseable = no
writable = no
printable = yes
create mode = 0700

[irl]
path=/tmp
comment = Main Lab Lexmark Printer
browseable = yes
printable = yes
public = yes
create mode = 0700
lpq command = lpq -Plp-std
lprm command = lprm -Plp-std %j
print command = /irus/bin/lpr -r -h -Plp-std %s

[special_printer]
comment = A special printer with his own settings
path = /var/spool/samba-special
printing = sysv
printcap = lpstat
print command = echo "NEW: `date`: printfile %f" >> /tmp/smbprn.log ; \
echo " `date`: p-%p s-%s f-%f" >> /tmp/smbprn.log ; \
echo " `date`: j-%j J-%J z-%z c-%c" >> /tmp/smbprn.log : rm %f
public = no
guest ok = no
writeable = no
printable = yes
printer admin = gardiner
hosts deny = 0.0.0.0
hosts allow = 10.1.1.1

There is one more issue I need to solve to get samba 3.0.1pre3 working 
perfectly on Solaris9 but I'll post that question in an other email.

Cheers

-- 
Jeff Gardiner [ gardiner at nospam.imaging.robarts.ca ]
System Administrator - Imaging Research Laboratories
Robarts Research Institute - London ON, Canada
519.663.5777 x34089

       ~~~~~~~
  Those who do not understand Unix are condemned to reinvent it, poorly.
        -- Henry Spencer
~~~~~~




More information about the samba mailing list