Ich beschreibe einfach mal, was ich in etwa gemacht habe, um meinen PostScript-Netzwerklaser über Bande" per AirPrint unter iOS6 ansprechen zu können. Diverse Anleitungen aus diesem Forum (herzlichen Dank dafuer!) sind dabei eingeflossen. Fuer USB/PCL/... muesste man einen anderen Drucker einrichten. (Ich erinnere mich dunkel an einen Forenbeitrag, in dem empfohlen wurde, das USB-backend von optware durch das von Synology zu ersetzen; habe ich nicht gebraucht/getestet).
- cups, cups-doc, ghostscript und gutenprint per optware installiert
ipkg install cups cups-doc ghostscript gutenprint
- cups gestoppt
/usr/syno/etc/rc.d/S55cupsd.sh stop
- die /usr/syno/etc/rc.d/S55cupsd.sh geaendert in:
#!/bin/sh
PREFIX=/opt
NAME=cupsd
DAEMON=/opt/sbin/cupsd
DAEMON_OPTS=""
start() {
echo "Starting Service: $NAME"
$DAEMON $DAEMON_OPTS
}
stop() {
killall cupsd
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo "Usage: $0 (start|stop|restart)"
exit 1
;;
esac
- ein paar Rechte geaendert:
chmod -R 0755 /opt/lib/cups/backend
- die /opt/etc/cups/mime.convs ergaenzt um:
application/pdf application/vnd.cups-postscript 66 pdftops
image/urf application/vnd.cups-postscript 66 pdftops
- die /opt/etc/cups/mime.types ergaenzt um:
image/urf urf (0,UNIRAST)
- die /opt/etc/cups/cupsd.conf geandert in:
LogLevel info
User lp
Group lp
SystemGroup administrators
Port 631
Listen /var/run/cups/cups.sock
ServerAlias *
MaxClients 8
DefaultPaperSize A4
Printcap /usr/syno/etc/printcap
RIPCache auto
AutoPurgeJobs Yes
PreserveJobHistory No
PreserveJobFiles No
HostNameLookups Off
Browsing On
BrowseOrder allow,deny
BrowseRemoteProtocols
BrowseAddress @LOCAL
BrowseLocalProtocols CUPS
<Location />
AuthType None
Order Deny,Allow
Allow From 127.0.0.1
Allow @LOCAL
</Location>
<Location /admin>
<Location /admin>
AuthType BasicDigest
Order Deny,Allow
Allow From 127.0.0.1
Allow From @LOCAL
</Location>
<Location /admin/conf>
AuthType BasicDigest
Order Deny,Allow
Allow From 127.0.0.1
Allow From @LOCAL
</Location>
- cups gestartet
/usr/syno/etc/rc.d/S55cupsd.sh start
- per CUPS-Webinterface (http://diskstationIPadresse:631) einen (ebenfalls) generischen PostScript-Drucker namens "laser" fuer meinen Netzwerklaser eingerichtet. Der Drucker, der selber die Adresse http://192.168.1.99 hat, ist dann ebenfalls ueber http://diskstationIPadresse:631/printers/laser erreichbar.
- cups gestoppt
/usr/syno/etc/rc.d/S55cupsd.sh stop
- die /opt/etc/cups/printers.conf geandert in:
<DefaultPrinter laser>
AuthInfoRequired none
Info Netzwerklaser
Location AirPrint
MakeModel Generic PostScript Printer
DeviceURI
http://192.168.1.99
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-command 0 commandtops
Filter application/vnd.cups-postscript 0 -
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy retry-job
</Printer>
- eine /opt/etc/cups/lpoptions erstellt:
Default laser PageSize=A4 PageRegion=A4 ImageableArea=A4 PaperDimension=A4
Dest laser PageSize=A4 PageRegion=A4 ImageableArea=A4 PaperDimension=A4
- eine /usr/syno/avahi/services/3rdparty.printer.service erstellt:
<service-group>
<name>laser via ds</name>
<service>
<type>_ipp._tcp</type>
<subtype>_universal._sub._ipp._tcp</subtype>
<port>631</port>
<txt-record>txtvers=1</txt-record>
<txt-record>qtotal=1</txt-record>
<txt-record>ty=pdf</txt-record>
<txt-record>note=AirPrint</txt-record>
<txt-record>product=virtual Printer</txt-record>
<txt-record>pdl=application/octet-stream,application/pdf,image/urf</txt-record>
<txt-record>URF=W8,CP255</txt-record>
<txt-record>rp=printers/laser</txt-record>
</service>
</service-group>
- avahi neu geladen und cups gestartet (alternativ die DS neu starten)
/usr/syno/etc/rc.d/S99avahi.sh reload
/usr/syno/etc/rc.d/S55cupsd.sh start
- Absichern: den unten referenzierten Teil von /opt/etc/cups/cupsd.conf wie gezeigt aendern und danach cups wie oben gezeigt stoppen und starten:
<Location /admin>
AuthType BasicDigest
Order Deny,Allow
#Allow From 127.0.0.1
#Allow From @LOCAL
</Location>
<Location /admin/conf>
AuthType BasicDigest
Order Deny,Allow
#Allow From 127.0.0.1
#Allow From @LOCAL
</Location>