[lprng] printen naar raw lprng server

Pagina: 1
Acties:

  • aP_
  • Registratie: Maart 2001
  • Laatst online: 06-01 14:56
Owk.. sinds een maand of zo zit ik met een printer probleem. Omdat ik niet echt een voorstander ben van overal maar een topic voor te openen, ben ik de hele tijd bezig geweest te zoeken naar oplossingen en dingen uit te proberen. Na veel hints van mensen van irc ben ik er nog niet uitgekomen.. daarom toch maar een topic.

Ik heb hier een debian server draaien met een HP690C eraan. Daarnaast heb ik nog een linux client en een een paar windows clients draaien. Eerst heb ik cupsys op de server geinstalleerd gehad en dat ook op de linux client gezet. De testpagina's die er vanaf de webinterface van de client uit vlogen gingen prima, maar alle print-opdrachten van de programma's werden niet afgedrukt. Ook vanaf de windows clients draaide het niet.

Nu heb ik op de server lprng geinstalleerde en op de linux client ook.
/etc/printcap van de server:
code:
1
2
3
4
5
6
7
8
lp|lp0|lpd|lpr|hp|hp690c\
        :lp=/dev/lp0:\
        :cd=/var/spool/lpd/lp:\
        :sd=/var/spool/lpd/lp:\
        :af=/var/log/lp-acct:\
        :lf=/var/log/lp-errs:\
        :mx#0:\
        :sh:


Config van de linux client:
code:
1
2
3
4
5
6
7
8
9
10
11
12
##LPRNGTOOL## REMOTE cdj550 300x300 a4 {} DeskJet550 3 1
lpr|lp|lpd|lpt|hp
:sd=/var/spool/lpd/hp
:sh
:ml=0
:mx=0
:af=/var/spool/lpd/lp/acct
:lf=/var/spool/lpd/lp/log
:cd=/var/spool/lpd/lp
:lp=lp@192.168.0.5
:if=/usr/lib/rhs/rhs-printfilters/master-filter
:


Bij het afdrukken van een testpagina vanaf lprngtool op de client gaat het helemaal prima. Zowel ASCII als Postscript. Geen stair- of pagina-uitwerp-fouten. Als ik echter vanaf een gewoon programma wil afdrukken als Gedit, dan gaat het nogal fout. De job wordt ontvangen en ook uitgevoerd, alleen verkeerd. De printer-koppen komen dan ook buiten het printgebied en blijven dan haken, dus de printer weer open halen.. :/

Dit is wat ik heb ingevoerd in gedit:
code:
1
2
3
4
5
Dit is de eerste regel
Dit is de tweede regel
Dit is de derde regel
Dit is de vierde regel
Dit is de vijfde regel


Dit is wat ik op papier krijg:
code:
1
2
3
%!PS-Adobe-3.0
       %%Creator: Gnome Print Version 1.116.3
                        %%CreationDate: D:2003011513

De regels overlappen elkaar niet, maar komen 'netjes' achter elkaar op een volgende regel. Die derde regel is de laatste regel op het papier. Op het tweede vel gaat die regel van de "CreationDate" gewoon door waar hij gebleven was en vult daar een hele regel. Na het tweede papier komen er oneindig veel lege papieren uit de printer zetten.

Bij het afdrukken van een raw text.. gewoon "lpr -P lpr < Blaat.txt" bijvoorbeeld, dan zitten er wel stair-fouten in. Of ik "Fix-Stairstepping Text" nou aan of uit zet in lprngtool, dat maakt niets uit voor het resultaat. De logs op de server geven niets aan van fouten of zo, net alsof het normaal is afgedrukt zonder fouten.

Op de linux client heb ik naast lprng dus lprngtool geinstalleerd om de configs te maken.. daarbij heb ik ook de RH filters in /usr/lib/rhs/rhs-printfilters gezet. Deze worden ook netjes gebruikt bij het printen (bijv de testpagina's van lprngtool staan er in). Mijn bedoeling is dus ook dat de server RAW print en dat de filters enz op de clients aanwezig zijn.

Ik heb echt ontelbaar veel testjes uitgevoerd.. en verschillende printer progs/drivers geprobeerd. Kan iemand mij misschien een hint geven hoe dit op te lossen? Zou ik eindelijk na een maand weer me printer kunnen gebruiken :)

[ Voor 18% gewijzigd door aP_ op 15-01-2003 14:38 . Reden: ff wat dingen over rh-filters toegevoegd ]

Het is lastig om je specs up to date te houden


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

