Hi,
I've also got problems downloading drivers from samba to a windows client.
I'm running Debian Samba 3.0.7-1, and Cupssys 1.1.20final
My Windows Client is a Win2KPro.
I succesfully installed my printers with Cups and they work fine under
Linux, and from remote cups clients.
I've been trying to follow the samba docs on serving postscript drivers
for cups from the print share in section:
http://us4.samba.org/samba/docs/man/Samba-HOWTO-Collection/CUPS-printing.html#id2563178
I run cupsaddsmb, it seems to work fine, and the files show up in
/etc/samba/drivers/W32X86/2 which matches my
"path = /etc/samba/drivers" line in my smb.conf file. (Full listing
below). Typical cupsaddsmb output is:
-----------------------------------------------------------
cupsaddsmb -v myprinter
Password for root required to access localhost via SAMBA:
Running command: smbclient //localhost/print\$ -N -U'root%secret' -c
'mkdir W32X86;put /var/spool/cups/tmp/4179785a142d2
W32X86/myprinter.ppd;put /usr/share/cups/drivers/cupsdrv5.dll
W32X86/cupsdrv5.dll;put /usr/share/cups/drivers/cupsui5.dll
W32X86/cupsui5.dll;put /usr/share/cups/drivers/cups5.hlp W32X86/cups5.hlp'
Domain=[HOUSE] OS=[Unix] Server=[Samba 3.0.7-Debian]
NT_STATUS_OBJECT_NAME_COLLISION making remote directory \W32X86
putting file /var/spool/cups/tmp/4179785a142d2 as \W32X86/myprinter.ppd
(6592.7 kb/s) (average 6592.8 kb/s)
putting file /usr/share/cups/drivers/cupsdrv5.dll as \W32X86/cupsdrv5.dll
(2606.7 kb/s) (average 2822.1 kb/s)
putting file /usr/share/cups/drivers/cupsui5.dll as \W32X86/cupsui5.dll
(6699.8 kb/s) (average 3689.9 kb/s)
putting file /usr/share/cups/drivers/cups5.hlp as \W32X86/cups5.hlp
(4633.3 kb/s) (average 3709.3 kb/s)
Running command: rpcclient localhost -N -U'root%secret' -c
'adddriver
"Windows NT x86"
"myprinter:cupsdrv5.dll:myprinter.ppd:cupsui5.dll:cups5.hlp:NULL:RAW:NULL"'
Printer Driver myprinter successfully installed.
Running command: rpcclient localhost -N -U'root%secret' -c
'setdriver
myprinter myprinter'
Succesfully set myprinter to driver myprinter.
-----------------------------------------------------------
The expected files appeared in /etc/samba/drivers/W32X86/2/ which were:
myprinter.ppd* cups5.hlp* cupsdrv5.dll* cupsui5.dll*
When I point my win2k client at a networked printer I get these mesages:
"The server on which the "myprinter" printer resides does not
have the
correct printer dirver installed.
If you want to install the driver on your local computer, click Ok."
Then I get the flashlight dialog box with the title "Connecting to
myprinter on houseserv"
Lastly I get a box with "The file '*.INF' on (Unknown) is
needed"
I'm not sure why it says (Unknown) here but It's a home network that
mostly uses /etc/hosts files but I don't think windows has these so I have
to trust that it can find the network shares using samba, and they do show
up just fine.
In my Samba log file I get:
[2004/10/22 13:15:08, 0] smbd/service.c:make_connection(800)
windoze-6uqevsu (192.168.0.2) couldn't find service
::{2227a280-3aea-1069-a2de-08002b30309d}
But I'm not sure what this service number relates to.
A while back Michael Lueck posted a hand made INF file to work with the
adobe universal driver which looks like this:
-----------------------------------------------------------
; PSCRIPT.INF
;
; Michael Lueck, Lueck Data Systems
; Version 1.1
; This INF is intended to be used with:
; Adobe Universal PostScript Windows Driver Installer 1.0.6 - English
[Version]
Signature="$Windows NT$"
Provider="Adobe"
LayoutFile=layout.inf
ClassGUID={4D36E979-E325-11CE-BFC1-08002BE10318}
Class=Printer
[Manufacturer]
"Adobe"
[Adobe]
"AdobePSGenericPostScriptPrinter"
DEFPRTR2.PPD
[DEFPRTR2.PPD]
CopyFiles=PSCRIPT
DataSection=PSCRIPT_DATA
[PSCRIPT]
DEFPRTR2.PPD
PS5UI.DLL
PSCRIPT.HLP
PSCRIPT.NTF
PSCRIPT5.DLL
[PSCRIPT_DATA]
DriverFile=PSCRIPT5.DLL
ConfigFile=PS5UI.DLL
HelpFile=PSCRIPT.HLP
[DestinationDirs]
DefaultDestDir=66000
[ControlFlags]
ExcludeFromSelect = 2369
-----------------------------------------------------------
Now I tried to edit this to work with the Cups set of files but I'm not a
windows hacker and it still gave me the same message. Maybe one needs to
do more than just copying it into /etc/samba/drivers/W32X86/2 and restart
samba?
I've been searching high and low on how to do this but haven't found too
many clues yet. It would be helpfull to know which files windows is
looking for exactly. What cryteria does it use to pick INF files?
Alternativly I tried to install the Adobe drivers but apparently only the
win2k files were placed on my client so the cupsaddsmb complained about
the other ADOBE* files not being there. I could install an old win98 on
some machine just to get the rest of the those files but it seems like a
lot of work just to make cupsaddsmb happy. I sapose I could manually run
the commands to do the install, but I'm hopeing for a more general
solution. I also tried to unzip the winsteng.exe installer from Adobe but
no go.
Another suggestion that I tried was to install the universal adobe drivers
on the client then share that printer to get them back off, but when I
went to click on share and Ok it said:
"Printer settings could not be saved. Operation could not be
compleated."
*Ugh*
>From reading this list it seems like other folks are getting this to work,
what am I missing? :-)
Thanks,
Clif
Here is my smb.conf file:
-----------------------------------------------------------
;*******************section global*****************
[global]
panic action = /usr/share/samba/panic-action %d
printing = cups
#printcap name = /etc/printcap
printcap name = cups
load printers = yes
guest account = nobody
#map to guest = Bad User
map to guest = Bad Password
#invalid users = root
security = user
workgroup = WORKGROUP
server string = %h server (Samba %v)
syslog only = no
syslog = 0;
socket options = IPTOS_LOWDELAY TCP_NODELAY SO_SNDBUF=4096 SO_RCVBUF=4096
encrypt passwords = true
passdb backend = smbpasswd guest
wins support = no
include = /etc/samba/dhcp.conf
name resolve order = lmhosts host wins bcast
dns proxy = no
preserve case = yes
short preserve case = yes
unix password sync = false
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n
*Retype\snew\sUNIX\spassword:* %n\n .
max log size = 1000
obey pam restrictions = yes
;*******************section homes*****************
[homes]
comment = Home Directories
browseable = yes
guest ok = no
read only = yes
create mask = 0700
directory mask = 0700
;*******************section printers*****************
[printers]
comment = All Printers
path = /var/spool/samba
browseable = False
guest ok = yes
#use client driver = yes
printable = yes
public = yes
writable = no
printer admin = root
create mode = 0700
[print$]
comment = Printer Drivers
path = /etc/samba/drivers
browseable = yes
guest ok = no
read only = yes
write list = root
-----------------------------------------------------------