Kyocera FS-1041 (GDI) mit Ubuntu drucken

Ich habe mir einen sehr kostengünstigen Laserdrucker von Kyocera (FS-1041) gekauft. Er hält auf jeden Fall auch das was er verspricht und liefert sehr gute Druckergebisse für den Preis.
Aber leider gibt es für wenig Geld keine eierlegende Wollmischsau. Bei Druckern im unteren Preissegment wird sehr oft an der Hardware gespart die es möglich machen würde, vernünftige Formate wie Postscript direkt an den Drucker zu senden. Das heißt der Drucker unterstützt nur den GDI Standard von Windows der unter Linux nicht nutzbar ist.

Der Anschluss über die USB Schnittstelle meiner Fritzbox funktionierte super und ich konnte den Drucker problemlos als Netzwerkdrucker unter Windows einrichten. Nach mehrtägiger Suche im Internet und herum experimentieren habe ich auch endlich eine funktionierende Möglichkeit gefunden den Drucker unter Ubuntu 1404 zum laufen zu bekommen. 🙂

Der Trick ist der verfügbare Mac Treiber. Mit dem Programm darling kann man Software für OSX auch unter Linux ausführen. Es gibt darling zwar auch in einer ppa Quelle, aber das Paket hat bei mir leider nicht funktioniert. Daher musste ich darling selber kompilieren.

 

Kompilieren:

Ich habe viel hin und her installiert und kann daher nicht zu 100% alle Pakete benennen, die nach einer Ubuntu Installation erforderlich sind. Genutzt habe ich die Ubuntu Version 1404 in der Gnome Variante.

Also alles erstes müssen wir ein paar Pakete aus den normalen Paketquellen installieren.

sudo apt-get install git cmake clang nasm g++ subversion

Subverison habe ich nicht benötigt.

sudo apt-get install libxml2-dev libgnutls-dev libicu-dev libcairo-dev \
                     libjpeg-dev libpng-dev libtiff-dev libbsd-dev libudev-dev \
                     liblcms-dev libkqueue-dev libssl-dev libbz2-dev uuid-dev \
                     libncurses-dev libxrandr-dev libavcodec-dev libavformat-dev

Die Informationen stammen von der darling Homepage [3]. Zusätzlich habe ich beim kompilieren noch folgende zwei Bibliotheken benötigt:

sudo apt-get install libxt-dev libmtbl-dev

Als aller erstes wechseln wir in irgendein Verzeichnis. In dieser Beschreibung werde ich das gewählte Verzeichnis als Homeverzeichnis annehmen. Dort legen wir einen Ordner an.

mkdir $HOME/darling
cd $HOME/darling

Gnustep

Zu erst müssen wir gnustep [5] installieren. Dazu laden wir uns einfach die aktuellste core Version herunter.

wget ftp://ftp.gnustep.org/pub/daily-snapshots/core.current.tar.bz2
tar xjf core.current.tar.bz2
cd core

Dann müssen die verschiedenen Pakete von gnustep installiert werden:

Make:

cd make
CC=clang CXX=clang++ ./configure
sudo make install
cd ..

Base:

cd base
CC=clang CXX=clang++ ./configure
make
sudo make install
cd ..

Gui:

cd gui
CC=clang CXX=clang++ ./configure
make
sudo make install
cd ..

Back:

cd back
CC=clang CXX=clang++ ./configure
make
sudo make install
cd ..

Zusätzlich benötigen wir noch das corebase Paket:

cd $HOME/darling/
git clone https://github.com/gnustep/gnustep-corebase
cd gnustep-corebase

CC=clang CXX=clang++ ./configure
make
sudo make install
cd ..

Falls hier bei der Installation Probleme auftauchen liegt das meist an fehlenden Bibliotheken. Die sollten aber alle in den Paketquellen von Ubuntu zu finden sein.
Falls noch Bibliotheken nötig sein sollten, dann gebt bitte einfach mal bescheid.

 

Darling:

Nach dem gnustep erfolgreich installiert wurde, kann man darling herunterladen und installieren:

git clone https://github.com/LubosD/darling.git
cd darling
CC=clang CXX=clang++ cmake .
make
sudo make install

 

Treiber extrahieren:

Mac Treiber [1] herunter laden.

