Druckerproblem: Kyocera FS 1000

Uwe

Well-Known Member
Hallo!

Ich habe einen kyocera FS 1000 am Parallelport angeschlossen, jedoch Probleme.

Ich habe versucht, genau nach Handbuch vorzugehen, der Drucker druckt auch. Jedoch trotz des installierten Filters druckt er falsche Sonderzeichen im Plain Text (ist ja nicht dramatisch, ps benötige ich vermutlich eh öfters) und Postscipt nur als Befehls-Kauderwelsch (halt die Befehle direkt als Text).

Mittels CUPS hat erst der Dämon nicht gestartet, nach manuellem Start musste ich feststellen, dass der im Gegensatz zu Debian den Kyocera nicht kennt.

Wie bekomme ich den Drucker nun ans laufen?

Meine /etc/printcap

kyocera|lp|Kyocera FS-1000:\
:sh:sd=/var/spool/kyocera:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/ifkyocera:


meine /usr/local/libexec/ifkyocera (die ich nicht verstehe, aber aus dem Hanbuch übernommen habe).


#!/bin/sh
#
# ifhp - Print Ghostscript-simulated PostScript on a Kyocera 1000
# Installed in /usr/local/libexec/ifkyocera

#
# Treat LF as CR+LF:
#
printf "\033&k2G" || exit 2

