Re: [Samba] Printing to FreeBSD server from XP using samba

2003-08-14 Thread Joel Hammer
I haved been using this parameter (rw) since I began using linux.
I forget why I use it.

This link is the lprng howto.
http://www.lprng.com/LPRng-HOWTO/LPRng-HOWTO.html#AEN3105
If you seach for rw  (don't use the quotes in your search string) you will
see this is used only for serial printers. Although, I don't see why other
printers wouldn't need to be rw.

Oh well. It works. Good.

Joel


On Thu, Aug 14, 2003 at 08:29:50PM +1000, David Lodeiro wrote:
 On Wed, 13 Aug 2003 10:30 pm, you wrote:
 Firstly, I can not thankyou enough for your help as I have spent the last 6 or 
 so days trying to figure this out.  I'm using lprng. The thing I was missing 
 was in my printcap file, and it wasnt till I read your email that I saw what 
 was the problem.
 I had 
  :sh:
 
 you had
 
  :sh:rw:
 
 And that was it. 
 
 Im assuming thats read write? correct me if Im wrong.
 I didnt find that anywhere in any documentations, howtos, that I had read.
 
 Now it works perfectly. Thankyou again
 
 David
  I don't know anything about BSD and you don't say which printing system you
  use (cups, lprng, whatever), but:
  Printing with samba is simple. Your client transfers the job to the print
  server spool directory. Then, the print command on the sever is invoked to
  print that file. Then, the file is removed. SO:
  Have you verified that the print job has been transferred to your print
  server? I do this by changing my printing command in smb.conf to something
  like print command = echo %s was transferred  /tmp/junk. That way the job
  is never printed and it just stays in your spool directory with that funny
  long smb name.
  (Using cups, you can't change the print commands in smb.conf, they tell
  me.) Then, if the job got transferred, try to print the job using the print
  command that your system is supposed to use for this file. This file will
  have been filtered by the XP client before being sent, so, you have to send
  it to a raw queue, likely. Or, maybe your client is sending postscript
  formatted jobs. You don't say in your post.
  If you can print a file like this, then you just have to set up a queue
  with the appropriate printing commands to get it done. I leave nothing to
  chance, and specify all the printing commands in my print queue, like so:
 
  [lp]
  comment = Raw Printer for Z53
  #   max print jobs = 1
  path = /tmp
  create mask = 0700
  guest ok = yes
  hosts allow = 192.168.
  printable = Yes
  printing = lprng
  #   print command = echo Tried to print %s  /SPOOL/junk.%s
  #   print command = echo %J %p %s   /tmp/junkJ; /usr/bin/lpr -Plp 
  -J'%J' %s; rm %s #   print command = echo %J %p %s   /tmp/junkJ;
  j=`echo %J | sed s/^.*-//`; /usr/bin/lpr -Plp  -J'$j' %s; rm %s #  
  print command = echo %J %p %s   /tmp/junkJ; /usr/bin/lpr -Plp -J'%J'  %s;
  rm %s print command = echo %J %p %s/tmp/junkJ;\
 a=`echo '%J' | sed s/^.*- //` ;\
 echo This is truncated $a  /tmp/junkJ;\
 /usr/bin/lpr -Plp  -J$a  %s;\
 rm %s
  lpq command = /usr/bin/lpq -Plp
  lprm command = /usr/bin/lprm -Plp %j
  lppause command = /usr/sbin/lpc hold -Plp %j
  lpresume command = /usr/sbin/lpc release -Plp %j
  printer name = lp
  #   printer driver = Lexmark Z53 Series ColorFine
  #   printer driver location =
  \\HAMMER2\AllFiles\usr\local\samba\printer share modes = No
 
  My printcap file for lp is as follows:
  lp|LP|z53-outfiles:\
 
  :sd=/var/spool/lpd/lp:\
  :mx#0:\
  :lp=/dev/lp0:\
  :sh:rw:
 
  There is also another complication. The testpage that is generated by
  the printer setup program may not be sent through the usual filtering
  mechanism as a regular print job. Thus, if you are sending postscript
  formatted files to your printserver with a printer that can handle
  postscript files, this same queue may  not be able to handle the raw format
  in which the test page is sent.
 
  Note: All this information is what I have gleaned by much trial and error.
  I don't know how much will apply to your setup.
 
  One more thing, you have a [printers] share and then a share written for
  your particular printer. You might consider getting rid of the [printers]
  share.  Then, add a few things to the [lp] share, like a path, printable,
  etc.
 
  Joel
 
  On Wed, Aug 13, 2003 at 08:34:05PM +1000, David Lodeiro wrote:
   A couple of days ago I set up my printer on my FreeBSD server and set it
   up so I could print from my FreeBSD client. This all works very well,
   printing from botht the server and the FBSD client. However, I also have
   samba set up for file serving with an XP box. I have been trying for
   quite some time now to set samba up to enable me to print from the XP
   client. My situation at the moment is that the XP client can detect the
   

Re: [Samba] Printing to FreeBSD server from XP using samba

2003-08-14 Thread Joel Hammer
I don't know anything about BSD and you don't say which printing system you
use (cups, lprng, whatever), but:
Printing with samba is simple. Your client transfers the job to the print
server spool directory. Then, the print command on the sever is invoked to
print that file. Then, the file is removed. SO: 
Have you verified that the print job has been transferred to your print
server? I do this by changing my printing command in smb.conf to something
like print command = echo %s was transferred  /tmp/junk. That way the job is
never printed and it just stays in your spool directory with that funny long
smb name.
(Using cups, you can't change the print commands in smb.conf, they tell me.)
Then, if the job got transferred, try to print the job using the print
command that your system is supposed to use for this file. This file will
have been filtered by the XP client before being sent, so, you have to send
it to a raw queue, likely. Or, maybe your client is sending postscript
formatted jobs. You don't say in your post.
If you can print a file like this, then you just have to set up a queue with
the appropriate printing commands to get it done. I leave nothing to chance,
and specify all the printing commands in my print queue, like so:

[lp]
comment = Raw Printer for Z53
#   max print jobs = 1
path = /tmp
create mask = 0700
guest ok = yes
hosts allow = 192.168.
printable = Yes
printing = lprng
#   print command = echo Tried to print %s  /SPOOL/junk.%s
#   print command = echo %J %p %s   /tmp/junkJ; /usr/bin/lpr -Plp  -J'%J' %s; rm 
%s
#   print command = echo %J %p %s   /tmp/junkJ; j=`echo %J | sed s/^.*-//`; 
/usr/bin/lpr -Plp  -J'$j' %s; rm %s
#   print command = echo %J %p %s   /tmp/junkJ; /usr/bin/lpr -Plp -J'%J'  %s; rm 
%s
print command = echo %J %p %s/tmp/junkJ;\
   a=`echo '%J' | sed s/^.*- //` ;\
   echo This is truncated $a  /tmp/junkJ;\
   /usr/bin/lpr -Plp  -J$a  %s;\
   rm %s
lpq command = /usr/bin/lpq -Plp
lprm command = /usr/bin/lprm -Plp %j
lppause command = /usr/sbin/lpc hold -Plp %j
lpresume command = /usr/sbin/lpc release -Plp %j
printer name = lp
#   printer driver = Lexmark Z53 Series ColorFine
#   printer driver location = \\HAMMER2\AllFiles\usr\local\samba\printer
share modes = No

My printcap file for lp is as follows:
lp|LP|z53-outfiles:\
:sd=/var/spool/lpd/lp:\
:mx#0:\
:lp=/dev/lp0:\
:sh:rw: 
There is also another complication. The testpage that is generated by
the printer setup program may not be sent through the usual filtering
mechanism as a regular print job. Thus, if you are sending postscript
formatted files to your printserver with a printer that can handle
postscript files, this same queue may  not be able to handle the raw format
in which the test page is sent.

Note: All this information is what I have gleaned by much trial and error.
I don't know how much will apply to your setup.

One more thing, you have a [printers] share and then a share written for
your particular printer. You might consider getting rid of the [printers]
share.  Then, add a few things to the [lp] share, like a path, printable, etc.

Joel

On Wed, Aug 13, 2003 at 08:34:05PM +1000, David Lodeiro wrote:
 A couple of days ago I set up my printer on my FreeBSD server and set it
 up so I could print from my FreeBSD client. This all works very well,
 printing from botht the server and the FBSD client. However, I also have
 samba set up for file serving with an XP box. I have been trying for
 quite some time now to set samba up to enable me to print from the XP
 client. My situation at the moment is that the XP client can detect the
 printer in explorer, I can set up a printer using a wizard to print to it 
 without any errors, however when I go to print a test page, nothing happens. 
 No errors, no printout, and the wierdest part is that nothing shows up in 
 either the que on my xp box or on the lpq on the server.
 
 I started the smbd and nmbd demons with debugger set to 10 to see if I
 could find something out
 
 Firstly the relevant part of my printcap file
 
 Canoni850|bjc800:\
 :lp=/dev/lpt0:\
 :sd=/var/spool/lpd/Canoni850:\
 :lf=/var/spool/lpd/Canoni850/log:\
 :mx#0:\
 :sh:
 
 
 To handle all the raw printing ( ie. from windows )
 
 And the relevent art of my smb.con
 [printers]
comment = Printers
path = /var/spool/lpd
browseable = no
printable = yes
public = yes
 #   create mode = 4777
 
 [Canoni850]
comment = Canoni850
path = /var/spool/lpd/Canoni850
browseable = yes
printable = yes
 #   printer driver = Canon i850
 
 [lp]
comment = FreeBSD printer
browseable = no
printable = yes
 
 
 Here is what I got in log.smbd with log level at 10
 
 [2003/08/12 23:40:55, 5] 

[Samba] Printing to FreeBSD server from XP using samba

2003-08-14 Thread David Lodeiro
A couple of days ago I set up my printer on my FreeBSD server and set it
up so I could print from my FreeBSD client. This all works very well,
printing from botht the server and the FBSD client. However, I also have
samba set up for file serving with an XP box. I have been trying for
quite some time now to set samba up to enable me to print from the XP
client. My situation at the moment is that the XP client can detect the
printer in explorer, I can set up a printer using a wizard to print to it 
without any errors, however when I go to print a test page, nothing happens. 
No errors, no printout, and the wierdest part is that nothing shows up in 
either the que on my xp box or on the lpq on the server.

I started the smbd and nmbd demons with debugger set to 10 to see if I
could find something out

Firstly the relevant part of my printcap file

Canoni850|bjc800:\
:lp=/dev/lpt0:\
:sd=/var/spool/lpd/Canoni850:\
:lf=/var/spool/lpd/Canoni850/log:\
:mx#0:\
:sh:


To handle all the raw printing ( ie. from windows )

And the relevent art of my smb.con
[printers]
   comment = Printers
   path = /var/spool/lpd
   browseable = no
   printable = yes
   public = yes
#   create mode = 4777

[Canoni850]
   comment = Canoni850
   path = /var/spool/lpd/Canoni850
   browseable = yes
   printable = yes
#   printer driver = Canon i850

[lp]
   comment = FreeBSD printer
   browseable = no
   printable = yes


Here is what I got in log.smbd with log level at 10

[2003/08/12 23:40:55, 5] lib/util_sock.c:print_socket_options(111)
  socket option SO_SNDLOWAT = 2048
[2003/08/12 23:40:55, 5] lib/util_sock.c:print_socket_options(111)
  socket option SO_RCVLOWAT = 1
[2003/08/12 23:40:55, 5] lib/util_sock.c:print_socket_options(111)
  socket option SO_SNDTIMEO = 0
[2003/08/12 23:40:55, 5] lib/util_sock.c:print_socket_options(111)
  socket option SO_RCVTIMEO = 0
[2003/08/12 23:40:55, 10] printing/nt_printing.c:update_c_setprinter(368)
  update_c_setprinter: c_setprinter = 0
[2003/08/12 23:40:55, 6] param/loadparm.c:lp_file_list_changed(2302)
  lp_file_list_changed()
  file /usr/local/etc/smb.conf - /usr/local/etc/smb.conf  last mod_time: Tue 
Au

[2003/08/12 23:40:55, 3] smbd/oplock.c:init_oplocks(1214)
  open_oplock_ipc: opening loopback UDP socket.
[2003/08/12 23:40:55, 3] lib/util_sock.c:open_socket_in(813)
  bind succeeded on port 0
[2003/08/12 23:40:55, 3] smbd/oplock.c:init_oplocks(1245)
  open_oplock ipc: pid = 9747, global_oplock_port = 49804
[2003/08/12 23:40:55, 4] lib/time.c:get_serverzone(114)
  Serverzone is -36000
[2003/08/12 23:40:55, 10] 
lib/util_sock.c:read_smb_length_return_keepalive(559)
  got smb length of 68
[2003/08/12 23:40:55, 10] lib/access.c:check_access(304)
  check_access: allow = , deny =
[2003/08/12 23:40:55, 6] smbd/process.c:process_smb(845)
  got message type 0x81 of len 0x44
[2003/08/12 23:40:55, 3] smbd/process.c:process_smb(846)
  Transaction 0 of length 72
[2003/08/12 23:40:55, 2] smbd/reply.c:reply_special(92)
  netbios connect: name1=DAVESSERVER  name2=JOSE
[2003/08/12 23:40:55, 2] smbd/reply.c:reply_special(111)
  netbios connect: local=davesserver remote=jose

Jose is the name of the XP client, davesserver is the name of the FreeBSD box. 
Sorry about the long post

Any help is appreciated

Thankyou

David

-- 
To unsubscribe from this list go to the following URL and read the
instructions:  http://lists.samba.org/mailman/listinfo/samba