On Wed, Oct 12, 2011 at 04:03:57PM +0200, Pascal Stumpf wrote:
> I have two printers on the local network (laser and lexmark) and I want
> to use lpd(8) to print on them. It seems to me that lpd is having some
> sort of local problem (it does not even create lock and status files in
> the spool directories, and both lpr and lpq do not see the daemon). But
> some info first:
>
> lpd is started with -s, manually or with rc.d makes no difference (nor
> removing -s).
Check your /var/log/lpd.errs.
Also, ktracing lpd with the the -i flag might give a clue to what the
lpd child is doing.
-Otto
>
>
> /etc/printcap:
> # $OpenBSD: printcap,v 1.4 2003/03/28 21:32:30 jmc Exp $
>
> #lp|local line printer:\
> # :lp=/dev/lp:sd=/var/spool/output:lf=/var/log/lpd-errs:
>
> #rp|remote line printer:\
> # :lp=:rm=printhost:rp=lp:sd=/var/spool/output:lf=/var/log/lpd-errs:
>
> lexmark|Lexmark:\
> :sh:lp=:rm=lexmark:\
> :sd=/var/spool/output/lexmark:\
> :lf=/var/log/lpd-errs:
>
> laser|Laser:\
> :sh:lp=:rm=laser:rp=raw:\
> :sd=/var/spool/output/laser:\
> :lf=/var/log/lpd-errs:
>
>
> Permissions:
> -r-xr-s--- 1 root daemon 72368 Oct 12 01:56 /usr/sbin/lpd
> -r-sr-sr-x 1 root daemon 25104 Oct 12 01:56 /usr/bin/lpr
> -r-xr-sr-x 1 root daemon 24656 Oct 12 01:56 /usr/bin/lpq
>
> srw-rw---- 1 root daemon 0 Oct 12 15:09 /var/run/printer
> drwxr-xr-x 28 root wheel 512 Sep 26 21:27 /var
> drwxr-xr-x 13 root wheel 512 Oct 12 15:09 /var/spool
> drwxrwxr-x 4 root daemon 512 Oct 12 14:27 /var/spool/output
> drwxrwx--- 2 root daemon 512 Oct 12 15:10 /var/spool/output/lexmark
> drwxrwx--- 2 root daemon 512 Oct 12 14:27 /var/spool/output/laser
>
>
> ps -auwwx | grep lpd:
> daemon 29820 0.0 0.0 328 912 ?? Is 3:09PM 0:00.01 lpd -s
> pascal 8535 0.0 0.0 224 388 p3 R+/0 3:59PM 0:00.00 grep lpd
>
> ls -l /var/spool/output/lexmark:
> -rw-rw---x 1 daemon daemon 4 Oct 12 15:10 .seq
> -rw-rw---- 1 daemon daemon 114 Oct 12 15:09 cfA004aias.local.cubes.de
> -rw-rw---- 1 daemon daemon 114 Oct 12 15:10 cfA005aias.local.cubes.de
> -rw-rw---- 1 daemon daemon 16000 Oct 12 15:09 dfA004aias.local.cubes.de
> -rw-rw---- 1 daemon daemon 16000 Oct 12 15:10 dfA005aias.local.cubes.de
>
> lptest | lpr -p: (with PRINTER=lexmark)
> jobs queued, but cannot start daemon.
>
> lpq:
> aias.local.cubes.de: Warning: no daemon present
> Rank Owner Job Files Total Size
> 1st pascal 4 (standard input) 16000 bytes
> 2nd pascal 5 (standard input) 16000 bytes
> 3rd pascal 6 (standard input) 16000 bytes
>
> No entries
>
>
> Ktracing the lpd process gives this when a job is submitted by lpr:
> 29820 lpd EMUL "native"
> 29820 lpd RET select 1
> 29820 lpd CALL accept(0x5,0x7f7ffffec060,0x7f7ffffebd48)
> 29820 lpd STRU struct sockaddr { AF_LOCAL, "" }
> 29820 lpd RET accept 6
> 29820 lpd CALL fork()
> 29820 lpd RET fork 15081/0x3ae9
> 29820 lpd CALL close(0x6)
> 29820 lpd RET close 0
> 29820 lpd CALL select(0x6,0x7f7ffffebc10,0,0,0)
> 29820 lpd PSIG SIGCHLD caught handler=0x403560 mask=0x0
> 29820 lpd RET select -1 errno 4 Interrupted system call
> 29820 lpd CALL wait4(0xffffffff,0x7f7ffffeb814,0x1<WNOHANG>,0)
> 29820 lpd RET wait4 15081/0x3ae9
> 29820 lpd CALL wait4(0xffffffff,0x7f7ffffeb814,0x1<WNOHANG>,0)
> 29820 lpd RET wait4 -1 errno 10 No child processes
> 29820 lpd CALL sigreturn(0x7f7ffffeb830)
> 29820 lpd RET sigreturn JUSTRETURN
> 29820 lpd CALL select(0x6,0x7f7ffffebc10,0,0,0)
>
> Trying to "restart all" via lpc:
> lexmark:
> cannot open lock file
> lexmark:
> couldn't start daemon
> laser:
> cannot open lock file
> laser:
> couldn't start daemon
>
> Daemon user:
> daemon:*:1:1:The devil himself:/root:/sbin/nologin
> uid=1(daemon) gid=1(daemon) groups=1(daemon)
>
>
> Of course I searched the web and mailing lists, but nothing really
> helped. The printcap entries have been verified to work on Linux (for
> laser) and FreeBSD (for lexmark).
>
> I'm sure what I'm missing is something very basic and simple, but I just
> can't seem to figure it out. Does anyone have an idea?
>
> --------
> New crypt. See /usr/news/crypt.