sudo apt-get install dmg2img pax
mkdir ppd
mkdir rastertokpsl
dmg2img -i FS-1041-1061DN\ OS\ X\ 10.5\ or\ higher.dmg  -o FS-1041.dmg
sudo mount -t hfsplus -o loop FS-1041.dmg /mnt
cp /mnt/Kyocera\ OS\ X\ 10\.5+\ build\ 2012.09.06.mpkg/Contents/Packages/Kyocera\ OS\ X\ subinstaller.mpkg/Contents/Packages/FS1220MFPGDI_b.pkg/Contents/Archive.pax.gz ./ppt/
cp /mnt/Kyocera\ OS\ X\ 10\.5+\ build\ 2012.09.06.mpkg/Contents/Packages/Kyocera\ OS\ X\ subinstaller.mpkg/Contents/Packages/RastertoKPSLFilter\ v1.0.pkg/Contents/Archive.pax.gz ./rastertokpsl/
gunzip ppt/Archive.pax.gz
gunzip rastertokpsl/Archive.pax.gz

cd ppt
pax -r -f Archive.pax
cd ../rastertokpsl
pax -r -f Archive.pax
cd ..

Erklärt sind die Schritte hier [2].

cp ./rastertokpsl/rastertokpsl.app/Contents/MacOS/rastertokpsl kpslapple

Getestet werden kann das jetzt mit:

$ dyld kpslapple
ERROR: rastertopcl job-id user title copies options [file]

Falls die Fehlermeldung erscheint, dass eine Bibliothek nicht gefunden wurde, müssen diese noch kurz verlinkt werden:

sudo ln -s /usr/lib/x86_64-linux-gnu/libcupsimage.so.2 /usr/lib/libcupsimage.2.dylib
sudo ln -s /usr/lib/x86_64-linux-gnu/libcups.so.2 /usr/lib/libcups.2.dylib

Im Anschluss erstellen wir noch das Script rastertokpsl.c mit folgendem Inhalt:

int main(int argc, char *argv[])
{
	char *newargs[argc+2];
	newargs[0]="rastertokpsl";
	newargs[1]="/usr/lib/cups/filter/kpslapple";
	int i;
	for(i = 1 ; i < argc ;i++)
	{
		newargs[i+1] = argv[i];
	}
	newargs[i+1] = NULL;
	execv ("/usr/local/bin/dyld",newargs);
}

Compiliert wird es mit:

gcc rastertokpsl.c -o rastertokpsl

Jetzt noch die Dateien an die richtige Stelle kopieren:

sudo cp kpslapple /usr/lib/cups/filter/kpslapple
sudo cp rastertokpsl /usr/lib/cups/filter/rastertokpsl
sudo chmod 755 /usr/lib/cups/filter/kpslapple /usr/lib/cups/filter/rastertokpsl

Zu guter Letzt wird noch die PPD Datei verändert die als Treiber mit CUPS unter Linux geladen werden kann.  Hier ein diff zur Originaldatei:

$ diff Kyocera\ FS-1041GDI_org.ppd Kyocera\ FS-1041GDI.ppd 
38,40c38
< *cupsFilter: "application/vnd.cups-raster 0 /Library/Printers/Kyocera/kpsl/rastertokpsl.app/Contents/MacOS/rastertokpsl"
< 
< *APDialogExtension: "/Library/Printers/Kyocera/PDEs/KMAdjustment.plugin"
---
> *cupsFilter: "application/vnd.cups-raster 0 rastertokpsl"

Die Datei kann jetzt in CUPS als Treiber angegeben werden und dann sollte das Drucken funktionieren.

 

Quellen:

[1]: Kyocera Treiber
[2]: http://forum.ubuntuusers.de/topic/drucker-mit-wine-benutzen/
[3]: http://www.darlinghq.org/ubuntu-build-instructions
[4]: http://www.darlinghq.org/build-instructions
[5]: https://github.com/gnustep/

Dieser Beitrag wurde unter Linux, Opensource abgelegt und mit , , , , , , , , , , , , , , verschlagwortet. Setze ein Lesezeichen auf den Permalink.

