We have a linux/samba/netatalk print server as our organization's
primary print server with roughly 120 printers currently installed and
about 100 more to go. I followed the CUPS documentation to the letter,
as you did, and had unending trouble with bad output from windows
clients. I tried dozens of ppds from many different sources all with
little success, and very unreliable printing across the board. After
months of trouble and a Helpdesk that was about to lynch me, I arrived
at a solution: raw queues.
In this scenario, do not rely on cupsaddsmb to take your ppd and package
it up for the windows clients. Instead set up raw queues with no ppd,
and then set up Samba to run the Add Printer Wizard from a remote
client. This is probably the best place to start:
http://www.linuxprinting.org/kpfeifle/SambaPrintHOWTO/
Look at 11th draft.
Once set up this way, you will set up raw CUPS queues and then add
drivers from a remote Windows client through Samba (you can even plug
scripts into the APW to take care of adding a CUPS printer). You can
add drivers for other OSes as you normally would on a Windows print
server, change settings, etc. Nothing will be greyed out to printer
admins.
We have had very little trouble from a print quality standpoint since
making the switch. If I had taken the server in this direction 8 months
ago, I would have avoided a lot of pain. In fact, even thinking about
someone else going through that is painful:) Following this method will
make your server function identically to a Windows print server.
--
Jeff Hardy
Systems Administrator
SUNY Potsdam
hardyjm@potsdam.edu
On Mon, 2004-01-26 at 17:57, Daniel Kasak wrote:> Hi all.
>
> I have Samba-3.0.1 sharing 2 printers via the 'share all printers'
> feature - the printers are an HP 4500 colour laser, and a Ricoh Aficio
> AP3200 ( accepting jobs like a network HP does ).
>
> I followed the instructions on the CUPS website for sharing printers
> with the CUPS windows driver, using their 'cupsaddsmb' script,
which
> basically takes your existing ppd file, and adds a couple of dlls ( the
> cups driver bit ) and chucks them in the printer$ share for Windows
> clients to download when they connect.
>
> This all appeared to work flawlessly. I can right-click in the shared
> printers in the network neighbourhood and click 'connect' and the
> printer driver is downloaded.
>
> The first issue ( which is probably more of a CUPS issue than a Samba
> issue ) is that the margins are wrong. The margins are perfect via
> Linux. Margin settings are taken from the foomatic-generated ppd file,
> and I've checked them against the manufacturer-issued ones. I've
also
> checked the Windows clients, and they are in fact using the same ppd
> file that gets downloaded upon connecting. So something is going wrong
> somewhere, and the left-hand margin is too big on both printers, and the
> top margin is too big on the HP 4500. If anyone know the the problem is,
> I'd be oh-so-grateful to hear from you :)
>
> The next issue is that I can't update the printer config now that
it's
> set up. If I log into a Windows machine as root, samba will let me
> upload new drivers ( manufactured-issed ones to replace the CUPS Windows
> drivers ) to the printer$ share via the 'advanced' tab of the
printer
> config dialog, when I click on 'apply' to select the uploaded
driver, I
> get an error:
>
> 'Printer settings could not be saved. Access is denied'.
>
> The drivers are being uploaded to the printer$ share, and I can select
> them for use in a single print 'session' and everything works OK,
but I
> can't make them the default drivers!
>
> One strange thing is that while I'm continually pressing on the
'apply'
> button, there is no logging being generated in /var/log/samba. So this
> looks like a permissions problem on the Windows client??? At any rate,
> it is preventing me from sharing the printers via samba, so if anyone
> knows what this issue is caused by, I'd also be very grateful to hear
> from you.
>
> Thanks!
>
> Dan
>
> smb.conf:
>
> #
> #======================= Global Settings
> ====================================> [global]
> dns proxy = no
> load printers = yes
> netbios name = screamer
> printing = cups
> server string = Samba Server %v
> socket options = TCP_NODELAY
> password server = NUS_AUST_NT
> workgroup = NUSAUS
> debug level = 1
> bind interfaces only = true
> interfaces = 10.146.0.254/255.255.0.0
> null passwords = yes
> encrypt passwords = yes
> security = domain
> preferred master = no
> max log size = 50
> use client driver = yes
>
> [install]
> writable = yes
> printable = no
> path = /mnt/stuff/smb_shares/install
> force directory mode = 777
> force group = nobody
> force create mode = 777
> comment = Installation Stuff
> create mode = 777
> public = yes
> directory mode = 777
>
> [htdocs]
> path = /var/www/localhost/htdocs
> writable = yes
> printable = no
> public = yes
>
> [printers]
> comment = All Printers
> path = /var/spool/samba
> browseable = no
> public = yes
> guest ok = yes
> writeable = no
> printable = yes
> printer admin = root
>
> [print$]
> browseable = yes
> comment = Printer Drivers
> writeable = yes
> write list = root
> path = /etc/samba/drivers
>
> --
> Daniel Kasak
> IT Developer
> NUS Consulting Group
> Level 5, 77 Pacific Highway
> North Sydney, NSW, Australia 2060
> T: (+61) 2 9922-7676 / F: (+61) 2 9922 7989
> email: dkasak@nusconsulting.com.au
> website: http://www.nusconsulting.com.au