If the printcap entry (generated by CUPS) has more then 16 characters you won't get any printer listing in samba, if you do not have set the printing parameter If you set printing = CUPS it works, however if you set printing = CUPS printcap = cups it does work not. If your printer Alias has no whitespaces, the first column of /etc/printcap works with more then 16+ characters however, then the second colun is limited to 16 characters. From what I found on the net M$ has a Limitation on Printer Names when printing using the unix lpr service, however this is Printer Share and *not* Microsofts lpr service. Below are the results I tracked down ( I have just tested this with only 1 printer listed in /etc/printcap) /etc/printcap WORKS PrinterSomethin|HP DeskJet 970C:rm=hauptserver.some-domain.local:rp=PrinterSomethin: Printer123Somethin|HP-DeskJet-970C:rm=hauptserver.some-domain.local:rp=Printer123Somethin: WORKS NOT PrinterSomething|HP DeskJet 970C:rm=hauptserver.some-domain.local:rp=PrinterSomething: PrinterSomethin|HP-DeskJet-970CA:rm=hauptserver.some-domain.local:rp=PrinterSomethin: Additionally you find this in the logs [2007/08/08 19:02:59, 1] smbd/ipc.c:api_fd_reply(290) api_fd_reply: INVALID PIPE HANDLE: 76de So if you decide that this is not Bug, then the documentation of smb.conf(5) has to be updated to reflect this limitation.
Sorry the last testcase should have read PrinterSomething|HP-DeskJet-970CA:rm=hauptserver.some-domain.local:rp=PrinterSomething: (Note the 'g')