#
# Read first two characters of the file
#
IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`

if [ "$first_two_chars" = "%!" ]; then
#
# It is PostScript; use Ghostscript to scan-convert and print it.
#
# Note that PostScript files are actually interpreted programs,
# and those programs are allowed to write to stdout, which will
# mess up the printed output. So, we redirect stdout to stderr
# and then make descriptor 3 go to stdout, and have Ghostscript
# write its output there. Exercise for the clever reader:
# capture the stderr output from Ghostscript and mail it back to
# the user originating the print job.
#
exec 3>&1 1>&2
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=kyocera \
-sOutputFile=/dev/fd/3 - && exit 0
else
#
# Plain text or HP/PCL, so just print it directly; print a form feed
# at the end to eject the last page.
#
echo "$first_line" && cat && printf "\033&l0H" &&
exit 0
fi

exit 2

Vielen Dank für eure Hilfe!

Uwe
 
Hallo.

Nach der Installation von CUPS, hast Du da auch folgendes gemacht:

/etc/rc.conf:
lpd_program="/usr/local/sbin/cupsd"

und

mv /usr/bin/lp /usr/bin/lp.weg
ln /usr/local/bin/lp /usr/bin/lp
Analog mit lpr, lprm und lpq

Wenn Du das gemacht hast, dann startet cups auch nach der Eingabe von "cupsd".

Bei einem make world musst Du aber wieder die cups lp* Dinger neu linken.
 
Hi,
du kannst es auch anders machen:
CUPS installiert in /usr/local/etc/rc.d ein Startscript.Das kannst du von cupsd.sh.sample nach cupsd.sh kopieren und ggf ausführbar machen. Damit wird der cupsd beim hochfahren immer gestartet. Zudem benötigst du noch den cups-lpr-Port. Dann kannst du wie grunix beschrieben hat, die lp* in /usr/bin wegkopieren und links nach /usr/local/bin machen. Wenn du in der make.conf aber NO_LPR=true einträgst, brauchst du dir auch beim make world keine Gedanken um die links zu machen.
Dass dein BSD-CUPS den kyocera nicht kennt, liegt sicherlich daran, dass du kein PPD-File für ihn hast. Wenn du noch die Debian-Kiste benutzt, kannst du dort suchen wo der CUPS installiert ist. Dort findest du bestimmt auch eine kyocera1000.ppd (oder so ähnlich). Oder such mal bei Kyocera selbst. Ich hab einen Kyocera 1010, die ppd Datei ist aus den WinNT Treibern. (waren nur selbstenpackende zips).

Gruß

Tulkas
P.S.
Wenn du CUPS benutzt, brauchst du eigentlich keine /etc/printcap, weil CUPS eigene Filter mitbringt.
 
Zuletzt bearbeitet:
Hallo!

Erstmal Danke für eure Mühe, einige Probleme haben sich geklärt, andere jedoch nicht.

Cups startet nun automatisch, ich kann den Kyocera auswählen (habe die original PPD Datei von linuxprinting.org/weisnichtmehr runtergeladen und in /usr/local/share/cups/model/ kopiert).

Jedoch druckt der als Testseite immernoch die Postscript - Befehle.
Bin relativ ratlos...

An falschen vorherigen LPD-Einstellungen kann das nicht liegen, da ich das Gesamte System neu installiert habe (nicht nur wegen CUPS, war noch mehr beim experimentieren kaputt gegangen...)

Habt ihr noch irgendwelche Ideen?

Viele Dank,
Uwe

PS: Wenn länger keine Raktion auf eure Hilfe kommt, liegt das daran, dass ich mit den Tipps erstmal selbst versuche, weiterzukommen... Ich lese sie meist dennoch am selben Tag.
 
Auf Rat aus einem anderen Beitrag habe ich versucht, alles mit apsfilter ans laufen zu bekommen, er hat auch eine testseite einwandfrei gedruckt, allerdings war nachher der Drucker nicht auffindbar /zumindest nicht standarddrucker...)

Da es aber mit dem Ghostscripttreiber pxlmono funktionierte, habe ich es nach der im Handbuch beschriebenen Methode versucht.

Der Text mittels lptest wird richtig gedruckt, (mit textfilter, der Zeilenumbrüche einfügt), jedoch kommt steht nun nach Druckversuch einer Postscript-Datei in der Logdatei der Fehler

**** Unable to open the initial device, quitting.

Mein Filter ist

#!/bin/sh
#
# ifkyocera - Print Ghostscript-simulated PostScript on a Kyocera FS 1000
# Installed in /usr/local/libexec/ifkyocera

#
# Treat LF as CR+LF:
#
printf "\033&k2G" || exit 2

#
# Read first two characters of the file
#
IFS="" read -r first_line
first_two_chars=`expr "$first_line" : '\(..\)'`

if [ "$first_two_chars" = "%!" ]; then
#
# It is PostScript; use Ghostscript to scan-convert and print it.
#
# Note that PostScript files are actually interpreted programs,
# and those programs are allowed to write to stdout, which will
# mess up the printed output. So, we redirect stdout to stderr
# and then make descriptor 3 go to stdout, and have Ghostscript
# write its output there. Exercise for the clever reader:
# capture the stderr output from Ghostscript and mail it back to
# the user originating the print job.
#
exec 3>&1 1>&2
/usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=pxlmono\
-sOutputFile=/dev/fd/3 - && exit 0
else
#
# Plain text or HP/PCL, so just print it directly; print a form feed
# at the end to eject the last page.
#
echo "$first_line" && cat && printf "\033&l0H" &&
exit 0
fi

exit 2

Meine /etc/printcap

.....
kyocera|lp|Kyocera FS 1000:\
:sh:sd=/var/spool/kyocera:\
:lp=/dev/lpt0:\
:if=/usr/local/libexec/ifkyocera:\
:lf=/var/log/kyocera.log:

Allerdings existiert der Treiber, denn gs- h liefert

GNU Ghostscript 7.07 (2003-05-17)
Copyright (C) 2003 artofcode LLC, Benicia, CA. All rights reserved.
Usage: gs [switches] [file1.ps file2.ps ...]
Most frequently used switches: (you can use # in place of =)
-dNOPAUSE no pause after page | -q `quiet', fewer messages
-g<width>x<height> page size in pixels | -r<res> pixels/inch resolution
-sDEVICE=<devname> select device | -dBATCH exit after last file
-sOutputFile=<file> select output file: - for stdout, |command for pipe,
embed %d or %ld for page #
Input formats: PostScript PostScriptLevel1 PostScriptLevel2 PDF
Default output device: x11
Available devices:
bbox bit bitcmyk bitrgb bmp16 bmp16m bmp256 bmp32b bmpgray bmpmono
bmpsep1 bmpsep8 ccr cgm24 cgm8 cgmmono cif dfaxhigh dfaxlow epswrite
faxg3 faxg32d faxg4 fs600 gdi hpdj inferno jpeg jpeggray mgr4 mgr8
mgrgray2 mgrgray4 mgrgray8 mgrmono miff24 nullpage pam pbm pbmraw pcl3
pcx16 pcx24b pcx256 pcxcmyk pcxgray pcxmono pdfwrite pgm pgmraw pgnm
pgnmraw pkm pkmraw pksm pksmraw plan9bm png16 png16m png256 pngalpha
pnggray pngmono pnm pnmraw ppm ppmraw psgray psmono psrgb pswrite pxlmono
sgirgb stp sunhmono tiff12nc tiff24nc tiffcrle tiffg3 tiffg32d tiffg4
tifflzw tiffpack uniprint x11 x11alpha x11cmyk x11cmyk2 x11cmyk4 x11cmyk8
x11gray2 x11gray4 x11mono x11rg16x x11rg32x
Search path:
. : /usr/local/share/ghostscript/7.07/lib :
/usr/local/share/ghostscript/fonts
For more information, see /usr/local/share/ghostscript/7.07/doc/Use.htm.
Report bugs to bug-gs@ghostscript.com, using the form in Bug-form.htm.

Die Ausgabedatei /dev/fd/3 des Filters existiert allerdings nicht, jedoch habe ich keine Ahnung, was an deren Stelle stehen soll.

Fragende Grüße,
Uwe
 
Zurück
Oben