Printing to Windows Vista printer from Linux

Today my head hurts. It appears that Linux clients cannot access Microsoft Windows Vista shares or printers, because Microsoft changed sharing protocol from SMB to SMB2 in Windows Vista. In theory, if the client doesn’t support SMB2, Vista server should fall back to old and faithful working SMB. In practice, Linux Samba clients have a bug (still in Ubuntu Feisty Fawn and Samba 3.0.24) and this doesn’t happen.

You get this error to CUPS logs:

E [20/Aug/2007:18:43:25 +0300] [Job 141]
No ticket cache found for userid=1000

E [20/Aug/2007:18:43:25 +0300] [Job 141]
Can not get the ticket cache for moo

E [20/Aug/2007:18:43:25 +0300] [Job 141]
Session setup failed: NT_STATUS_LOGON_FAILURE

E [20/Aug/2007:18:43:25 +0300] [Job 141]
Tree connect failed (NT_STATUS_ACCESS_DENIED)

E [20/Aug/2007:18:43:25 +0300] [Job 141]
Unable to connect to CIFS host, will retry in 60 seconds...

Even worse, CUPS and Gnome UI fail silently. The printer shows a status “still printing” and no error is reported to the user

You can still print to Windows Vista server if you install LPD printer sharing on Windows Vista. Both CUPS printer manager and Vista supports LPD protocol for printing. Follow these excellent instructions.

Now, back to the work after 3 hours of unneeded bang-my-head-to-wall.

EDIT: This seems to be fixed in Samba 3.0.25.

One thought on “Printing to Windows Vista printer from Linux

  1. This has been fixed and you can now connect to shares and printers on Vista. Make sure your smbclient (and dependencies) versions are up to date. Current version is 3.025c

    Also looking at your CUPS log, it may be possible your problem could be with the account credentials that were used. Maybe incorrect (either account name or password)?

    -Mike

Leave a Reply

Your email address will not be published. Required fields are marked *