16 Antworten zu Kyocera FS-1041 (GDI) mit Ubuntu drucken

  1. Zik0815 sagt:

    Hallo,

    das Thema ist zwar schon etwas älter, aber es gibt bestimmt noch Leute wie mich, die danach suchen und diese Diskussion finden ☺ Auf der beiliegenden CD befindet sich mittlerweile ein Linux Ordner mit den passenden PPD Dateien. Einfach German.tar.gz aus dem 64 oder 32 Ordner (je nach System) entpacken und die install.sh ausführen. Danach mit dem Browser die Adresse http://localhost:631/admin aufrufen und den Drucker (stand bei mir an erster Stelle) auswählen. Schon läuft alles!

    Ich nutze den FS-1041 unter Linux Mint 20.2 XFCE auf einem 2011er MacBook Pro.

    Ich habe die enpackten Ordern und die Anleitung in meiner pcloud freigegeben. Ich habe nur die install.sh aus dem German Ordner installiert.

    https://u.pcloud.link/publink/show?clOqPGPybSRlt5k

    Viel Spaß beim Drucken! ☺

    • Kalle sagt:

      Danke, das ist ein guter Hinweis. Ich nutze mittlerweile den Kyocera ECOSYS P5021cdw der out off the box die gängigen Formate unterstützt und somit zuverlässig auch unter Linux druckt.

  2. MEX sagt:

    Vielen Dank !

    https://github.com/lurepheonix/rastertokpsl-fs-1040

    hat mit elementary OS 5.x auch tadellos funktioniert !

  3. Albert sagt:

    Hello, it's rather an old article, but I've got the same printer and was able to install the drivers using this rep: https://github.com/lurepheonix/rastertokpsl-fs-1040
    Worked like a charm and my fs-1041 is accessible over an arm mini pc (orange pi pc with debian armbian).

  4. andreas sagt:

    Kyocera hat einen Linux-Druckertreiber für den FS-1040
    (https://www.kyoceradocumentsolutions.eu/index/service/dlc.false.driver.FS1040._.EN.html)
    mein FS-1041 unter Xubuntu 16.04LTS funzt prächtig damit ...

  5. Patrik sagt:

    Kein Problem! Bin grad auf Arbeit, deswegen hab ich das Setup nicht vor mir, aber es war in diesem Absatz:

    cd $HOME/darling/
    git clone https://github.com/gnustep/gnustep-corebase
    cd gnustep-corebase

    CC=clang CXX=clang++ ./configure
    make
    sudo make install
    cd ..

    Nach diesem Schritt sollte ich mich mit einem username einloggen, den ich natürlich nicht habe. Könnte mir vorstellen, dass die das nicht mehr öffentlich zugänglich gemacht haben?

    Danke nochmal für die Antwort!

    • Kalle sagt:

      Moin Patrik,
      schau mal auf http://www.gnustep.org/resources/downloads.php.
      Vielleicht versuchst du es mal mit den Paketen von dort. Das git repo "corebase" scheint es nicht mehr öffentlich zu geben.

      Es kann aber auch sein, dass das Paket nicht mehr benötigt wird. Das müsste man mal testen.
      Habe gerade leider keine Zeit mich durch die changelogs zu lesen.

      LG
      Kalle

  6. Patrik sagt:

    Hallo,

    ich würde auch gerne meinen fs 1041 unter ubuntu zum laufen bringen, aber ich scheitere jedesmal. Ihre Anleitung ist vll noch das ausführlichste was man im Internet finden kann, jedoch schaffe ich es nicht problemlos durchzuführen. Ich werde wie der andere User bei dem corebase Paket nach einem Usernamen gefragt, den ich natürlich nicht habe. Auf der Seite komme ich auch nicht weiter... Könnten Sie sich den Schritt vll nochmal genauer ansehen und für einen Leihen erklären? Das würde mir wahrscheinlich sehr helfen! Ansonsten nochmal Danke für Ihre Mühe das so ausführlich zu dokumentieren!

    mfg

    • Kalle sagt:

      Moin Patrik,
      entschuldige die späte Antwort.
      ich habe noch nicht genau verstanden wo du einen Benutzernamen eingeben musst?

      LG
      Kalle

  7. Pingback: Anonymous

  8. Lukas sagt:

    Super tutorial!
    Ich wünschte es würde auf dem raspberrypi funktionieren aber clang 3.0 hat bugs und 3.1 ist ein wenig aufwendig auf dem pi zu kompilieren...
    habe einen fs1041 und hätte den gern netzwerk ansteuerbar...

  9. AreaXYZ sagt:

    cd $HOME/darling/
    git clone https://github.com/gnustep/gnustep-corebase
    cd gnustep-corebase

    CC=clang CXX=clang++ ./configure
    make
    sudo make install
    cd ..

    Need a Username ?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.

Time limit is exhausted. Please reload CAPTCHA.