aP_ schreef op 15 January 2003 @ 14:27:
[..]
Ik heb hier een debian server draaien met een HP690C eraan. Daarnaast heb ik nog een linux client en een een paar windows clients draaien. Eerst heb ik cupsys op de server geinstalleerd gehad en dat ook op de linux client gezet. De testpagina's die er vanaf de webinterface van de client uit vlogen gingen prima, maar alle print-opdrachten van de programma's werden niet afgedrukt. Ook vanaf de windows clients draaide het niet.

Nu heb ik op de server lprng geinstalleerde en op de linux client ook.
/etc/printcap van de server:
code:
1
2
3
4
5
6
7
8
lp|lp0|lpd|lpr|hp|hp690c\
        :lp=/dev/lp0:\
        :cd=/var/spool/lpd/lp:\
        :sd=/var/spool/lpd/lp:\
        :af=/var/log/lp-acct:\
        :lf=/var/log/lp-errs:\
        :mx#0:\
        :sh:
Je hebt hier geen printfilter opgegeven zodat een postscript job onvertaald geprint zal worden.
Config van de linux client:
code:
1
2
3
4
5
6
7
8
9
10
11
12
##LPRNGTOOL## REMOTE cdj550 300x300 a4 {} DeskJet550 3 1
lpr|lp|lpd|lpt|hp
:sd=/var/spool/lpd/hp
:sh
:ml=0
:mx=0
:af=/var/spool/lpd/lp/acct
:lf=/var/spool/lpd/lp/log
:cd=/var/spool/lpd/lp
:lp=lp@192.168.0.5
:if=/usr/lib/rhs/rhs-printfilters/master-filter
:
Ben persoonlijk niet bekent met rhs printfilters. Mogelijk dat wanneer er uit gedit geprint wordt de printerfilter de postscript versie ongewijzigd doorstuurt naar de server.

Probeer anders de magicfilters die hebben een kant en klare filter voor de dj690c.
De printer-koppen komen dan ook buiten het printgebied en blijven dan haken, dus de printer weer open halen.. :/
Lekkere printer firmware >:)

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


  • aP_
  • Registratie: Maart 2001
  • Laatst online: 06-01 14:56
Je hebt hier geen printfilter opgegeven zodat een postscript job onvertaald geprint zal worden.
Dat is ook de bedoeling. De server moet verder niet aan de jobs zitten, maar gewoon printen wat hij binnen krijgt. De clients hebben dan zelf wel printer filters enz geinstalleerd. Op mijn linuxclient gebruik ik dus die rhs filters (lprngtool wilde niet draaien zonder die bestanden, dus ik heb een rpm gedownload en die uitgepakt naar de gevraagde dir) en op de windows clients heb ik gewoon de hp690c geinstalleerd en toen de poort aangepast.

Voor ik dit probleem had, was mijn server FreeSCO. Daar draaide een simpele RAW printer server op die alles van poort 515 printe naar /dev/lp0. Dat werkte prima en er viel verder niets in te stellen, maar sinds ik een echte distro er op heb heb ik dit probleem.

De magic filters heb ik wel geinstalleerd (ii magicfilter 1.2-54 automatic printer filter.), maar de huidige versie van lprng lijkt deze niet te willen gebruiken. Ik ga wel ff handmatig klooien met de configfile en kijken of hij de magicfilters hapt.

Ik heb jammergenoeg mijn vorige config die werkte met de FreeSCO server overschreven :/
owk.. ik heb nu ":if=/etc/magicfilter/dj690c-filter" in de printcap file gezet ipv die rhs filters, maar er komt nog steeds niets zinnigs uit die printer.. nog steeds dezelfde fouten.

[ Voor 12% gewijzigd door aP_ op 15-01-2003 15:42 . Reden: Laatste regel toegevoegd ]

Het is lastig om je specs up to date te houden


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Uit de manpage van lpd:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
BOUNCE QUEUES
Normally job files are forwarded to a printer without modification.  
The flag makes the queue a bounce  queue  and  allows banners to be 
generated and data files to passed through the appropriate format filter.  
The entire output of this process is then passed to the destination with 
the format specified by the bq_format option (default l or binary).   
See  PRINTING OPERATIONS for details about filters.  For example, the 
following printcap entry will filter format f files.
##
testbq:sd=/usr/spool/testbq:
  :lpd_bounce
  :bq_format=l
  :lp=final@host
  :if=/usr/lib/filter_for_f
  :mf=/usr/lib/filter_for_m
  :pf=/usr/lib/filter_for_pr


Experimenteer dus eens met de lpd_bounce en bq_format opties.

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


  • aP_
  • Registratie: Maart 2001
  • Laatst online: 06-01 14:56
