[Samba] Samba 2.2.7a & CUPS 1.1.18, Win2k is not downloading cups windows drivers

Lex Onderwater Lex at Onderwater.org
Tue Jan 14 14:04:01 GMT 2003

 I'm building an new server with CUPS 1.1.18 and Samba 2.2.7a (Both compiled
from source) Installed the printer with CUPS and printed a test page with
CUPS. Next step make Samba use CUPS. I've used cupsaddsmb command to do
this, which completed successful.

Running command: smbclient //localhost/print$ -N -U'root%XXXXXXXXX' -c
'mkdir W32X86;put /var/spool/cups/tmp/3e1bf35d1d1f9 W32X86/660C.ppd;put
/usr/share/cups/drivers/cupsdrvr.dll W32X86/cupsdrvr.dll;put
/usr/share/cups/drivers/cupsui.dll W32X86/cupsui.dll;put
/usr/share/cups/drivers/cups.hlp W32X86/cups.hlp'
added interface ip= bcast= nmask=
Domain=[COLLECTIVE] OS=[Unix] Server=[Samba 2.2.7a-0.1 for Debian]
NT_STATUS_OBJECT_NAME_COLLISION making remote directory W32X86
putting file /var/spool/cups/tmp/3e1bf35d1d1f9 as W32X86/660C.ppd (895.0
kb/s) (average 895.0 kb/s)
putting file /usr/share/cups/drivers/cupsdrvr.dll as W32X86/cupsdrvr.dll
(2987.4 kb/s) (average 2536.5 kb/s)
putting file /usr/share/cups/drivers/cupsui.dll as W32X86/cupsui.dll (5547.1
kb/s) (average 3279.4 kb/s)
putting file /usr/share/cups/drivers/cups.hlp as W32X86/cups.hlp (2316.7
kb/s) (average 3243.3 kb/s)

Running command: rpcclient localhost -N -U'root%XXXXXXX' -c 'adddriver
"Windows NT x86"
cmd = adddriver "Windows NT x86"
Printer Driver 660C successfully installed.

Running command: rpcclient localhost -N -U'root%XXXXXXX' -c 'setdriver 660C
cmd = setdriver 660C 660C
Succesfully set 660C to driver 660C.

Only installing the printer on a W2K Pro SP3 machine is not working.
According to the W2K the drivers are not on the server. Which is very
strange because I am able to copy the specific files from the server with
4NT by using a cdd \DELTAFLYERprint$W32X862 and then copy the file to a temp

To examine what is happening I switched to debug level 20 and found the
following error :
[2003/01/14 13:52:35, 10] smbd/trans2.c:call_trans2setfilepathinfo(2883)
call_trans2setfilepathinfo: file W32X86/2/cupsdrvr.dll : setting dos mode a0
[2003/01/14 13:52:35, 8] smbd/dosmode.c:dos_mode(123)
dos_mode: W32X86/2/cupsdrvr.dll
[2003/01/14 13:52:35, 8] lib/util.c:is_in_path(1145)
is_in_path: W32X86/2/cupsdrvr.dll
[2003/01/14 13:52:35, 8] lib/util.c:is_in_path(1150)
is_in_path: no name list.
[2003/01/14 13:52:35, 8] smbd/dosmode.c:dos_mode(167)
dos_mode returning a
[2003/01/14 13:52:35, 3] smbd/dosmode.c:unix_mode(111)
unix_mode(W32X86/2/cupsdrvr.dll) returning 0744
[2003/01/14 13:52:35, 2] smbd/trans2.c:call_trans2setfilepathinfo(2886)
chmod of W32X86/2/cupsdrvr.dll failed (Operation not permitted)

This is probably what is going wrong, the files cupsui.dll, 660C.ppd,
cups.hlp have the same problem.
The user account I'm using on the W2k box has a unix account on the samba
server and a entry in smbpasswd. I'm able to use this users home dir on the
samba server without any problem from my W2K box.
The cups settings in smb.conf :

load printers = yes
printcap name = cups
printing = cups

comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
public = yes
guest ok = yes
writable = no
printer admin = root,relaxlex

comment = Printer Drivers
path = /etc/samba/drivers
browseable = yes
guest ok = no
read only = yes
write list = root,relaxlex

/etc/samba/drivers> ls -Rsla *
total 3
1 drwxr-xr-x 3 root winluser 1024 Jan 14 11:51 ./
1 drwxrwxrwx 3 root winluser 1024 Jan 14 11:42 ../
1 drwxr-xr-x 2 root winluser 1024 Jan 14 11:42 2/
total 528
1 drwxr-xr-x 2 root winluser 1024 Jan 14 11:42 ./
1 drwxr-xr-x 3 root winluser 1024 Jan 14 11:51 ../
24 -rwxr--r-- 1 root winluser 22913 Jan 14 11:51 660C.ppd*
15 -rwxr--r-- 1 root winluser 14234 Jan 14 11:51 cups.hlp*
275 -rwxr--r-- 1 root winluser 278380 Jan 14 11:51 cupsdrvr.dll*
212 -rwxr--r-- 1 root winluser 215848 Jan 14 11:51 cupsui.dll*

I don't know what I'm doing wrong, any help is appreciated.

P.S. complete samba log is available (level 20)

More information about the samba mailing list