18.19.1 Windows 9x/ME Client Can't Install Driver
For Windows 9x/ME, clients require the printer names to be eight characters (or " 8 plus 3 chars suffix ") max; otherwise , the driver files will not get transferred when you want to download them from Samba.
18.19.2 " cupsaddsmb " Keeps Asking for Root Password in Never-ending Loop
Have you security = user ? Have you used smbpasswd to give root a Samba account? You can do two things: open another terminal and execute smbpasswd -a root to create the account and continue entering the password into the first terminal. Or break out of the loop by pressing ENTER twice (without trying to type a password).
18.19.3 " cupsaddsmb " Errors
The use of " cupsaddsmb " gives " No PPD file for printer... " Message While PPD File Is Present. What might the problem be?
Have you enabled printer sharing on CUPS? This means: Do you have a < Location/printers > .... < /Location > section in CUPS server's cupsd.conf that does not deny access to the host you run " cupsaddsmb " from? It could be an issue if you use cupsaddsmb remotely, or if you use it with a -h parameter: cupsaddsmb -H sambaserver -h cupsserver -v printername .
Is your TempDir directive in cupsd.conf set to a valid value and is it writeable ?
18.19.4 Client Can't Connect to Samba Printer
Use smbstatus to check which user you are from Samba's point of view. Do you have the privileges to write into the [print$] share?
18.19.5 New Account Reconnection from Windows 200x/XP Troubles
Once you are connected as the wrong user (for example, as nobody , which often occurs if you have map to guest = bad user), Windows Explorer will not accept an attempt to connect again as a different user. There will not be any byte transfered on the wire to Samba, but still you'll see a stupid error message that makes you think Samba has denied access. Use smbstatus to check for active connections. Kill the PIDs. You still can't reconnect and you get the dreaded You can't connect with a second account from the same machine message, as soon as you are trying. And you do not see any single byte arriving at Samba (see logs; use " ethereal ") indicating a renewed connection attempt. Shut all Explorer Windows. This makes Windows forget what it has cached in its memory as established connections. Then reconnect as the right user. The best method is to use a DOS terminal window and first do net use z: \\GANDALF\print$ /user:root . Check with smbstatus that you are connected under a different account. Now open the Printers folder (on the Samba server in the Network Neighborhood ), right-click on the printer in question and select Connect...
18.19.6 Avoid Being Connected to the Samba Server as the Wrong User
You see per smbstatus that you are connected as user nobody; while you want to be root or printeradmin. This is probably due to map to guest = bad user, which silently connects you under the guest account when you gave (maybe by accident ) an incorrect username. Remove map to guest , if you want to prevent this.
18.19.7 Upgrading to CUPS Drivers from Adobe Drivers
This information came from a mailinglist posting regarding problems experienced when upgrading from Adobe drivers to CUPS drivers on Microsoft Windows NT/200x/XP Clients.
First delete all old Adobe-using printers. Then delete all old Adobe drivers. (On Windows 200x/XP, right-click in the background of Printers folder, select Server Properties... , select tab Drivers and delete here).
18.19.8 Can't Use " cupsaddsmb " on Samba Server Which Is a PDC
Do you use the " naked " root user name ? Try to do it this way: cupsaddsmb -U DOMAINNAME \\root -v printername > (note the two backslashes: the first one is required to " escape " the second one).
18.19.9 Deleted Windows 200x Printer Driver Is Still Shown
Deleting a printer on the client will not delete the driver too (to verify, right-click on the white background of the Printers folder, select Server Properties and click on the Drivers tab). These same old drivers will be re-used when you try to install a printer with the same name. If you want to update to a new driver, delete the old ones first. Deletion is only possible if no other printer uses the same driver.
18.19.10 Windows 200x/XP "Local Security Policies"
Local Security Policies may not allow the installation of unsigned drivers. " Local Security Policies " may not allow the installation of printer drivers at all.
18.19.11 Administrator Cannot Install Printers for All Local Users
Windows XP handles SMB printers on a " per-user " basis. This means every user needs to install the printer himself. To have a printer available for everybody, you might want to use the built-in IPP client capabilities of WinXP. Add a printer with the print path of http://cupsserver:631/printers/printername . We're still looking into this one. Maybe a logon script could automatically install printers for all users.
18.19.12 Print Change Notify Functions on NT-clients
For print change, notify functions on NT++ clients. These need to run the Server service first ( renamed to File & Print Sharing for MS Networks in XP).
WinXP-SP1 introduced a Point and Print Restriction Policy (this restriction does not apply to " Administrator " or " Power User " groups of users). In Group Policy Object Editor, go to User Configuration -> Administrative Templates -> Control Panel -> Printers . The policy is automatically set to Enabled and the Users can only Point and Print to machines in their Forest . You probably need to change it to Disabled or Users can only Point and Print to these servers to make driver downloads from Samba possible.
18.19.14 Print Options for All Users Can't Be Set on Windows 200x/XP
How are you doing it? I bet the wrong way (it is not easy to find out, though). There are three different ways to bring you to a dialog that seems to set everything. All three dialogs look the same, yet only one of them does what you intend. You need to be Administrator or Print Administrator to do this for all users. Here is how I do in on XP:
Do you see any difference? I don't either. However, only the last one, which you arrived at with steps " C.1.-6 .", will save any settings permanently and be the defaults for new users. If you want all clients to get the same defaults, you need to conduct these steps as Administrator ( printer admin in smb.conf ) before a client downloads the driver (the clients can later set their own per-user defaults by following the procedures A or B above).
18.19.15 Most Common Blunders in Driver Settings on Windows Clients
Don't use Optimize for Speed , but use Optimize for Portability instead (Adobe PS Driver). Don't use Page Independence: No : always settle with Page Independence: Yes (Microsoft PS Driver and CUPS PS Driver for Windows NT/200x/XP). If there are problems with fonts, use Download as Softfont into printer (Adobe PS Driver). For TrueType Download Options choose Outline . Use PostScript Level 2, if you are having trouble with a non-PS printer and if there is a choice.
18.19.16 cupsaddsmb Does Not Work with Newly Installed Printer
Symptom: The last command of cupsaddsmb does not complete successfully: cmd = setdriver printername printername result was NT_STATUS_UNSUCCESSFUL then possibly the printer was not yet recognized by Samba. Did it show up in Network Neighborhood? Did it show up in rpcclient hostname -c ' enumprinters ' ? Restart smbd (or send a kill -HUP to all processes listed by smbstatus and try again.
18.19.17 Permissions on /var/spool/samba/ Get Reset After Each Reboot
Have you ever by accident set the CUPS spool directory to the same location? ( RequestRoot/var/spool/samba/ in cupsd.conf or the other way round: /var/spool/cups/ is set as path > in the [printers] section). These must be different. Set RequestRoot /var/spool/cups/ in cupsd.conf and path = /var/spool/samba in the [printers] section of smb.conf . Otherwise cupsd will sanitize permissions to its spool directory with each restart and printing will not work reliably.
18.19.18 Print Queue Called " lp " Mis-handles Print Jobs
In this case a print queue called " lp " intermittently swallows jobs and spits out completely different ones from what was sent.
It is a bad idea to name any printer " lp ". This is the traditional UNIX name for the default printer. CUPS may be set up to do an automatic creation of Implicit Classes. This means, to group all printers with the same name to a pool of devices, and load-balancing the jobs across them in a round- robin fashion. Chances are high that someone else has a printer named " lp " too. You may receive his jobs and send your own to his device unwittingly. To have tight control over the printer names, set BrowseShortNames No . It will present any printer as printername@cupshost and then gives you better control over what may happen in a large networked environment.
18.19.19 Location of Adobe PostScript Driver Files for " cupsaddsmb "
Use smbclient to connect to any Windows box with a shared PostScript printer: smbclient//windowsbox/print\$ -U guest . You can navigate to the W32X86/2 subdir to mget ADOBE* and other files or to WIN40/0 to do the same. Another option is to download the *.exe packaged files from the Adobe Web site.