Owk. ik heb er een beetje mee zitten spelen, maar het maakt helemaal niets uit. Het maakt niets uit wat het formaat van het bestand is. Gewoon plain text of PostScript of zo.. hij heeft het altijd gedaan met de filter van lprngtool (van magicfilter). Nu ik dat heb ingesteld doet hij het nog niet. Het resultaat blijft hetzelfde. Vanaf windows clients kan ik trouwens wel goed printen. Zowel gewone text als plaatjes enz..

Het is lastig om je specs up to date te houden


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Toch niet vergeten om de lpd (lprng) deamon te herstarten na wijzing van de printcap entry?

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


  • aP_
  • Registratie: Maart 2001
  • Laatst online: 06-01 14:56
Waarom overkomt mij dit altijd? :P iedereen vraagt me altijd zulke dingen. Sorry :) ja, ik heb alle nodige deamons gerestart.

edit:
Ik heb nu net cupsys weer geinstalleerd op de linux client. De server is nu volgens mij wel goed, want de windows clients kunnen prima afdrukken met de printer. Ook gaan alle test-pagina's vanaf de linux client goed (ASCII en PostScript bij lprngtool en de standaard testpagina van de cups webinterface), alleen kunnen de gewone programma's nog niets.

Qua filters heb ik de rhs filters, die bij lprngtool horen, geprobeerd en ook de magicfilters. Nu ik cupsys draai horen daar ook weer andere filters bij, maar ik weet niet of mijn systeem wel via cups probeert te printen. Ik kan nergens aan merken dat cupsys de printfunctie van lprng heeft overgenomen. Het bouncen heeft mij ook niet opgeleverd.

Omdat alle testpagina's wel lukken en alle prints vanaf windows clients ook, denk ik wel dat het aan de filters ligt.. of de instellingen van printercap, maar die heb ik al gepost, dus dat valt te controleren.

[ Voor 87% gewijzigd door aP_ op 16-01-2003 00:12 ]

Het is lastig om je specs up to date te houden


  • aP_
  • Registratie: Maart 2001
  • Laatst online: 06-01 14:56
Nah.. nu weer iets anders geprobeerd: apsfilter. Het filtersysteem ziet er heel goed uit en heeft veel opties. Na het instellen van de hele zooi heb ik een testpagina af laten drukken. De kwaliteit van de test is een stuk beter dan de andere tests van bijv lprngtool of cups. Dat kan ook liggen aan de testpagina zelf, maar ok.

De setup had automagisch wat lines voor de filters toegevoegd aan de printcap file. ff lpc reread gedaan als de setup voorstelde en ook maar ff de local deamon gerestart. Maar jah, de pagina's die ik daarna weer afdruk zorgen weer voor dezelfde problemen. Alle testpagina's gaan dus goed, maar dat is het :/

Kan iemand misschien wat meer licht brengen? :)

Het is lastig om je specs up to date te houden


  • aP_
  • Registratie: Maart 2001
  • Laatst online: 06-01 14:56
/me aP_ geeft het topic een klein schopje met de hoop dat er meer dan 1 iemand reageert :)

de conclusie tot nu toe is dat het printprobleem niet aan de server ligt, maar aan de linux client. Vanaf windows clients lukt het afdrukken nl prima. Alle mogelijke testpagina's vanaf de linux client werken ook prima, maar als er gewoon iets afgedrukt wordt, dan krijg ik iets als dit geprint:
code:
1
2
3
%!PS-Adobe-3.0
          %%Creator: Gnome Print 
                %%CreationDate: D:2003011513

[ Voor 4% gewijzigd door aP_ op 17-01-2003 19:08 . Reden: bericht ff wat minder breed gemaakt ]

Het is lastig om je specs up to date te houden


  • Buffy
  • Registratie: April 2002
  • Laatst online: 26-12-2024

Buffy

Fire bad, Tree pretty

Nog steeds ruzie met lprng :)

Ik heb ook even een raw printer server aangemaakt en een bouncher op de client (precies volgens jouw printcaps maar met met andere filter aangezien mijn 'gs' geen DJ6XX driver heeft).
En het werkt gewoon zoals verwacht, in het status.pr bestand in de spool directory kan ik zien dat de postscript file eerst naar de filter gaat waarna het resultaat naar de server wordt verstuurd.

Ik heb overigens geen gebruik gemaakt van de lprngtool maar de wijzigingen handmatig door gevoerd. Tevens zijn alle opties in het /etc/lprng/lpd.conf bestand uitgecommentariseerd en gebruik ik dus de default instellingen.

