← Back to team overview

sslug-teknik team mailing list archive

Re: SV: Print død eller printerport død?

 

Kasper Myram wrote:

> - Tilføjede "alias parport_lowlevel parport_pc" og fik hul til printeren med
> "cat noget.txt > /dev/lp0"

Jeg har følgende i min /etc/modules.conf:

alias parport_lowlevel parport_pc
options parport_pc io=0x378 irq=none

Det ser du ud til at have fået på plads. Behovet for dette er en relativ
ny forteelse.

> - Tilføjede "if=/dev/spool/lpd/lp/filter:" til slutningen af /etc/printcap
> og fik hul til lpq

I /etc/printcap skal du have nogle fornuftige entries, men formatet er
ret kryptisk.  Jeg har bla følgende (for en hp895cxi):

raw:\
        :lp=/dev/lp0:\
        :sd=/usr/spool/lpd:\
        :mx#0:\
        :pl#66:pw#80:\
        :sh:

# HP895Cxi draft PostScript interface
lp|hp895d|hp|HP 895Cxi PostScript draft:\
        :if=/usr/local/sbin/hp895cxi-draft:\
        :tc=raw:

Her skal du så have en IF filter, der kan konvertere data til noget din
printer forstår.

Jeg bruger et program, der hedder magicfilter, men der er flere af denne
slags programmer i omløb.  Det er rart at have et filter, der selv
konverterer, så du bare kan printe et billede eller en dvi-fil eller ren
tekst uden at skulle give forskellige options til lpr.  Jeg kører i
praksis min printer som en postscript-printer.

For at teste dit filter, kan du bare køre det selv.  Send output til
/dev/null, for det består sikkert alligevel af bit-fnidder til
printeren.  Fejlmeddelelser fra et filter ender ikke altid noget
fornuftigt sted hen.  Dit problem kan være dette.

Det kan være, at du skal su'e til daemon eller andet, hvis du har et
problem med rettigheder.  Det kan være, at dit filter ikke kan læse de
nødvendige filer pga rettighederne.

> Ved at ps -ax|greppe efter lpd finder jeg processen, men ved lpc status
> fortæller at "no daemon present"... Her kan jeg ikke mere! Hvodden får jeg
> lpd til at styre den kø.

På mit system får jeg:

$ lpc status
raw:
        queuing is enabled
        printing is enabled
        no entries
        no daemon present
lp:
        queuing is enabled
        printing is enabled
        no entries
        no daemon present
hp895n:
        queuing is enabled
        printing is enabled
        no entries
        no daemon present
hp895p:
        queuing is enabled
        printing is enabled
        no entries
        no daemon present

Printeren raw sender alt råt til printeren uden om filtre, de tre andre
er forskellige kvalitetsniveauer (draft, normal, presentation) som min
GhostScript output driver forstår.

Bemærk 'no daemon present'

Det er normalt.  Det betyder blot, at køen er tom, og at der ikke er
fork'et nogen separat lpd til at håndtere lige præcis den kø.


> Når jeg smider noget i køen med lpr og bagefter lpq'er er der no entries...

Du har vel ikke /dev/lp1 stående i /etc/printcap! Der blev lavet et
skift for noget tid siden fra /dev/lp1 til /dev/lp0, og har du ikke
noget på /dev/lp1 er den et sort hul.

Det kan også være et filter, der exiter med 0 (success), men alligevel
ikke har formået at sende data til printeren.

Jeg har ingen idé om hvad /dev/spool/lpd/lp/filter er for en fil på dit
system, men for at teste lpd, skal du lave en printcap entry uden noget
filter, og så printe noget, som din printer forstår (ren tekst).  Det
svarer til cat>/dev/lp1 testen, blot gennem lpd. Først når det virker
skal du begynde at rode med filtre.

Printere er en evig kilde til problemer, men hvis man tester systematisk
startende med den simpleste situation og så gradvist tilføjer
komplikationer, så kan man relativt hurtigt lokaliserer problemerne.

Rækkefølgen er så:

cat > /dev/lp0 		# Ok hos dig.
lpr -Praw		# uden filter - skal prøves
lpr			# output gennem filter - virker ikke for dig.

Jeg håber at dette kan hjælpe dig.

-- 
René Seindal (rene@xxxxxxxxxx)			http://www.seindal.dk/rene/


References