[Samba] Error when trying to print with point and print installed drivers

David Harrison david.harrison at stress-free.co.nz
Fri Jan 29 02:43:42 MST 2010


I have an Ubuntu Sever 9.10 setup running Samba as a PDC for a bunch of
Windows clients.
Everything is functioning perfectly except for the point and print delivery
of printer drivers.

I have tested this with Ubuntu 9.10's Samba (3.4.0) and two of the Debian
Samba packages (3.4.3 and 3.4.5). All seem to demonstrate the same problem.


*What works:*
Adding a printer and manually installing the drivers to the client works
perfectly.

Installing drivers and associating them to printers shared by Samba works
fine via the Windows GUI and the rpcclient tool. Adding the printer to a
Windows client also appears to work, i.e. the driver downloads, installs and
the printer is visible.

*What doesn't:*
Unfortunately when trying to print using the point and print configured
printer a generic 'failed to print' message is returned by Windows.


In the Samba logs there is the following error (this occurs when opening
preferences and trying to print):
------------------------------------

[2010/01/29 22:00:25,  1] smbd/service.c:1047(make_connection_snum)
  snowball (192.168.2.30) connect to service print$ initially as user david
(uid=1021, gid=513) (pid 2214)
[2010/01/29 22:00:31,  0] lib/fault.c:46(fault_report)
  ===============================================================
[2010/01/29 22:00:31,  0] lib/fault.c:47(fault_report)
  INTERNAL ERROR: Signal 11 in pid 2214 (3.4.5)
  Please read the Trouble-Shooting section of the Samba3-HOWTO
[2010/01/29 22:00:31,  0] lib/fault.c:49(fault_report)

  From: http://www.samba.org/samba/docs/Samba3-HOWTO.pdf
[2010/01/29 22:00:31,  0] lib/fault.c:50(fault_report)
  ===============================================================
[2010/01/29 22:00:31,  0] lib/util.c:1480(smb_panic)
  PANIC (pid 2214): internal error
[2010/01/29 22:00:31,  0] lib/util.c:1584(log_stack_trace)
  BACKTRACE: 25 stack frames:
   #0 /usr/sbin/smbd(log_stack_trace+0x2d) [0x836632d]
   #1 /usr/sbin/smbd(smb_panic+0x2d) [0x836644d]
   #2 /usr/sbin/smbd [0x8353c3e]
   #3 [0xb77a7400]
   #4 /usr/lib/libtalloc.so.2(_talloc_free+0x1d5) [0xb746e915]
   #5 /usr/sbin/smbd [0x82a67cb]
   #6 /usr/sbin/smbd [0x82e8f09]
   #7 /usr/sbin/smbd(api_pipe_request+0x192) [0x82e9752]
   #8 /usr/sbin/smbd [0x82e25fa]
   #9 /usr/sbin/smbd(np_write_send+0x637) [0x82e2c97]
   #10 /usr/sbin/smbd [0x80e3d06]
   #11 /usr/sbin/smbd [0x80e430b]
   #12 /usr/sbin/smbd(reply_trans+0x686) [0x80e4e26]
   #13 /usr/sbin/smbd [0x81496de]
   #14 /usr/sbin/smbd [0x8149b4d]
   #15 /usr/sbin/smbd [0x814a3ad]
   #16 /usr/sbin/smbd(run_events+0x12e) [0x837745e]
   #17 /usr/sbin/smbd(smbd_process+0x827) [0x8148e37]
   #18 /usr/sbin/smbd [0x8646695]
   #19 /usr/sbin/smbd(run_events+0x12e) [0x837745e]
   #20 /usr/sbin/smbd [0x83776ff]
   #21 /usr/sbin/smbd(_tevent_loop_once+0x98) [0x8377d48]
   #22 /usr/sbin/smbd(main+0xc92) [0x86473c2]
   #23 /lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xe6) [0xb7332b56]
   #24 /usr/sbin/smbd [0x80c3eb1]
