I've been experiencing a problem with the automatic printer driver download function described in printer_driver2.html under Samba 2.2.5 on Red Hat 7.2. I believe that I have followed the doc correctly and in fact the driver uploads/downloads seem to work if I use a small driver set (like the Apple Laserwriter v23.0) that comes with Windows NT 4.0. The problem is that I cannot seem to set up the printer with it's actual driver set "Lexmark Optra T616". The steps I take to reproduce are: 1. Browse to the machine by IP 2. Go into the Printers folder 3. Right click on the printer and open Properties 4. Click the "New Driver" button 5. Point it to the INI file for the Lexmark Optra T616 driver set At that point it appears to copy all of the files over to the print$ share. What is does from there seems to change. Sometimes it hangs for as much as 30 minutes, slowly adding to the samba debug log only stopping when I kill smbd. In other cases it comes back stating that it couldn't switch to the new driver and it reverts back to the original settings (nothing). The print$ share on the Samba server does indeed have all of the driver files. "enumdrivers" lists the Lexmark Optra T616 driver and "enumprinters" lists the printer (testlp) with the driver included. The smb.conf file is: [global] encrypt passwords = Yes map to guest = Bad User keepalive = 30 os level = 2 kernel oplocks = No printer admin = @ntadmin [printers] comment = All Printers path = /tmp create mask = 0700 printable = Yes browseable = No [print$] path = /usr/local/samba/printers write list = @ntadmin,root Log level 1 of the problem: [2002/08/01 14:29:29, 1] smbd/service.c:make_connection(651) nt4etr (9.3.131.158) connect to service print$ as user adam (uid=502, gid=503) (pid 15383) [2002/08/01 14:29:33, 1] smbd/service.c:make_connection(651) nt4etr (9.3.131.158) connect to service print$ as user adam (uid=502, gid=503) (pid 15383) [2002/08/01 14:29:33, 1] smbd/service.c:close_cnum(690) nt4etr (9.3.131.158) closed connection to service print$ [2002/08/01 14:29:33, 1] smbd/service.c:make_connection(651) nt4etr (9.3.131.158) connect to service print$ as user adam (uid=502, gid=503) (pid 15383) [2002/08/01 14:29:33, 1] smbd/service.c:close_cnum(690) nt4etr (9.3.131.158) closed connection to service print$ [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(606) spoolss_io_devmode: Unknown specversion in devicemode [0x6f] [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(608) spoolss_io_devmode: please report to samba-technical@samba.org! [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(704) spoolss_io_devmode: I've parsed all I know and there is still stuff left| [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(705) spoolss_io_devmode: available_space = [-112], devmode_size = [108]! [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(707) spoolss_io_devmode: please report to samba-technical@samba.org! [2002/08/01 14:29:38, 0] rpc_server/srv_spoolss.c:api_spoolss_open_printer_ex(72) spoolss_io_q_open_printer_ex: unable to unmarshall SPOOL_Q_OPEN_PRINTER_EX. [2002/08/01 14:29:38, 0] rpc_server/srv_pipe.c:api_rpcTNP(1200) api_rpcTNP: api_spoolss_rpc: SPOOLSS_OPENPRINTEREX failed. I have a log level 6 also available if it would be helpful. Any help you could offer would be much appreciated. Adam Bottchen bottchen@us.ibm.com
Adam, I encountered the same issue. A quick look on Google showed that this is not unique to Linux either. There is a patch, but it didn't make much difference. After fighting is a few days I gave up and set "disable spoolss" to "yes", and "show add printer wizard" to "no" in the global section. I then deleted the print$ share, and placed the 9x, NT/2000 and XP drivers in a read-only share that everyone could access (even guest and bad user). I commonly do this in 30 client environments. I usually need to visit every desk anyway, so now I have to install the print drivers manually. Hopefully this will be solved someday, I don't believe it is a Samba issue per se. Jerry may want to elaborate on the issue... One benefit - one 2000/XP/NT user can't hose the printer properties for the other 2000/XP/NT users (like they can in 2000 server). Everyone has his or her own drivers, which makes troubleshooting bad print drivers a bit easier. I know this isn't the answer you were looking for, but it really made my life easier. I now have no fear of deploying a linux/samba server. Fewer problems all around. Steve ----- Original Message ----- From: "Adam Bottchen" <bottchen@us.ibm.com> To: <samba@lists.samba.org> Sent: Thursday, August 01, 2002 5:55 PM Subject: [Samba] Problems with SPOOLSS WinNT driver uploads> > I've been experiencing a problem with the automatic printer driver > download function described in printer_driver2.html under Samba 2.2.5 on > Red Hat 7.2. I believe that I have followed the doc correctly and in fact > the driver uploads/downloads seem to work if I use a small driver set(like> the Apple Laserwriter v23.0) that comes with Windows NT 4.0. > The problem is that I cannot seem to set up the printer with it's > actual driver set "Lexmark Optra T616". The steps I take to reproduceare:> > 1. Browse to the machine by IP > 2. Go into the Printers folder > 3. Right click on the printer and open Properties > 4. Click the "New Driver" button > 5. Point it to the INI file for the Lexmark Optra T616 driver set > > At that point it appears to copy all of the files over to the print$share.> What is does from there seems to change. Sometimes it hangs for as muchas> 30 minutes, slowly adding to the samba debug log only stopping when I kill > smbd. In other cases it comes back stating that it couldn't switch to the > new driver and it reverts back to the original settings (nothing). The > print$ share on the Samba server does indeed have all of the driver files. > "enumdrivers" lists the Lexmark Optra T616 driver and "enumprinters" lists > the printer (testlp) with the driver included. The smb.conf file is: > > [global] > encrypt passwords = Yes > map to guest = Bad User > keepalive = 30 > os level = 2 > kernel oplocks = No > printer admin = @ntadmin > > [printers] > comment = All Printers > path = /tmp > create mask = 0700 > printable = Yes > browseable = No > > [print$] > path = /usr/local/samba/printers > write list = @ntadmin,root > > Log level 1 of the problem: > > [2002/08/01 14:29:29, 1] smbd/service.c:make_connection(651) > nt4etr (9.3.131.158) connect to service print$ as user adam (uid=502, > gid=503) (pid 15383) > [2002/08/01 14:29:33, 1] smbd/service.c:make_connection(651) > nt4etr (9.3.131.158) connect to service print$ as user adam (uid=502, > gid=503) (pid 15383) > [2002/08/01 14:29:33, 1] smbd/service.c:close_cnum(690) > nt4etr (9.3.131.158) closed connection to service print$ > [2002/08/01 14:29:33, 1] smbd/service.c:make_connection(651) > nt4etr (9.3.131.158) connect to service print$ as user adam (uid=502, > gid=503) (pid 15383) > [2002/08/01 14:29:33, 1] smbd/service.c:close_cnum(690) > nt4etr (9.3.131.158) closed connection to service print$ > [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(606) > spoolss_io_devmode: Unknown specversion in devicemode [0x6f] > [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(608) > spoolss_io_devmode: please report to samba-technical@samba.org! > [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(704) > spoolss_io_devmode: I've parsed all I know and there is still stuffleft|> [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(705) > spoolss_io_devmode: available_space = [-112], devmode_size = [108]! > [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(707) > spoolss_io_devmode: please report to samba-technical@samba.org! > [2002/08/01 14:29:38, 0] > rpc_server/srv_spoolss.c:api_spoolss_open_printer_ex(72) > spoolss_io_q_open_printer_ex: unable to unmarshall > SPOOL_Q_OPEN_PRINTER_EX. > [2002/08/01 14:29:38, 0] rpc_server/srv_pipe.c:api_rpcTNP(1200) > api_rpcTNP: api_spoolss_rpc: SPOOLSS_OPENPRINTEREX failed. > > I have a log level 6 also available if it would be helpful. Any help you > could offer would be much appreciated. > > Adam Bottchen > bottchen@us.ibm.com > > > > > > -- > To unsubscribe from this list go to the following URL and read the > instructions: http://lists.samba.org/mailman/listinfo/samba
Thanks alot for the response Steve. Unfortunately, as you suspected this Linux installation is looking to replace a Windows NT print server and therefore the users want it to automatically handle the driver installation (like it does when a Windows NT server is used). It seems that the problem is in the number of files that are downloaded. When I use a printer driver set that is 5-10 files, it works perfectly, just as the documentation states. When I use a driver set of 40+ files (like the Lexmark Optra T616), I run into random problems and it fails. Is there a buffer or file transfer mechanism within Samba or Windows NT that would run into problems when more than 40 files are downloaded in the driver set? Adam Bottchen bottchen@us.ibm.com Adam, I encountered the same issue. A quick look on Google showed that this is not unique to Linux either. There is a patch, but it didn't make much difference. After fighting is a few days I gave up and set "disable spoolss" to "yes", and "show add printer wizard" to "no" in the global section. I then deleted the print$ share, and placed the 9x, NT/2000 and XP drivers in a read-only share that everyone could access (even guest and bad user). I commonly do this in 30 client environments. I usually need to visit every desk anyway, so now I have to install the print drivers manually. Hopefully this will be solved someday, I don't believe it is a Samba issue per se. Jerry may want to elaborate on the issue... One benefit - one 2000/XP/NT user can't hose the printer properties for the other 2000/XP/NT users (like they can in 2000 server). Everyone has his or her own drivers, which makes troubleshooting bad print drivers a bit easier. I know this isn't the answer you were looking for, but it really made my life easier. I now have no fear of deploying a linux/samba server. Fewer problems all around. Steve
Gerald (Jerry) Carter
2002-Aug-14 21:07 UTC
[Samba] Problems with SPOOLSS WinNT driver uploads
On Thu, 1 Aug 2002, Adam Bottchen wrote:> [2002/08/01 14:29:29, 1] smbd/service.c:make_connection(651) > nt4etr (9.3.131.158) connect to service print$ as user adam (uid=502, > gid=503) (pid 15383) > [2002/08/01 14:29:33, 1] smbd/service.c:make_connection(651) > nt4etr (9.3.131.158) connect to service print$ as user adam (uid=502, > gid=503) (pid 15383) > [2002/08/01 14:29:33, 1] smbd/service.c:close_cnum(690) > nt4etr (9.3.131.158) closed connection to service print$ > [2002/08/01 14:29:33, 1] smbd/service.c:make_connection(651) > nt4etr (9.3.131.158) connect to service print$ as user adam (uid=502, > gid=503) (pid 15383) > [2002/08/01 14:29:33, 1] smbd/service.c:close_cnum(690) > nt4etr (9.3.131.158) closed connection to service print$ > [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(606) > spoolss_io_devmode: Unknown specversion in devicemode [0x6f] > [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(608) > spoolss_io_devmode: please report to samba-technical@samba.org! > [2002/08/01 14:29:38, 0] rpc_parse/parse_spoolss.c:spoolss_io_devmode(704) > spoolss_io_devmode: I've parsed all I know and there is still stuff left| > spoolss_io_devmode: available_space = [-112], devmode_size = [108]!^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Please send me a level 10 debug log of this along with a zipfile (or tarball) of the exact printers you are using. Something is very wrong here. If you can do this, i'll fix the bug for you. cheers, jerry --------------------------------------------------------------------- Hewlett-Packard http://www.hp.com SAMBA Team http://www.samba.org -- http://www.plainjoe.org "Sam's Teach Yourself Samba in 24 Hours" 2ed. ISBN 0-672-32269-2 --"I never saved anything for the swim back." Ethan Hawk in Gattaca--