Fwd: Re: Using rpcclient to install printer drivers

T. William Schmidt wschmidt at starband.net
Mon Oct 29 08:49:04 GMT 2001

Hi all,

This is a re-post of a question I originally submitted 10/22.  There have 
been no responses, so I am trying again as this problem has us stalled in 
our tracks re managing printer drivers with rpcclient.

>>I am getting a fatal Signal 11 event when I use 
>>install_printer_drivers.pl on AIX 4.3.3 with Samba 2.2.1a so I would like 
>>to bring you up to date on my testing and get some additional advice.
>>Here is a quick and dirty summary of what I did, so far.  If you want me 
>>to elaborate further I shall but I will keep this message as short as 
>>possible and let the logs speak for themselves.
>>I downloaded from Source Forge all the Perl files associated with 
>>install_printer_drivers.pl, including mkprintpkg.pl.
>> From the admin of our NT printer server group I obtained the exploded 
>> driver package for the HP DesignJet 750 series.  There is nothing magic 
>> about this package.  It is representative of what we are trying to 
>> achieve and was chosen at random to prove the concept.
>>I had to modify HP_750_1.INF that came with the package in order to use 
>>it with mkprintpkg.pl.  Specifically I had to uncomment the Signature= 
>>expression for Windows NT (only Chicago was enabled), remove a reference 
>>to PSCRIPT.CNT and add a [Manufacturer] section title.  mkprintpkg.pl is 
>>very informative what kind of changes it requires to the .INF so that 
>>part was easy though alarming that it was necessary.  After these hacks I 
>>was able to create the package containing a control file defined as:
>>display_name="HP DesignJet 750C"
>>model="HP DesignJet 750C/PS"
>>I then modified install_printer_drivers.pl to disable downloading the 
>>driver package from the imprints server at samba.org and directly call 
>>the Perl function install_package() passing a file reference to the 
>>package I created with mkprintpkg.pl. The net result of this was the 
>>Signal 11.  The Samba log called out the error in 
>>printing/nt_printing.c:move_driver_to_download_area(1389) which I 
>>determined to be in Step #4 in Perl rpc_client_wrapper() so I increased 
>>the debug level argument to 10 in the rpcclient "addprinter" call and got 
>>the following logs:
>> From log.smbd:
>>   vistadev ( connect to service print$ as user jftl64 
>> (uid=402, gid=318) (pid 21306)
>>[2001/10/18 10:06:50, 0] 
>>   move_driver_to_download_area: Unable to rename [W32X86/_] to [W32X86/2/_]
>Notice here a new_name/old_name reference to a file in the driver 
>collection resolves to '_'.  Is this faulty tokenizing?
>>[2001/10/18 10:06:50, 1] smbd/service.c:close_cnum(646)
>>   vistadev ( closed connection to service print$
>>[2001/10/18 10:06:50, 0] lib/fault.c:fault_report(40)
>>   ===============================================================
>>[2001/10/18 10:06:50, 0] lib/fault.c:fault_report(41)
>>   INTERNAL ERROR: Signal 11 in pid 21308 (2.2.1a)
>>   Please read the file BUGS.txt in the distribution
>>[2001/10/18 10:06:50, 0] lib/fault.c:fault_report(43)
>>   ===============================================================
>>[2001/10/18 10:06:50, 0] lib/util.c:smb_panic(1101)
>>   PANIC: internal error

 From redirecting STDOUT and STDERR from executing 
install_printer_driver.pl with Step #4 set to -d 10:

smbclient //VISTADEV/print$ -A /home/imisexp/src/perl/.user -d 1 -c 
"prompt; cd W32X86; put hp_750_1.ppd; put pscrptui.dll; put pscript.hlp; 
put pscript.dll"
INFO: Debug class all level = 1 (pid 33212 from pid 33212)
added interface ip= bcast= nmask=
Domain=[CORP] OS=[Unix] Server=[Samba 2.2.1a]
putting file hp_750_1.ppd as \W32X86\hp_750_1.ppd (1159.8 kb/s) (average 
1159.8 kb/s)
[rpc]: putting file hp_750_1.ppd as \W32X86\hp_750_1.ppd (1159.8 kb/s) 
(average 1159.8 kb/s)
putting file pscrptui.dll as \W32X86\pscrptui.dll (4494.0 kb/s) (average 
3191.6 kb/s)
[rpc]: putting file pscrptui.dll as \W32X86\pscrptui.dll (4494.0 kb/s) 
(average 3191.6 kb/s)
putting file pscript.hlp as \W32X86\pscript.hlp (434.4 kb/s) (average 
2272.5 kb/s)
[rpc]: putting file pscript.hlp as \W32X86\pscript.hlp (434.4 kb/s) 
(average 2272.5 kb/s)
putting file pscript.dll as \W32X86\pscript.dll (7345.3 kb/s) (average 
3480.3 kb/s)
[rpc]: putting file pscript.dll as \W32X86\pscript.dll (7345.3 kb/s) 
(average 3480.3 kb/s)
rpcclient vistadev -d 3 -A /home/imisexp/src/perl/.user -c "adddriver 
\"Windows NT x86\" \"HP DesignJet 
Initialising global parameters
params.c:pm_process() - Processing configuration file 
Processing section "[global]"
INFO: Debug class all level = 1 (pid 33214 from pid 33214)
added interface ip= bcast= nmask=
resolve_lmhosts: Attempting lmhosts lookup for name vistadev<0x20>
resolve_hosts: Attempting host lookup for name vistadev<0x20>
Connecting to at port 139
session setup ok
Domain=[CORP] OS=[Unix] Server=[Samba 2.2.1a]
rpcclient vistadev -d 10 -A /home/imisexp/src/perl/.user -c "addprinter 
\"HP DesignJet 750C/PS\" \"EngrSDPS\" \"HP DesignJet 750C/PS\" \"Samba 
Printer Port\""
Initialising global parameters

This error seems to be associated with the notion of "driver dependent" 
files but to my knowledge, there are none of these in this particular 
package.  The smbd has determined that there is a file present whose name 
resolves to '_', but there is no such file and the inference is that smbd 
is tokenizing a Postscript definition file named hp_750_1.ppd incorrectly.

Any ideas would be greatly appreciated.

Will Schmidt
SW Engineer/Consultant
Kipe & Associates       currently on assignment @ Freightliner LLC
Portland, OR
(541) 462-3160
(541) 462-3899 fax
-------------- next part --------------
HTML attachment scrubbed and removed

More information about the samba mailing list