I know this is a commonly asked question but I'm read up everything I can find, and I think I'm very nearly there!

The setup is:

Headless Ubuntu Trusty machine with CUPS and SAMBA installed, ready to act as a print server for a network printer. Using the web interface, CUPS discovered the network printer by IP address and I found a PDD file for it somewhere. Installs and prints fine from the web interface; I've set up sharing and things like black and white default.

I've tried adding the printer to my Windows 7 workstation via Add Network Printer, using the format: http://machinename:631/printers/printername which works fine, but I have to provide the location of the relevant drivers.

If I browse to the machine via Start > Run > \\machinename I can see the printer and connect to it that way too, but again I have to point the installer at the drivers.

What I want to deploy is the correct hosting of the drivers inside \\machinename\print$ so that Windows finds them when you try to connect to the shared printer.

To do this, I explored the print$ share of a Windows machine that currently acts as a print server for the same device (the idea is to replace this Windows machine with the Ubuntu CUPS solution).

In there, I found the expected folders that contained all the driver files, and I copied these to the relevant location on the CUPS machine.

However, even though as a client I can browse and download these drivers, Windows still wants the driver location when I connect to the printer.

Any idea what I'm missing?



cupsaddsmb is the missing link here. There's a (rather old, 2004) how-to in the Samba manual that covers the exact steps, but there are more recent ones if you search around (like this one from 2010). Simplified:

  • add a print$ share in smb.conf if it doesn't already exist
  • move the Windows drivers into /usr/share/cups/drv
  • run cupsaddsmb -H localhost -U root -a -v

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.