Archiv:Druckerverwaltung und Netzwerkdrucker einbinden: Unterschied zwischen den Versionen
imported>Tomas123 |
imported>Tomas123 |
||
Zeile 337: | Zeile 337: | ||
</pre> | </pre> | ||
Mit dem Script die Avahi "services" erzeugen und installieren: | Mit dem Script die Avahi "services" erzeugen und installieren: | ||
'''Hinweis''': Der Drucker muss vorher in CUPS freigegeben werden. Für lokale Drucker ohne Freigabe wird kein logischerweise kein *.service generiert. | |||
<pre> | <pre> | ||
> /opt/bin/python2.5 ./airprint-generate.py | > /opt/bin/python2.5 ./airprint-generate.py | ||
Zeile 355: | Zeile 357: | ||
> /usr/syno/etc/rc.d/S99avahi.sh restart | > /usr/syno/etc/rc.d/S99avahi.sh restart | ||
</pre> | </pre> | ||
Hinweis: Solange man S99avahi.sh nicht neu startet, werden alle Service sofort (1 Sekunde) im Netzwerk veröffentlicht und '''keine fremden *.service gelöscht'''. | ---- | ||
'''Hinweis''': Solange man S99avahi.sh nicht neu startet, werden alle Service sofort (1 Sekunde) im Netzwerk veröffentlicht und '''keine fremden *.service gelöscht'''. | |||
Zum Testen ist somit '''kein''' "S99avahi.sh restart" erforderlich. Es reicht dann ein einfaches kopieren beliebig vieler *.service in den Ordner /usr/syno/avahi/services/. | Zum Testen ist somit '''kein''' "S99avahi.sh restart" erforderlich. Es reicht dann ein einfaches kopieren beliebig vieler *.service in den Ordner /usr/syno/avahi/services/. | ||
---- | |||
versucht man jetzt über Airprint zu drucken: | versucht man jetzt über Airprint zu drucken: | ||
Zeile 368: | Zeile 372: | ||
> ln -s /usr/local/bin/gs /usr/bin/ | > ln -s /usr/local/bin/gs /usr/bin/ | ||
</pre> | </pre> | ||
Hinweis: /usr/local/bin/gs ist nur vorhanden, wenn in der DSM 4.1 wenigstens einmal ein Airprint-Drucker eingerichtet wurde. | |||
====letzte Schritte==== | ====letzte Schritte==== |
Version vom 27. September 2012, 09:42 Uhr
SEITE IM AUFBAU...
Einleitung
Synology bringt eine eigene Druckerverwaltung für USB-Drucker mit. Als Unterbau verwendet Synology CUPS. Leider sind die Elemente der Web-GUI von CUPS nicht Bestandteil der DSM-Firmware, so dass Cups auf Port 631 lauscht, aber die CUPS-Admin-Seite http://meine_syno_ip:631/admin nicht darstellen kann.
Für einen allgemein über USB angeschlossenen Drucker der von der Synology im Netzwerk freigegeben ist, benötigt DSM keinen Druckerteiber. Die gesamte Umwandlung des Druckjobs über den Druckertreiber in den RAW-Druckjob erfolgt dabei auf der PC Seite. Hier stehen dann oft die Original Treiber des Druckerherstellers zur Verfügung (optimales Druckergebnis).
Airprint
Die DSM Firmware der Synology kann einen Airprint Drucker emulieren. Das ermöglicht die Einbindung von nicht airprintfähigen Druckern und das Drucken von IOS-Geräten auf diese Drucker. Bei dieser Airprint-Emulation erfolgt die gesamte Umwandlung des Druckjobs in die Druckersprache mit Hilfe von Druckertreibern in der Synology. Als Druckertreiber kommt hier Gutenprint zur Anwendung. Die Liste der unterstützten Drucker: http://gimp-print.sourceforge.net/p_Supported_Printers.php In DSM 4.1 ist Gutenprint 5.2.9 integriert. Beim Drucken über Airprint werden deshalb keine Druckertreiber vom Druckerhersteller verwendet, so dass bei den Linux-Druckertreibern ggf. Fehler im Druckbild oder Probleme mit der Druckqualität auftreten können.
Netzwerkdrucker Canon/HP
Weiterhin können in der DSM keine Netzwerkdrucker eingebunden werden. Nachfolgend wird gezeigt wie Canon Drucker im Netzwerk mit bjnp einbindet.
Das gilt auch für HP Netzwerk-Drucker (Stichwort: Hplip, im Forum suchen nach "ipkg install hplip")
Voraussetzung
- geteste Version: DSM 4.0 / DSM 4.1
- weitere Hinweise im Forum: http://www.synology-forum.de/showthread.html?32614-HowTo-Airprint-mit-aktuellen-Gutenprint-Treibern
- werden eigene Module compiliert sind Unterschiede bei den Toolchains zu beachten (ARM-CPU / Power-PC / Intel-Atom). Weitere Hinweise im Text.
- geteste Hardware: Syno DS 212+ mit Canon Pixma MP970
Installationen
Variante 1: Deakivierung der DSM-CUPS und Aktivierung eines eigenen IPKG-CUPS-Servers
Bei dieser Variante stehen einem alle Möglichkeiten des Common Unix Printing Systems zur Verfügung:
- Einbindung von Netzwerkdruckern (CUPS Backend)
- Verwaltung von Druckern mit der CUPS-GUI
- Einstellungen der Drucker verwalten (Druckqualität etc.)
Dabei wird der DSM-CUPS-Server deaktviert und über ipkg ein CUPS-Server installiert.
Vereinfacht wird hier alles unter Root ausgeführt. Die Anleitung im Forum zeigt den Weg mit dem eingeschränkten Account admin http://www.synology-forum.de/showthread.html?32614-HowTo-Airprint-mit-aktuellen-Gutenprint-Treibern&p=268258&viewfull=1#post268258
ich habe nicht alles formatiert, ein > bedeutet:
> shell eingabe
Hinweise:
- Diese Anleitung ist für das ARM-Toolchain getestet worden.
- Laut Forum-Feedback funktioniert es auch auf einer Intel-Atom.
- Bei einer Synology mit PowerPC sind geringfüge Anpassungen erforderlich.
zur Vorbereitung erst einmal Optware installieren und Toolchain laden
Anleitung für Deine Syno: http://www.synology-wiki.de/index.php/IPKG
ggf Syno Startscript anpassen
/usr/local/etc/rc.d/Optware.sh
Pfad kontrollieren
> export PATH=/opt/bin:/opt/sbin:$PATH > echo $PATH /opt/bin:/opt/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin
Entwicklungsumgebung
> ipkg update > ipkg install gcc nano > ipkg install optware-devel (ganz dicke Keule aber make ist dabei)
syno DSM CUPS beenden und ipkg CUPS installieren
> /usr/syno/etc.defaults/rc.d/S55cupsd.sh stop
und syno cups dauerhaft stoppen
> mkdir /usr/syno/etc.defaults/rc.d/backup > mv /usr/syno/etc.defaults/rc.d/s55cupsd.sh /usr/syno/etc.defaults/rc.d/backup/
Optware Cups installieren
> /opt/bin/ipkg install cupsInstalling cups (1.4.6-1) to root... Downloading http://ipkg.nslu2-linux.org/feeds/op....4.6-1_arm.ipk Configuring cups Successfully terminated.
Cups Web GUI installieren
> /opt/bin/ipkg install cups-doc Installing cups-doc (1.4.6-1) to root... Downloading http://ipkg.nslu2-linux.org/feeds/op....4.6-1_arm.ipk Configuring cups-doc
und für das compilieren anderer Pakete
> /opt/bin/ipkg install cups-dev
da auf der Synology die Befehle adduser und addgroup fehlen (Verwaltung über DSM-GUI), verwenden wir die cups BasicDigest Authentifizierung
der Schlüssel liegt dann in /opt/etc/cups/passwd.md5
> /opt/bin/lppasswd -g root -a admin Enter password: xxxxxxxxx
cupsd.conf anpassen (nano) - ggf. Loglevel auf debug setzen
> cat /opt/etc/cups/cupsd.conf LogLevel warn Port 631ServerAlias * # Show shared printers on the local network. Browsing On BrowseOrder allow,deny BrowseAllow all BrowseLocalProtocols CUPS # Default authentication type, when authentication is required... DefaultAuthType BasicDigest # Restrict access to the server... <Location /> #AuthType BasicDigest Order allow,deny Allow from All </Location> # Restrict access to the admin pages... <Location /admin> #AuthType BasicDigest Order allow,deny Allow from All </Location> # Restrict access to configuration files... <Location /admin/conf> AuthType BasicDigest Order allow,deny Allow from All </Location>
start/stop script für cups anlegen: http://www.synology-wiki.de/index.ph...p_Script_cupsd
> chmod 666 S55cupsd
jetzt mal schnuppern
> /opt/etc/init.d/S55cupsd start
einloggen auf Cups Web GUI https://meine_syno_ip:631/admin/ zum Test ob alle Rechte vorhanden sind den voreingestellten Drucker hp990c löschen
- Share printers connected to this system
- Allow printing from the Internet
- Allow remote administration
Hinweis: bei Problemen mit den CUPS-Rechten zum Einloggen auf der Cups-Web-Frontend ggf. mal den Port 631 zum lokalen Rechner tunneln (geht auch mit putty) und als root/admin einloggen
# ssh -L 8888:localhost:631 root@192.168.1.101
im Browser eingeben: http://localhost:8888
Wann besitzt jetzt in der CUPS-Web-GUI die Rechte des lokalen admin/root
Hinweis: leider ist das usb backend von ipkg-cups defekt - es wird kein usb drucker erkannt verlinke das usb backend der Syno
> mv /opt/lib/cups/backend/usb /opt/lib/cups/backend/usb.bad > ln -s /usr/local/cups/backend/usb /opt/lib/cups/backend/usb
die aktuellen Gutenprint Treiber compilieren
Was ist Gutenprint?
- http://de.wikipedia.org/wiki/Gutenprint
- Die Treiber für Canon, Brother, Epson, Kyocera, Lexmark, Sony, Olympus und PCL-Drucker
Wer braucht Gutenprint?
- Benutzer von IOS Geräten, die Airprint verwenden, da hierzu die Synology entsprechende Druckertreiber benötigt
D.h. wer nur seinen Netzwerkdrucker anbinden will und vom PC aus druckt, kann diesen Schritt überspringen
Vorbereitung
> mkdir /volume1/tmp > cd /volume1/tmp > wget http://sourceforge.net/projects/gimp...-5.2.8.tar.bz2 > tar --bzip2 -xvf gutenprint-5.2.8.tar.bz2 > cd gutenprint-5.2.8
diese Stelle ist etwas trickreich
nachfolgende Einstellung wurde auf ARM-CPU (DS212+) getestet und von Intel-Atom (DS1512+) bestätigt
- Bei einer Synology mit PowerPC (DS213+)sind geringfüge Anpassungen erforderlich.
> ./configure CC="/opt/bin/gcc -std=gnu99 -I/opt/include -L/opt/lib" \ --prefix=/opt \ --includedir=/opt/include \ --with-cups=/opt \ --disable-cups-ppds \ --disable-cups-level3-ppds \ --without-foomatic \ --disable-libgutenprintui2 \ --disable-nls \ --disable-static
es kommt noch Fehlermeldung bei make
#make /opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib/libpthread.so: undefined reference to `__default_sa_restorer_v2@GLIBC_PRIVATE' /opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib/libpthread.so: undefined reference to `__default_rt_sa_restorer_v2@GLIBC_PRIVATE' /opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib/libpthread.so: undefined reference to `__default_rt_sa_restorer_v1@GLIBC_PRIVATE' /opt/lib/gcc/arm-none-linux-gnueabi/4.2.3/../../../../arm-none-linux-gnueabi/lib/libpthread.so: undefined reference to `__default_sa_restorer_v1@GLIBC_PRIVATE' collect2: ld returned 1 exit status
Lösung
Quelle: http://forum.synology.com/enu/viewto...p?f=90&t=30132 (libpthread.so der Syno verwenden)
> mv /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so.bad > cp /lib/libpthread.so.0 /opt/arm-none-linux-gnueabi/lib/libpthread-2.5.so
und noch einmal
> make
Gutenprint nach /opt installieren
> make install Libraries have been installed in: /opt/lib /opt/lib/gutenprint/5.2/ Libraries have been installed in: /opt/lib/gutenprint/5.2/modules
Kontrolle
> /opt/lib/cups/filter/rastertogutenprint.5.2 Usage: rastertoprinter job-id user title copies options [file]
cups Netzwerkzugriff zum Pixma-Drucker mit cups-bjnp
dafür die Netzerktreiber für Canon Pixma installieren
falls noch nicht getan (siehe Gutenprint):
> ipkg install cups-dev > cd /volume1/tmp
cups-bjnp compilieren
> wget http://sourceforge.net/projects/cups...p-0.5.5.tar.gz > tar xzf cups-bjnp-0.5.5.tar.gz > cd cups-bjnp-0.5.5/ > ./configure --prefix=/opt > make
ein Test, ob die Netzwerkverbindung zum Drucker steht
> ./bjnp network bjnp://192.168.1.111:8611 "Canon MP970 series" "Canon MP970 series 192.168.1.111" "MFG:Canon;CMD:BJL,BJRaster3,BSCCe,NCCe,PLI;SOJ:TX T01,BJNP2;MDL:MP970 series;CLS:PRINTER;DES:Canon MP970 series;VER:1.110;STA:10;FSI:03;HRI:OTH;MSIAT,E3;"
das bjnp backend nach cups installieren
> cp ./bjnp /opt/lib/cups/backend/
Cups neu starten
> /opt/etc/init.d/S55cupsd restart
Cups GUI im Browser aufrufen und Drucker hinzufügen
https://meine_syno_ip:631/admin/ "Add Printer" und Netzwerkdrucker hinzufügen Discovered Network Printers: Canon MP970 series 192.168.1.111 (Canon MP970 series) [x] Share This Printer -> Driver: Canon PIXMA MP970 - CUPS+Gutenprint v5.2.8 (color, 2-sided printing)
Drucker-Treiber liegen jetzt hier:
/opt/var/cache/cups/Canon_MP970_LAN.ipp4 /opt/var/cache/cups/Canon_MP970_LAN.pwg3 /opt/etc/cups/ppd/Canon_MP970_LAN.ppd
Airprint mit Bonjour über airprint-generate.py einrichten
zuerst pycups installieren
http://pypi.python.org/pypi/pycups/1.9.62
Dazu wird python benötigt.
python2.5 ist bereits mit dem Toolchain optware-devel in den ipkg Pfad installiert worden.
pycups installieren
> cd /volume1/tmp/ > wget http://pypi.python.org/packages/sour...1.9.62.tar.bz2 > tar --bzip2 -xvf pycups-1.9.62.tar.bz2 > cd pycups-1.9.62 > /opt/bin/python2.5 setup.py install running install_lib copying build/lib.linux-armv5tel-2.6/cups.so -> /opt/local/lib/python2.5/site-packages running install_egg_info Writing /opt/local/lib/python2.5/site-packages/pycups-1.9.62-py2.6.egg-info
jetzt weiter mit
> cd /volume1/tmp/
syno wget wurde nicht für https compiliert
> /opt/bin/wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/ai...nt-generate.py
Mit dem Script die Avahi "services" erzeugen und installieren:
Hinweis: Der Drucker muss vorher in CUPS freigegeben werden. Für lokale Drucker ohne Freigabe wird kein logischerweise kein *.service generiert.
> /opt/bin/python2.5 ./airprint-generate.py
einfaches kopieren der service-Datei nach /usr/syno/avahi/services/ ergibt keinen Sinn, da S99avahi.sh fremde Service-Dateien löscht
einzige Außnahme: sie heißen: 3rdparty.*.service
Achtung: S99avahi.sh akzeptiert nur genau eine 3rdparty.* Datei, bei zwei Dateien wird alles gelöscht
> for a in $(ls *.service); do mv $a "3rdparty.$a"; done > cp 3rdparty.* /usr/syno/avahi/services/
kontrolliere, dass nur genau eine 3rdparty.* im Ordner /usr/syno/avahi/services/ liegt
avahi neu starten
> /usr/syno/etc/rc.d/S99avahi.sh restart
Hinweis: Solange man S99avahi.sh nicht neu startet, werden alle Service sofort (1 Sekunde) im Netzwerk veröffentlicht und keine fremden *.service gelöscht. Zum Testen ist somit kein "S99avahi.sh restart" erforderlich. Es reicht dann ein einfaches kopieren beliebig vieler *.service in den Ordner /usr/syno/avahi/services/.
versucht man jetzt über Airprint zu drucken:
-> Fehlermeldung im cups job spooler : stopped "Unable to execute gs program: No such file or directory"
Lösung: für airprint pdf drucken fehlt noch "ipkg install ghostscript" oder einfacher
> ln -s /usr/local/bin/gs /usr/bin/
Hinweis: /usr/local/bin/gs ist nur vorhanden, wenn in der DSM 4.1 wenigstens einmal ein Airprint-Drucker eingerichtet wurde.
letzte Schritte
cups mit Airprint und Zugriff auf Drucker im LAN ist jetzt fertig installiert
jetzt zur Sicherheit die Syno mal neu starten
> reboot
oder nur ein einfaches
> /opt/etc/init.d/S55cupsd restart
Variante 2: Erweiterung des DSM-CUPS-Servers
Hier besteht die Möglichkeit mit IPKG die erforderlichen Web_GUI Elemente nachzuinstallieren, so dass über Port 631 der DSM-CUPS-Server erreichbar ist
zuerst die erforderlichen Dateien laden
> /opt/bin/ipkg install cups-doc Installing cups-doc (1.4.6-1) to root... Installing cups (1.4.6-1) to root... ...
jetzt diese ipkg-Dateien in die Syno-DSM kopieren (es wird nichts überschrieben)
> mkdir /usr/local/cups/cgi-bin > cp /opt/lib/cups/cgi-bin/* /usr/local/cups/cgi-bin/ > mkdir /usr/local/cups/templates/ > cp /opt/share/cups/templates/* /usr/local/cups/templates/ > mkdir /usr/local/cups/daemon/ > cp /opt/lib/cups/daemon/* /usr/local/cups/daemon/ > cp /opt/share/doc/cups/cups* /usr/local/doc/cups/
ein dummy Nutzer-PW in Cups-Opt anlegen
> echo "admin:root:00000000000000000000000000000000" > /usr/local/cups/passwd.md5
Webrowser aufrufen http://meine_syno_ip:631/admin bei Änderung von Cups-Einstellungen wird ein Login verlangt:
- login: admin
- pw: password des useraccounts
und der Druckerverwaltung steht nichts mehr im Wege
es können Canon Netzwerkdrucker eingebunden werden, indem das Modul bjnp wie oben dargestellt compiliert und in den backend-Ordner kopiert wird
cp ./bjnp /usr/local/cups/backend/
Airprint bei Netzwerkdruckern einrichten mit airprint-generate.py (s.o.)
to do
solange an der Syno kein USB-Drucker hängt, laufen keine Syno-Scripte los und die printers.conf.O enthält die mit der Cups-GUI hinzugefügten Drucker erkennt die Syno einen USB-Drucker schmeißt das Syno-Script alle per Cups-Webinterface hinzugefügten Drucker aus der printers.conf.* raus weiterhin stoppt die DSM den Syno-Cups-Server regelmäßig wenn kein USB-Drucker angeschlossen ist, dadurch sind über LAN angeschlossene Netzwerkdrucker dann nicht mehr erreichbar Lösungsansatz: Man muss seine eigene printers.conf sichern und nach einem Systemstart wieder nach /usr/local/cups/printers.conf kopieren. Die gleichzeitige Verwaltung von USB und Netzwerkdruckern erfordert eine Deaktivierung von /usr/syno/etc.defaults/rc.d/S55cupsd.sh und ein Start von cups mit einem eigenen Start/Stop-Scripts siehe http://www.synology-wiki.de/index.php/IPKG#Startup_Script_cupsd mit > /usr/syno/sbin/cupsd -C /usr/local/cups/cupsd.conf Dann müssen auch USB-Drucker über das CUPS-Webinterface hinzugefügt werden. Problem: Die Treiberdatei *.ppd erhält man nur wenn man einmal den Drucker an USB steckt, damit diese ppd vom Syno-Server heruntergeladen wird.
Variante 3: Airprint Drucken mit IOS 6
Ab IOS6 druckt Apple nicht mehr im Format pdf sondern setzt einen Druckjob im Format urf ab. Dieses Format muss deshalb mit dem zusätzlichen Filter urftopdf erst in pdf umgewandelt werden
die gesamte Druckjob-Kette sieht so aus: urf (Apple) -> pdf (Adobe) -> ps (Postscript) -> ras (Rasterdatei) -> prn (Drucker-RAW/Rasterimage)
Quelle ist der Forumbeitrag:
Installation des urftopdf Filters (zur Nutzung von AirPrint unter iOS 6)
1) Installation der benötigten libharu Bibliothek
> wget http://libharu.org/files/libharu-2.2.1.tar.gz > tar xzvf libharu-2.2.1.tar.gz > cd libharu-2.2.1 > ./configure --prefix=/opt > make > make install
2) Installation des urftopdf Filters
> wget -O urftopdf.zip --no-check-certificate https://github.com/superna9999/urftopdf/zipball/master > unzip orftopdf-zip > cd superna9999-urftopdf-6f69800 > gcc urftopdf.c -lhpdf -lcups -o urftopdf -lm > cp urftopdf /opt/lib/cups/filter/ > cp urftopdf.types /opt/share/cups/mime/ > cp urftopdf.convs /opt/share/cups/mime/ > /opt/etc/init.d/S55cupsd restart
3) Anpassung der services Datei
In den von avahi genutzten services Dateien muss dann noch unter dem Paramter "pdl=" der Eintrag "image/urf" mit Komma getrennt hinzugefügt werden. Jetzt sollte der Drucker auch unter iOS 6 auftauchen und genutzt werden können.
Variante 4: DEBUG Logprotokolle und manuelles Testen der CUPS-Filter in der Shell
Cups ist sehr gesprächig man den Loglevel anpasst.
Das geht sehr bequem über das Cups-Web-Frontend (führt gleich Neustart cupsd aus) in der Cups-GUI / Edit Configuration File
#LogLevel error LogLevel debug #ErrorLog syslog ErrorLog /var/log/cups/error_log
und nicht vergessen:
> mkdir /var/log/cups/
oder alternativ in der Shell mit einem Editor (hier vi und Syno-CUPS-Server, für /opt die Pfade anpasssen)
> vi /usr/local/cups/cupsd.conf #LogLevel error LogLevel debug #ErrorLog syslog ErrorLog /var/log/cups/error_log > mkdir /var/log/cups/ > /usr/syno/etc.defaults/rc.d/S55cupsd.sh restart
Ein Beispiel für ein Druckjob im pdf-Format, ausgegeben auf Backend usb:
> cat /var/log/cups/error_log ... D [24/Sep/2012:20:06:24 +0200] [Job 3] envp[22]="CONTENT_TYPE=application/pdf" I [24/Sep/2012:20:06:24 +0200] [Job 3] Started filter /usr/local/cups/filter/pdftops (PID 4382) I [24/Sep/2012:20:06:24 +0200] [Job 3] Started filter /usr/local/cups/filter/pstoraster (PID 4383) I [24/Sep/2012:20:06:24 +0200] [Job 3] Started filter /usr/local/cups/filter/rastertogutenprint.5.2 (PID 4384) D [24/Sep/2012:20:06:24 +0200] [Job 3] envp[28]="FINAL_CONTENT_TYPE=printer/usbprinter2" I [24/Sep/2012:20:06:24 +0200] [Job 3] Started backend /usr/local/cups/backend/usb (PID 4385)
man kann die einzelnen Druck-Schritte aus dem Log-Protokoll auch in der Shell manuell durchspielen. Anbei der Druck der Cups-Testseite
Wer Syno-DSM-CUPS anstatt IPKG-CUPS verwendet muss nur die Pfade von /opt nach /usr (siehe obigen Protollauszug) anpassen und die eigene Drucker.ppd einsetzen
Quelle: http://fedoraproject.org/wiki/How_to_debug_printing_problems
CUPS-BANNER Testseite: /opt/share/cups/data/testprint Treiberdatei > export PPD=/opt/etc/cups/ppd/Canon_MP970_LAN.ppd Postscriptdatei generieren > /opt/lib/cups/filter/bannertops 1 tim '' 1 '' </opt/share/cups/data/testprint >bannertops.ps DEBUG: PNG image: 192x128x8, color_type=2 (RGB) ich denke, dass ist ein Null-Schritt siehe http://www-user.tu-chemnitz.de/~heha/hs_freeware/pstops.htm > /opt/lib/cups/filter/pstops 1 tim '' 1 '' <bannertops.ps >pstops.ps DEBUG: Page = 595x842; 0,0 to 595,842 DEBUG: Wrote 1 pages... Rasterdatei erzeugen > /opt/lib/cups/filter/pstoraster 1 tim '' 1 ''<pstops.ps >pstoras.ras INFO: Rendering completed jetzt kommt der Druckertreiber ins Spiel, erzeuge Drucker-RAW-Datei > /opt/lib/cups/filter/rastertogutenprint.5.2 1 tim '' 1 ''<pstoras.ras >out.prn DEBUG: Gutenprint: ================ Done printing page 1 ================ und jetzt die fertige prn-Datei rausdumpen > /opt/bin/lp -d Canon_MP970_series ./out.prn
Variante 5: Bei einem Firmwareupdate wurden die Syno-CUPS-Druckertreiber nicht aktualisiert
Der Ordner /usr/local bleibt beim Firmwareupdate unangetastet (getestet DSM Version 4.0, 4.1)
In diesem Ordner sind nur die im Laufe der Zeit von synology.com nachgeladenen Druckertreiber enthalten (ghostscript, gutenprint etc.)
Dadurch werden bei einem Firmwareupdate nicht die Druckertreiber aktualisiert.
Man benötigt diese Druckertreiber eigentlich nur, wenn man Airprint verwendet. Falls vom PC aus gedruckt wird, dann wird i.A. der Druckjob vollständig auf der PC-Seite verarbeitet, so dass auch mit veralteten CUPS-Modulen keine Probleme auftretren werden.
Man kann aber direkt vor einem Firmewareupdate den Ordner umbennnen.
> mv /usr/local /usr/local.bak
Dann wird local.bak während des Updates gelöscht und /usr/local neu aufgebaut (entspricht Druckertreiber-Werkseinstellung, aktuelle Treiber werden vom Syno-Server download.synology.com/airprint/DSM4.1/ppd/ nachgeladen)
DSM 4.1 verweigert das drüberinstallieren der gleichen Fimwareversion.
Die aktuelle Firmwareversion ist in der Datei /etc.defaults/VERSION hinterlegt. Es reicht aus, vor dem Firmwareupdate mit einem Texteditor (hier vi) die buildnumber um eine Ziffer zu verkleinern.
> vi /etc.defaults/VERSION majorversion="4" minorversion="1" buildphase="0" buildnumber="2635" builddate="2012/08/29"
Jetzt kann man die gleiche Firmware-Version manuell oder automatisch installieren. Bei dem Firmwareupdate wird auch die Verknüpfung zum Opt-Pfad aufgehoben.
Somit bleiben alle DSM Einstellungen erhalten, aber das Betriebssystem ist wieder 100% im Original-Zustand.