[2010/01/29 22:00:31,  0] lib/util.c:1485(smb_panic)
  smb_panic(): calling panic action [/usr/share/samba/panic-action 2214]
[2010/01/29 22:00:31,  0] lib/util.c:1493(smb_panic)
  smb_panic(): action returned status 0
[2010/01/29 22:00:31,  0] lib/fault.c:326(dump_core)
  dumping core in /var/log/samba/cores/smbd
[2010/01/29 22:00:41,  1] smbd/service.c:1047(make_connection_snum)
  snowball (192.168.2.30) connect to service print$ initially as user david
(uid=1021, gid=513) (pid 2271)
------------------------------------



Here is the output of the rpcclient's enumprinters, The first printer
doesn't have the driver installed (and works) whilst the second has the
driver installed (and doesn't):

rpcclient $> enumprinters 2
        servername:[\\fissionator]
        printername:[\\fissionator\Ricoh]
        sharename:[Ricoh]
        portname:[Samba Printer Port]
        drivername:[]
        comment:[Ricoh 3245C MFD]
        location:[]
        sepfile:[]
        printprocessor:[winprint]
        datatype:[RAW]
        parameters:[]
        attributes:[0x1048]
        priority:[0x1]
        defaultpriority:[0x1]
        starttime:[0x0]
        untiltime:[0x0]
        status:[0x0]
        cjobs:[0x0]
        averageppm:[0x0]

        ....

        servername:[\\fissionator]
        printername:[\\fissionator\RICOH Aficio 3245C PCL 6]
        sharename:[RicohTest]
        portname:[Samba Printer Port]
        drivername:[RICOH Aficio 3245C PCL 6]
        comment:[Ricoh 3245C test]
        location:[]
        sepfile:[]
        printprocessor:[winprint]
        datatype:[RAW]
        parameters:[]
        attributes:[0x1848]
        priority:[0x1]
        defaultpriority:[0x1]
        starttime:[0x0]
        untiltime:[0x0]
        status:[0x0]
        cjobs:[0x0]
        averageppm:[0x0]


Here is the output of rpcclient's enumdrivers:
rpcclient $> enumdrivers 3
[Windows NT x86]
Printer Driver Info 3:
        Version: [3]
        Driver Name: [RICOH Aficio 3245C PCL 6]
        Architecture: [Windows NT x86]
        Driver Path: [\\FISSIONATOR\print$\W32X86\3\RIC640K.DLL]
        Datafile: [\\FISSIONATOR\print$\W32X86\3\RIC640K.DLL]
        Configfile: [\\FISSIONATOR\print$\W32X86\3\RIC640U.DLL]
        Helpfile: [\\FISSIONATOR\print$\W32X86\3\RIC640.HLP]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640P.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640C.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640L.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640X.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640S.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640J.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640Q.EXE]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640ZU.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640ZK.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640WU.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640WK.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640PI.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\RIC640X.EXE]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\TrackID.DLL]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\TIBase64.dll]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\TIFmtA.dll]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\Ricjc32.dll]
        Dependentfiles: [\\FISSIONATOR\print$\W32X86\3\JCUI.exe]
        Monitorname: []
        Defaultdatatype: []



Finally here is the relevant shares in smb.conf:
(I have tried 'use client driver' yes/no and experienced the same result)

[printers]
   comment = All Printers
   path = /var/spool/samba
   browseable = no
   printable = yes
   guest ok = no
   read only = yes
   create mask = 0700
   # use client driver = yes

[print$]
   comment = Printer Drivers
   path = /var/lib/samba/printers
   browseable = yes
   read only = yes
   guest ok = no
   write list = root, @"Domain Admins"
   force create mode = 0664
   force directory mode = 0664


Permissions are setup fine for /var/lib/samba/printers.
I have granted Domain admins the SePrintOperatorPrivilege.
(http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/rights.html)

Any help/advice would be appreciated, but the issue is more of an annoyance
than a major issue.

Regards,


David


More information about the samba mailing list