Archiv:Druckerverwaltung und Netzwerkdrucker einbinden: Unterschied zwischen den Versionen
imported>Tomas123 |
imported>Tomas123 Keine Bearbeitungszusammenfassung |
||
Zeile 19: | Zeile 19: | ||
==Voraussetzung== | ==Voraussetzung== | ||
geteste Version: DSM 4.0 / DSM 4.1 | *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 treten Unterschiede bei den Toolchains auf (ARM-CPU / Power-PC / Intel-Atom) | |||
*geteste Hardware: Syno DS 212+ mit Canon Pixma MP970 | |||
==Variante 1: Deakivierung der DSM-CUPS und Aktivierung eines eigenen 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 | |||
<pre> | |||
</pre> | |||
ich habe nicht alles formatiert, ein > bedeutet: | |||
<pre> | |||
> shell eingabe | |||
</pre> | |||
zur Vorbereitung erst einmal Optware Installieren | |||
Anleitung für Deine Syno: | |||
http://www.synology-wiki.de/index.php/IPKG | |||
ggf Syno Startscript anpassen | |||
<pre>/usr/local/etc/rc.d/Optware.sh</pre> | |||
Pfad kontrollieren | |||
<pre> | |||
> 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 | |||
</pre> | |||
Entwicklungsumgebung | |||
<pre> | |||
> ipkg update | |||
> ipkg install gcc nano | |||
> ipkg install optware-devel (ganz dicke Keule aber make ist dabei) | |||
</pre> | |||
syno cups beenden | |||
<pre> | |||
> /usr/syno/etc.defaults/rc.d/S55cupsd.sh stop | |||
</pre> | |||
und syno cups dauerhaft stoppen | |||
<pre> | |||
> mkdir /usr/syno/etc.defaults/rc.d/backup | |||
> mv /usr/syno/etc.defaults/rc.d/s55cupsd.sh /usr/syno/etc.defaults/rc.d/backup/ | |||
</pre> | |||
Optware Cups installieren | |||
<pre> | |||
> /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. | |||
</pre> | |||
Cups Web GUI installieren | |||
<pre> | |||
> /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 | |||
</pre> | |||
und für das compilieren anderer Pakete | |||
<pre> | |||
> /opt/bin/ipkg install cups-dev | |||
</pre> | |||
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 | |||
<pre> | |||
> /opt/bin/lppasswd -g root -a admin | |||
Enter password: xxxxxxxxx | |||
</pre> | |||
cupsd.conf anpassen (nano) - ggf. Loglevel auf debug setzen | |||
<pre> | |||
> 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> | |||
</pre> | |||
start/stop script für cups anlegen: | |||
http://www.synology-wiki.de/index.ph...p_Script_cupsd | |||
<pre> | |||
> chmod 666 S55cupsd | |||
</pre> | |||
jetzt mal schnuppern | |||
<pre> | |||
> /opt/etc/init.d/S55cupsd start | |||
</pre> | |||
einloggen auf Cups Web GUI | |||
https://syno: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 Rechten zum Einloggen auf der Cups-Web-Frontend ggf. mal den Port 631 tunneln | |||
<pre> | |||
# ssh -L 8888:localhost:631 root@192.168.1.101 | |||
</pre>im Browser eingeben | |||
http://localhost:8888 | |||
Hinweis: leider ist das usb backend von ipkg-cups defekt - es wird kein usb drucker erkannt | |||
verlinke das usb backend der Syno | |||
<pre> | |||
> mv /opt/lib/cups/backend/usb /opt/lib/cups/backend/usb.bad | |||
> ln -s /usr/local/cups/backend/usb /opt/lib/cups/backend/usb | |||
</pre> | |||
die aktuellen Gutenprint Treiber compilieren | |||
<pre> | |||
> 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 | |||
</pre> | |||
diese Stelle ist etwas trickreich | |||
<pre> | |||
> ./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 | |||
</pre> | |||
es kommt noch Fehlermeldung bei make | |||
<pre> | |||
#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 | |||
</pre> | |||
Lösung | |||
Quelle: http://forum.synology.com/enu/viewto...p?f=90&t=30132 (libpthread.so der Syno verwenden) | |||
<pre> | |||
> 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 | |||
</pre> | |||
und noch einmal | |||
<pre> | |||
> make | |||
</pre> | |||
Gutenprint nach /opt installieren | |||
<pre> | |||
> 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 | |||
</pre> | |||
Kontrolle | |||
<pre> | |||
> /opt/lib/cups/filter/rastertogutenprint.5.2 | |||
Usage: rastertoprinter job-id user title copies options [file] | |||
</pre> | |||
cups Netzwerkzugriff zum Pixma-Drucker mit cups-bjnp | |||
dafür die Netzerktreiber für Canon Pixma installieren | |||
falls noch nicht getan (siehe Gutenprint): | |||
<pre> | |||
> ipkg install cups-dev | |||
> cd /volume1/tmp | |||
</pre> | |||
cups-bjnp compilieren | |||
<pre> | |||
> 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 | |||
</pre> | |||
ein Test, ob die Netzwerkverbindung zum Drucker steht | |||
<pre> | |||
> ./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;" | |||
</pre> | |||
das bjnp backend nach cups installieren | |||
<pre> | |||
> cp ./bjnp /opt/lib/cups/backend/ | |||
</pre> | |||
Cups neu starten | |||
<pre> | |||
> /opt/etc/init.d/S55cupsd restart | |||
</pre> | |||
Cups GUI im Browser aufrufen und Drucker hinzufügen | |||
<pre> | |||
https://syno: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) | |||
</pre> | |||
Drucker-Treiber liegen jetzt hier: | |||
<pre> | |||
/opt/var/cache/cups/Canon_MP970_LAN.ipp4 | |||
/opt/var/cache/cups/Canon_MP970_LAN.pwg3 | |||
/opt/etc/cups/ppd/Canon_MP970_LAN.ppd | |||
</pre> | |||
Airprint mit Bonjour über airprint-generate.py einrichten | |||
zuerst pycups installieren | |||
http://pypi.python.org/pypi/pycups/1.9.62 | |||
leider benötigen wir dazu python | |||
python2.5 ist bereits mit dem Toolchain in den ipkg Pfad installiert worden | |||
pycups installieren | |||
<pre> | |||
> 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.6/site-packages | |||
running install_egg_info | |||
Writing /opt/local/lib/python2.6/site-packages/pycups-1.9.62-py2.6.egg-info | |||
</pre> | |||
jetzt weiter mit | |||
<pre> | |||
> cd /volume1/tmp/ | |||
<pre> | |||
syno wget wurde nicht für https compiliert | |||
<pre> | |||
> /opt/bin/wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/ai...nt-generate.py | |||
</pre> | |||
Mit dem Script die Avahi "services" erzeugen und installieren: | |||
<pre> | |||
> /opt/bin/python2.6 ./airprint-generate.py | |||
</pre> | |||
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 | |||
<pre> | |||
> for a in $(ls *.service); do mv $a "3rdparty.$a"; done | |||
> cp 3rdparty.* /usr/syno/avahi/services/ | |||
</pre> | |||
kontrolliere, dass nur genau eine 3rdparty.* im Ordner /usr/syno/avahi/services/ liegt | |||
avahi neu starten | |||
<pre> | |||
> /usr/syno/etc/rc.d/S99avahi.sh restart | |||
</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'''. Zum Testen ist somit '''kein''' "S99avahi.sh restart" erforderlich | |||
versucht man jetzt über Airprint zu drucken: | |||
<pre> | |||
-> Fehlermeldung im cups job spooler : stopped "Unable to execute gs program: No such file or directory" | |||
</pre> | |||
Lösung: | |||
für airprint pdf drucken fehlt noch "ipkg install ghostscript" oder einfacher | |||
<pre> | |||
> ln -s /usr/local/bin/gs /usr/bin/ | |||
</pre> | |||
cups mit Airprint und Zugriff auf Drucker im LAN ist jetzt fertig installiert | |||
jetzt zur Sicherheit die Syno mal neu starten | |||
<pre> | |||
> reboot | |||
</pre> | |||
oder nur ein einfaches | |||
<pre> | |||
> /opt/etc/init.d/S55cupsd restart | |||
</pre> |
Version vom 27. September 2012, 06:13 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 laucht, aber eine Seite wie http://meine_syno: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).
Die DSM Firmware der Synology kann einen Airprint Drucker emulieren. Dadurch kann man über IOS-Geräte auf beliebig angeschlossene Drucker drucken.
Da die Synology auch einen Airprint Drucker emuliert. 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.
Weiterhin können in der DSM keine Netzwerkdrucker eingebunden werden.
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 treten Unterschiede bei den Toolchains auf (ARM-CPU / Power-PC / Intel-Atom)
- geteste Hardware: Syno DS 212+ mit Canon Pixma MP970
Variante 1: Deakivierung der DSM-CUPS und Aktivierung eines eigenen 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
zur Vorbereitung erst einmal Optware Installieren
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 cups beenden
> /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://syno: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 Rechten zum Einloggen auf der Cups-Web-Frontend ggf. mal den Port 631 tunneln
# ssh -L 8888:localhost:631 root@192.168.1.101
im Browser eingeben
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
> 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
> ./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://syno: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
leider benötigen wir dazu python python2.5 ist bereits mit dem Toolchain 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.6/site-packages running install_egg_info Writing /opt/local/lib/python2.6/site-packages/pycups-1.9.62-py2.6.egg-info
jetzt weiter mit
> cd /volume1/tmp/ <pre> syno wget wurde nicht für https compiliert <pre> > /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:
> /opt/bin/python2.6 ./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
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/
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