[Samba] Re: Different printer drivers ...

ccaldwell at suscom-maine.net ccaldwell at suscom-maine.net
Tue Nov 20 18:52:11 GMT 2007


Greetings,

(Brief synopsis):

| This is an extenuation of "Non-registry problem:  Slow printing"
|
| See:
|   http://www.brightsands.com/~chris/quick.9.bz2 fast printer drivers loglvl=9
|   http://www.brightsands.com/~chris/slow.9.bz2  slow printer drivers loglvl=9
|   http://www.brightsands.com/~chris/smb.conf    the smb.conf in use
|
| I have a sample Windows XP/SP2 client trying to print through a
| samba-3.0.24 server as configured in the smb.conf above.  When I configure
| with a Microsoft driver (AGFA-Accuset v52.3), I can add and select the
| printer quickly (see quick.9.bz2).
|
| When I configure with a non Microsoft Driver (HP LaserJet 2420 PCL5e), adding
| and selecting the printer take up to 30 seconds longer than the other driver.
|
| (after taking acount of different pids and pnums), when I diff quick.9 and
| and slow.9, I notice things start to get funky at around line 322511:

With the fast driver, smb gets a size=102 packet and has this reaction:

    smbd/process.c:switch_message(914)
      switch message SMBntcreateX (PID) conn 0x80a11498
    smbd/uid.c:change_to_user(170)
      change_to_user: Skipping user change - already user
    smbd/nttrans.c:nt_open_pipe(325)
      nt_open_pipe: Opening pipe \spoolss.
    smbd/error.c:error_packet(146)
      error packet at smbd/nttrans.c(330) cmd=162 (SMBntcreateX) \
	NT_STATUS_OBJECT_NAME_NOT_FOUND

Where as with the slow driver, smb gets a size=274 packet and says:

    smbd/process.c:switch_message(914)
      switch message SMBsesssetupX (PID) conn 0x0
    smbd/sec_ctx.c:set_sec_ctx(241)
      setting sec ctx (0, 0) - sec_ctx_stack_ndx = 0
    auth/auth_util.c:debug_nt_user_token(448)
      NT user token: (NULL)
    auth/auth_util.c:debug_unix_user_token(474)
      UNIX token of user 0
      Primary group is 0 and contains 0 supplementary groups
    smbd/uid.c:change_to_root_user(275)
      change_to_root_user: now uid=(0,0) gid=(0,0)
    smbd/sesssetup.c:reply_sesssetup_and_X(849)
      wct=13 flg2=0xc807
    smbd/sesssetup.c:reply_sesssetup_and_X(995)
      Domain=[CLIENT]  NativeOS=[Windows 2002 Service Pack 2 2600] \
	NativeLanMan=[Windows 2002 5.1] PrimaryDomain=[]
    smbd/sesssetup.c:reply_sesssetup_and_X(1010)
      sesssetupX:name=[CLIENT]\[Chris]@[CLIENT_IP]
    param/loadparm.c:lp_file_list_changed(3048)
      lp_file_list_changed()
      file /etc/samba/smb.conf -> /etc/samba/smb.conf  last mod_time: \
	Tue Nov 20 12:46:55 2007

That's right:  The FAST one (from Microsoft) is getting the error while
the slow one is trying to authenticate me as a user rather than as guest.
Eventually it comes to the conclusion that that won't work and tries guest
and that works.

The next packet from the fast one is 100 bytes and gets this:
    smbd/process.c:switch_message(914)
      switch message SMBntcreateX (PID) conn 0x80a11498
    smbd/uid.c:change_to_user(170)
      change_to_user: Skipping user change - already user
    smbd/nttrans.c:nt_open_pipe(325)
      nt_open_pipe: Opening pipe \srvsvc.
    smbd/nttrans.c:nt_open_pipe(346)
      nt_open_pipe: Known pipe srvsvc opening.
    rpc_server/srv_pipe_hnd.c:open_rpc_pipe_p(187)
      Open pipe requested srvsvc (pipes_open=0)
    rpc_server/srv_pipe_hnd.c:make_internal_rpc_pipe_p(305)
      Create pipe requested srvsvc
    rpc_server/srv_pipe_hnd.c:make_internal_rpc_pipe_p(386)
      Created internal pipe srvsvc (pipes_open=0)
    rpc_server/srv_pipe_hnd.c:open_rpc_pipe_p(283)
      Opened pipe srvsvc with handle HANDLE (pipes_open=1)
    rpc_server/srv_pipe_hnd.c:open_rpc_pipe_p(289)
      open pipes: name srvsvc PNUM
    smbd/nttrans.c:do_ntcreate_pipe_open(395)
      do_ntcreate_pipe_open: open pipe = \srvsvc

So ... I guess I'm wondering whose I idea it was to ignore the
"auth methods = guest" line in smb.conf?  Samba or the client?  Does
the client even ask which methods of authentication are possible?

--Chris


More information about the samba mailing list