PCL(5e) printer på Freebsd 3.2-RELEASE (lokal)

From: Mourad de Riche (none@omnibus--image.dk.lh.bsd-dk.dk)
Date: Sun 22 Aug 1999 - 00:08:24 CEST


Date: Sun, 22 Aug 1999 00:08:24 +0200
From: "Mourad de Riche" <none@omnibus--image.dk.lh.bsd-dk.dk>
To: bsd-dk@hotel.prosa.dk
Subject: PCL(5e) printer på Freebsd 3.2-RELEASE  (lokal)


Hello,

Jeg har nu snart i 3 dage prøvet at få koblet en Minolta PagePro 20
op på en Freebsd 3.2-RELEASE server, uden held.

Jeg har varificeret at der er kontakt til printeren, og freebsd
identificere den også fint nok ved bootup,

-------------------------[bootup output]-------------------------

ppc0 at 0x378 irq 7 flags 0x40 on isa
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppb0: IEEE1284 device found /NIBBLE/ECP
Probing for PnP devices on ppbus0:
ppbus0: <Minolta PagePro 20> PJL
lpt0: <generic printer> on ppbus 0
lpt0: Interrupt-driven port
ppi0: <generic parallel i/o> on ppbus 0
plip0: <PLIP network interface> on ppbus 0
lpt0: <generic printer> on ppbus 0
lpt0: Interrupt-driven port

-------------------------[bootup output]-------------------------

....og når jeg prøver at sende data til printeren, via lpr eller
lp begynder 'DATA' dioden på printeren da også at lyse (den plejer
ellers at blinke når jeg har koblet den direkte til en MS Windows
95/98 workstation), og på displayet står der "PROCESSING"... altså
den modtager data, men mere sker der ikke.

Jeg kan da trykke på "PROCEED" på printerens keypad, og den begynder
at printe ud. Problemet er så at den cutter den tekst den printer, så
kun noget af det kommer ud, eller kun de første par liner, dertil har
den også problemer med den kendte Staircase effect (beskrevet i The
Freebsd Handbook).

Det som jeg nu har identificeret er så, at den har 2 problemer:

1. Den modtager ikke noget formfeed
2. Den cutter teksten, staircase effect.

...jeg har prøvet en del forskellige if-filters, bla. nedenstående,

--------------------------[if-formfeed]--------------------------

#!/bin/sh
#
# if-simple - Simple text input filter for lpd
# Installed in /usr/local/libexec/if-simple
#
# Simply copies stdin to stdout. Ignores all filter arguments.
# Writes a form feed character (\f) after printing job.

/bin/cat && printf "\f" && exit 0
exit 2

--------------------------[if-formfeed]--------------------------

...men der er ikke rigtigt nogen der virker. Jeg har også prøvet en
del forskellige programmer der skulle håndtere filtreringen, såsom
apsfilter, migicfilter og lpfilter, men heller ikke nogen af disse virker.

Jeg prøvede så at koble printeren på en MS Windows 98 workstation, og
installerede printer driveren til den, hvorefter jeg åbnede Wordpad,
og printede en tom side ud til en fil, for at se hvilke ESC koder driveren
sendte til printeren ved udskrivning, og jeg fik følgene:

---------------------------[esc codes]---------------------------

%-12345X@PJL USERNAME = ""
@PJL SET PAGEPROTECT=ON
@PJL SET TONERDENSITY=MEDIUM
@PJL SET PRINTQUALITY=FINEART
@PJL SET RESOLUTION=600
@PJL ENTER LANGUAGE=PCL
&l1X*t600R&u600D&l0S*l1R*r0F&l7H&l0O&l26a8c1e68F*p0x0Y
*c0T*c5611x8176Y%1BPP1TR0SC0,600,0,600IP0,11537,1016,10521%0A
%0AÁBE%-12345X

---------------------------[esc codes]---------------------------

---------------------------[hex codes]---------------------------