Wat je overigens ook kan doen is via samba printen. Op je server moet je dan een samba printer defineren en op je client maak je in /etc/printcap een lokale printer aan met 'lp=/dev/null' (of een echt bestand beschijfbaar door de groep 'lp', blijft als het goed is toch leeg :)) en de filter 'if=/usr/local/sbin/smbprint' waarbij smbprint het volgende shell script is:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#! /bin/sh


#
# Debugging log file, change to /dev/null if you like.
#
#logfile=/tmp/smb-print.log 
logfile=/dev/null

TRANS=0

echo "USER        :  $USER"             >  $logfile
echo "LOGNAME     :  $LOGNAME"          >> $logfile
echo "LOGDIR      :  $LOGDIR"           >> $logfile
echo "SPOOL_DIR   :  $SPOOL_DIR"        >> $logfile
echo "CONTROL_DIR :  $CONTROL_DIR"      >> $logfile
echo "PRINTCAP_ENTRY : $PRINTCAP_ENTRY" >> $logfile

#
# The last parameter to the filter is the accounting file name.
#   Extract the directory name from the file name.
#   Concat this with /.config to get the config file.
#
config_file=$SPOOL_DIR/.config


# Should read the following variables set in the config file:
#   server
#   service
#   password
#   magicfilt
source $config_file


# Some debugging help, change the >> to > if you want to same space.
#
echo "server $server, service $service, magicfile $magicfilt" >> $logfile

(
# NOTE You may wish to add the line `echo translate' if you want automatic
# CR/LF translation when printing.
    if [ $TRANS -eq 1 ]; then
          echo translate
        fi
    echo "print -"
    /etc/magicfilter/$magicfilt  # security hole?
) | /usr/bin/smbclient "\\\\$server\\$service" $password -U $server -N -P >> $logfile

De server gevens haalt het smbprint script uit het .config dat je in de (lokale) spooldirectory moet zetten en ziet er als volgt uit:
code:
1
2
3
4
server="SERVERNAME"
service="PRINTERSHARE"
password="PRINTERPASSWORD"
magicfilt="dj690c-best-filter"

en alleen door de print user (daemon?) kan worden lezen indien password is ingevuld.

Nadeel hiervan is dat er geen control data naar de printserver wordt gestuurd zodat als je de remote printer queue opvraagt je geen job informatie meer hebt.

That which doesn't kill us, makes us stranger - Trevor (AEon FLux)
When a finger points at the moon, the imbecile looks at the finger (Chinese Proverb)


  • aP_
  • Registratie: Maart 2001
  • Laatst online: 06-01 14:56
Een tijd lang gaf de spool van apsfilter geen info in status.pr. Nu ik net weer keek en wat dingen probeerde (ook rechten van de spool dir aangepast, die de install zelf had ingesteld), kwam er wel vanalles in te staan. Oa dit:
code:
1
2
3
4
IF filter 'apsfilter' filter msg - 'apsfilter: missing psset; can't
convert file type 'postscript document text conforming at level 3.0''
IF filter 'apsfilter' filter msg - 'apsfilter: Please install psset if you
want to be able to print files of this type'


Ik heb a2ps geinstalleerd (debian packet systeem), omdat daar psset in zit. Tegelijkertijd heb ik met lprngtool ook nog een andere line er bij in gegooid. Bij de advanced options van lprngtool bij een printer kon je ook een output filter opgeven. Hieronder staat het resultaat van de config:
code:
1
2
3
4
5
6
7
8
9
10
11
12
##LPRNGTOOL## REMOTE cdj550 300x300 letter {} DeskJet550 3 1
lpr|lp
:sd=/var/spool/lpd/lpr
:sh
:mx=0
:af=/var/spool/lpd/lp0/acct
:ml=0
:lf=/var/spool/lpd/lp0/log
:cd=/var/spool/lpd/lp0/
:of=/etc/magicfilter/dj690c-filter
:lp=lp@192.168.0.5
:if=/usr/lib/rhs/rhs-printfilters/master-filter

Ik heb de inputfilter dus gewoon laten staan, maar een outputfilter van magicfilter er bij in gedaan. Als ik die dj690c-filter gewoon als 'if' doe, dan werkt het niet, maar nu kan ik prima printen. Aan welke van de twee dingen het ligt weet ik zo niet, maar ik schat de 'of' instelling. Ik hoop iig dat het nu goed werkt en ik niet weer voor verrassingen kom te staan.

Bedankt voor je hulp Dawns_sister :) Ik vat eigenlijk niet waarom er maar 1 iemand reageert op dit topic. Maar jah.. het werkt ;).

Ik heb dat scriptje voor samba printing ff opgeslagen in een textbestand :) misschien heb ik daar nog eens wat aan.

Het is lastig om je specs up to date te houden

Pagina: 1