rpcclient enumdrivers fails with WERR_UNKNOWN_PRINTER_DRIVER
6 answers - 1339 bytes -

Hello
I've just updated to Samba version 3.0.22 (previously v3.0.4a)
and get the following problem:
rpcclient enumdrivers fails with WERR_UNKNWN_PRINTER_DRIVER
while rpcclient getdriver works just fine! Can this be?
$ rpcclient -c enumdrivers GUTENBERG
Password:
result was WERR_UNKNWN_PRINTER_DRIVER
$ rpcclient -c 'getdriver lg403-lj5000' GUTENBERG
Password:
[Windows NT x86]
Printer Driver Info 3:
Version: [3]
Driver Name: [HP LaserJet 5000 Series PCL 5e]
Architecture: [Windows NT x86]
Driver Path: [\\GUTENBERG\print$\W32X86\3\hpbf241g.dll]
Datafile: [\\GUTENBERG\print$\W32X86\3\hpbf241i.pmd]
Configfile: [\\GUTENBERG\print$\W32X86\3\hpbf241e.dll]
Helpfile: [\\GUTENBERG\print$\W32X86\3\hpbf241e.hlp]
Dependentfiles: [\\GUTENBERG\print$\W32X86\3\hpdcmon.dll]
Dependentfiles: [\\GUTENBERG\print$\W32X86\3\hpbftm32.dll]
Dependentfiles: [\\GUTENBERG\print$\W32X86\3\hpbafd32.dll]
Monitorname: []
Defaultdatatype: []
The (presumably) same behaviour also shows in Windows:
I can install drivers into the print$ share from a windows
client and it works. But the list of available drivers on
the server remains empty.
Any ideas on what causes this behaviour?
Thanks a lot,
Urs-Jakob
No.1 | | 794 bytes |
| 
PGP SIGNED MESSAGE
Hash: SHA1
Urs-Jakob Rueetschi wrote:
Hello
I've just updated to Samba version 3.0.22 (previously v3.0.4a)
and get the following problem:
rpcclient enumdrivers fails with WERR_UNKNWN_PRINTER_DRIVER
while rpcclient getdriver works just fine! Can this be?
$ rpcclient -c enumdrivers GUTENBERG
Password:
result was WERR_UNKNWN_PRINTER_DRIVER
EnumDrivers() does take a printer an as argument IIRC.
cheers, jerry
Samba http://www.samba.org
Centeris http://www.centeris.com
"What man is a man who does not make the world better?"
PGP SIGNATURE
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
cFWQUBJGw0jrxjLysxY=
=QNSa
PGP SIGNATURE
No.2 | | 1474 bytes |
| 
Gerald (Jerry) Carter wrote:
Urs-Jakob Rueetschi wrote:
Hello
I've just updated to Samba version 3.0.22 (previously v3.0.4a)
and get the following problem:
rpcclient enumdrivers fails with WERR_UNKNWN_PRINTER_DRIVER
while rpcclient getdriver works just fine! Can this be?
$ rpcclient -c enumdrivers GUTENBERG
Password:
result was WERR_UNKNWN_PRINTER_DRIVER
EnumDrivers() does take a printer an as argument IIRC.
Not so, according to 'man rpcclient':
enumdrivers [level]
Execute an EnumPrinterDrivers() call. This lists the various in-
stalled printer drivers for all architectures. Refer to the MS
Platform SDK documentation for more details of the various flags
and calling options. Currently supported info levels are 1, 2,
and 3.
This is another one that's been broken for me for ages. I think it used
to work before I had any/many drivers on the system. I got a few
installed, however, all bets were off. My personal wild guess is a
punctuation issue. I've run into this before, where a driver .INF
included punctuation somewhere in the driver spec that got
misinterpreted -- in that case I believe it was a parenthesis.
Here's what I get running that command:
rpcclient $enumdrivers
result was WERR_UNKNWN_PRINTER_DRIVER
What sort of info would be helpful to track this down? Level 10 debug, I
suppose?
No.3 | | 1362 bytes |
| 
PGP SIGNED MESSAGE
Hash: SHA1
Ryan Novosielski wrote:
>EnumDrivers() does take a printer an as argument IIRC.
Not so, according to 'man rpcclient':
My stupid typing again. It'll get me in deep trouble one day
Meant to say "does not take a printername"
This is another one that's been broken for me for ages.
I think it used to work before I had any/many
drivers on the system. I got a few
installed, however, all bets were off. My personal wild
guess is a punctuation issue. I've run into this before,
where a driver .INF included punctuation somewhere
in the driver spec that got misinterpreted -- in that
case I believe it was a parenthesis.
Here's what I get running that command:
rpcclient $enumdrivers
result was WERR_UNKNWN_PRINTER_DRIVER?
Wha!? Hmmmok. I'm convinced. I don't have time right
now to look into this. Could you send me an ethereal trace
of the failure ?
cheers, jerry
Samba http://www.samba.org
Centeris http://www.centeris.com
"What man is a man who does not make the world better?"
PGP SIGNATURE
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
f8iaXXs4xGJESsKaarCvb0=
=nZlm
PGP SIGNATURE
No.4 | | 1891 bytes |
| 
PGP SIGNED MESSAGE
Hash: SHA1
Gerald (Jerry) Carter wrote:
Ryan Novosielski wrote:
EnumDrivers() does take a printer an as argument IIRC.
Not so, according to 'man rpcclient':
My stupid typing again. It'll get me in deep trouble one day
Meant to say "does not take a printername"
This is another one that's been broken for me for ages.
I think it used to work before I had any/many
drivers on the system. I got a few
installed, however, all bets were off. My personal wild
guess is a punctuation issue. I've run into this before,
where a driver .INF included punctuation somewhere
in the driver spec that got misinterpreted -- in that
case I believe it was a parenthesis.
Here's what I get running that command:
rpcclient $enumdrivers
result was WERR_UNKNWN_PRINTER_DRIVER?
Wha!? Hmmmok. I'm convinced. I don't have time right
now to look into this. Could you send me an ethereal trace
of the failure ?
Not personally familiar with doing traces -- I'm assuming I would use
tcpdump to capture the output and then run a trace on the output with
ethereal, or can it be used to do the entire thing? Will it still work
if rpcclient and smbd are running on the same host?
I'd be happy to find out how it's done and get on that, just want to
make sure I'm on the right track. This is stuff I should already have
learned anyway. ;)
- --
_ _ _ _ _ _ _
|Y#| | | |\/| | \ |\ | | |Ryan Novosielski - User Support Spec. III
|$&| |__| | | |__/ | \| _| |novosirj (AT) umdnj (DOT) edu - 973/972.0922 (2-0922)
\__/ Univ. of Med. and Dent.|IST/AST - NJMS Medical Science Bldg - C630
PGP SIGNATURE
Version: GnuPG v1.4.2.2 (MingW32)
PfAYAGyJE9Smj7I2KJwQ2FI=
=ViQG
PGP SIGNATURE
No.5 | | 1057 bytes |
| 
PGP SIGNED MESSAGE
Hash: SHA1
Ryan Novosielski wrote:
Not personally familiar with doing traces -- I'm assuming I would use
tcpdump to capture the output and then run a trace on the output with
ethereal, or can it be used to do the entire thing? Will it still work
if rpcclient and smbd are running on the same host?
I'd be happy to find out how it's done and get on that, just want to
make sure I'm on the right track. This is stuff I should already have
learned anyway. ;)
Ryan,
The following command is sufficient for me (assuming ethernet)
$ tcpdump -n -w /tmp/dump.pcap -s 1514 port 139 or port 445
Just email me the dump.pcap file. Thanks,
cheers, jerry
Samba http://www.samba.org
Centeris http://www.centeris.com
"What man is a man who does not make the world better?"
PGP SIGNATURE
Version: GnuPG v1.4.2 (GNU/Linux)
Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org
X+DdcZJUJfJiTNUNWA==
=g/Y2
PGP SIGNATURE
No.6 | | 2149 bytes |
| 
PGP SIGNED MESSAGE
Hash: SHA1
Gerald (Jerry) Carter wrote:
Ryan Novosielski wrote:
Not personally familiar with doing traces -- I'm assuming I would use
tcpdump to capture the output and then run a trace on the output with
ethereal, or can it be used to do the entire thing? Will it still work
if rpcclient and smbd are running on the same host?
I'd be happy to find out how it's done and get on that, just want to
make sure I'm on the right track. This is stuff I should already have
learned anyway. ;)
Ryan,
The following command is sufficient for me (assuming ethernet)
$ tcpdump -n -w /tmp/dump.pcap -s 1514 port 139 or port 445
Just email me the dump.pcap file. Thanks,
Jerry,
Turns out the problem was partially my own. The error was caused by my
using //HSTNAME rather than just HSTNAME with rpcclient. When I omit
the slashes like I'm supposed to, there is no error message.
That said, it still doesn't work. I have a lot of printers with drivers
assigned that work fine but enumdrivers returns nothing. Here is an
excerpt from enumprinters, that illustrates the driver mapping:
flags:[0x800000]
name:[\\rwja-lm\ljpoff2]
description:[\\rwja-lm\ljpoff2,hp LaserJet 3380 PCL 6,ACS Piscataway -
S-B11 - HP LaserJet 4]
comment:[ACS Piscataway - S-B11 - HP LaserJet 4]
The dump.pcap file is attached to this message. I tried this on 3.0.22
this morning and it seems to work K (I run 3.0.11), however, like I
said, IIRC this breaks only after I have all of my production drivers in
place (which I don't have time to add to the development host that is
running 3.0.22 just yet).
HTH anyway,
- --
_ _ _ _ _ _ _
|Y#| | | |\/| | \ |\ | | |Ryan Novosielski - User Support Spec. III
|$&| |__| | | |__/ | \| _| |novosirj (AT) umdnj (DOT) edu - 973/972.0922 (2-0922)
\__/ Univ. of Med. and Dent.|IST/AST - NJMS Medical Science Bldg - C630
PGP SIGNATURE
Version: GnuPG v1.4.2.2 (MingW32)
J5YrQs6RTta2UlHE=
=AblK
PGP SIGNATURE