00000000 1B 25 2D 31 32 33 34 35 58 0D 0A 0D 0A 40 50 4A .%-12345X....@PJ
00000010 4C 20 55 53 45 52 4E 41 4D 45 20 3D 20 22 22 0D L USERNAME = "".
00000020 0A 0D 0A 40 50 4A 4C 20 53 45 54 20 50 41 47 45 ...@PJL SET PAGE
00000030 50 52 4F 54 45 43 54 3D 4F 4E 0D 0A 0D 0A 40 50 PROTECT=ON....@P
00000040 4A 4C 20 53 45 54 20 54 4F 4E 45 52 44 45 4E 53 JL SET TONERDENS
00000050 49 54 59 3D 4D 45 44 49 55 4D 0D 0A 0D 0A 40 50 ITY=MEDIUM....@P
00000060 4A 4C 20 53 45 54 20 50 52 49 4E 54 51 55 41 4C JL SET PRINTQUAL
00000070 49 54 59 3D 46 49 4E 45 41 52 54 0D 0A 0D 0A 40 ITY=FINEART....@
00000080 50 4A 4C 20 53 45 54 20 52 45 53 4F 4C 55 54 49 PJL SET RESOLUTI
00000090 4F 4E 3D 36 30 30 0D 0A 0D 0A 40 50 4A 4C 20 45 ON=600....@PJL E
000000A0 4E 54 45 52 20 4C 41 4E 47 55 41 47 45 3D 50 43 NTER LANGUAGE=PC
000000B0 4C 0D 0A 0D 0A 1B 26 6C 31 58 0D 0A 0D 0A 1B 2A L.....&l1X.....*
000000C0 74 36 30 30 52 0D 0A 0D 0A 1B 26 75 36 30 30 44 t600R.....&u600D
000000D0 0D 0A 0D 0A 1B 26 6C 30 53 0D 0A 0D 0A 1B 2A 6C .....&l0S.....*l
000000E0 31 52 0D 0A 0D 0A 1B 2A 72 30 46 0D 0A 0D 0A 1B 1R.....*r0F.....
000000F0 26 6C 37 48 0D 0A 0D 0A 1B 26 6C 30 4F 0D 0A 0D &l7H.....&l0O...
00000100 0A 1B 26 6C 32 36 61 38 63 31 65 36 38 46 0D 0A ..&l26a8c1e68F..
00000110 0D 0A 1B 2A 70 30 78 30 59 0D 0A 0D 0A 1B 2A 63 ...*p0x0Y.....*c
00000120 30 54 0D 0A 0D 0A 1B 2A 63 35 36 31 31 78 38 31 0T.....*c5611x81
00000130 37 36 59 0D 0A 0D 0A 1B 25 31 42 50 50 31 54 52 76Y.....%1BPP1TR
00000140 30 53 43 30 2C 36 30 30 2C 30 2C 36 30 30 49 50 0SC0,600,0,600IP
00000150 30 2C 31 31 35 33 37 2C 31 30 31 36 2C 31 30 35 0,11537,1016,105
00000160 32 31 0D 0A 0D 0A 1B 25 30 41 0D 0A 0D 0A 1B 25 21.....%0A.....%
00000170 30 41 0C 0D 0A 0D 0A 1B 45 0D 0A 0D 0A 1B 25 2D 0A......E.....%-
00000180 31 32 33 34 35 58 0D 0A 12345X..

---------------------------[hex codes]---------------------------

ok... det jeg så gerne ville, var at kunne prøve at sende nogle af disse koder
til printeren fra FreeBSD inden selve dokumentet der skal printes ud, så dette
gøres automatisk. Det som jeg gerne vil er selvfølgeligt først at se om det
virker.

Jeg håber at der er nogen der har nogen gode råd, jeg syntes selv at jeg har prøvet
alt, og jeg er ved at komme itvivl om at der måske er noget galt med freebsd-3.2's
lpd daemon.

På forhånd tak...

Med venlig hilsen

Mourad de Riche



This archive was generated by hypermail 2b30 : Wed 15 Nov 2006 - 18:24:01 CET