T. William Schmidt
2001-Oct-29 08:49 UTC
Fwd: Re: Using rpcclient to install printer drivers
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: >> >>[common] >>name=hp750 >>version=1.0 >>display_name="HP DesignJet 750C" >> >>[W32X86] >>inf_fname=HP_750_1.INF >>manufacturer="HP" >>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 (170.2.0.224) connect to service print$ as user jftl64 >> (uid=402, gid=318) (pid 21306) >>[2001/10/18 10:06:50, 0] >>printing/nt_printing.c:move_driver_to_download_area(1389) >> 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 (170.2.0.224) 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 errorFrom 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=170.2.0.224 bcast=170.2.1.255 nmask=255.255.254.192 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 750C/PS:PSCRIPT.DLL:HP_750_1.PPD:PSCRPTUI.DLL:PSCRIPT.HLP:NULL:RAW:hp_750_1.ppd,pscrptui.dll,pscript.hlp,pscript.dll\"" Initialising global parameters params.c:pm_process() - Processing configuration file "/usr/local/samba/lib/smb.conf" Processing section "[global]" INFO: Debug class all level = 1 (pid 33214 from pid 33214) added interface ip=170.2.0.224 bcast=170.2.1.255 nmask=255.255.254.192 resolve_lmhosts: Attempting lmhosts lookup for name vistadev<0x20> resolve_hosts: Attempting host lookup for name vistadev<0x20> Connecting to 170.2.0.224 at port 139 session setup ok Domain=[CORP] OS=[Unix] Server=[Samba 2.2.1a] result was NT_STATUS_NOT_IMPLEMENTED 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. Regards, 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