AirPrint mit dem Raspberry Pi

  • So... :allewillkommen: zum 3. Teil meiner Raspberry Pi Reihe.


    Hier geht es um den Air Print Dienst.
    Ausgangspunkt ist wie immer ein aktuelles Raspbian Image.
    Wer von 0 anfängt sollte hier einen Blick reinwerfen:
    :guck: TimeCapsule mit dem Raspberry Pi erstellen.
    und dieser Anleitung bis Punkt 2.2 folgen.


    Ab gehts per SSH auf den Raspi

    Code
    1. ssh pi@IPdesRaspi


    1.1 Cups installieren


    für Airprint benötigen wir zunächst einmal CUPS.
    Dazu machen wir uns zum root

    Code
    1. sudo su -


    und laden die passenden Pakete aus dem Repository.

    Code
    1. apt-get install avahi-daemon cups cups-pdf python-cups


    Für den Download genehmigt sich der kleine ein paar Minuten.
    Jetzt müssen wir die Configdatei anpassen mit dem Befehl:

    Code
    1. nano /etc/cups/cupsd.conf


    öffnet sich der Editor


    und wir ändern die Datei wie folgt ab.


    Da wir ja nicht vom Raspi direkt drucken, sondern aus dem Netzwerk muss zunächst mal der localhost hier raus:


    und fügen dann die markierten Zeilen hinzu.


    speichern mit STRG+o und verlassen mit STRG+x


    Danach hat sich der CUPS einen Neustart verdient

    Code
    1. service cups restart


    Jetzt fügen wir noch den User pi der Gruppe lpadmin hinzu um Änderungen vornehmen zu können.

    Code
    1. adduser pi lpadmin


    und verbinden uns vom Rechner mit dem Browser auf die Weboberfläche vom Cups

    Code
    1. 192.168.0.3:631

    Mac Pro 1.1 unter El Capitan
    :keinwindows:

  • 1.2 CUPS einrichten



    Wir wechseln auf den Reiter Verwaltung und klicken auf Verfügbare Drucker auflisten.
    Im besten Fall werden dann die Drucker gefunden und man kann ihn direkt einrichten.
    So gut gesinnt ist mein Drucker mir aber nicht, da er über einen Printserver (Ethernet2Parallel Adapter) an das Netzwerk angeschlossen ist.
    Also die manuelle Variante:


    ein Klick auf Drucker hinzufügen
    Wenn der Zertifikatfehler auftauscht fortsetzen und nochmals auf hinzufügen klicken. Jetzt will CUPS einen Benutzer.
    hier melden wir uns mit dem User "Pi" an, den wir vorher ja zur berechtigten Gruppe hinzugefügt haben.


    Wir landen bei


    Jetzt seid Ihr ein bisschen auf euch gestellt, denn die Einrichtung hängt von eurem Drucker ab ... Viel Glück!
    den Haken bei Drucker Freigeben nicht vergessen.



    Ist die Einrichtung erfolgt, kann man über den Menüpunkt "Wartung" eine Testseite drucken um zu überprüfen, ob die Einrichtung erfolgreich war.


    Damit ist dieser Schritt geschafft! :party:


    Einige Nutzer haben mich darauf aufmerksam gemacht, dass es bei Ihnen nach diesem Schritt schon funktioniert. Hier ist also ein Testlauf angebracht.
    Wenn alles läuft: Bestens... Wenn nicht: gehts im nächsten Post weiter

    Mac Pro 1.1 unter El Capitan
    :keinwindows:

  • Und nun zum eigentlichen AirPrint:


    2.1 AirPrint einrichten


    zunächst einmal verbienden wir uns wieder per ssh mit dem Raspi:

    Code
    1. ssh pi@raspi


    und holen uns "root Rechte"

    Code
    1. sudo su -


    wir erstellen einen Ordner für die AirPrint Skripte und Clonen uns die benötigten Dateien rein,

    Code
    1. mkdir /opt/AirPrint
    2. cd /opt/AirPrint
    3. wget -O airprint-generate.py --no-check-certificate https://raw.github.com/tjfontaine/airprint-generate/master/airprint-generate.py


    machen das Skript ausführbar und führen es aus.

    Code
    1. chmod +x airprint-generate.py
    2. ./airprint-generate.py -d /etc/avahi/services


    Kommt hier kein Fehler ist alles gut kommt aber ein Fehler in der Art:

    Zitat

    image/urf is not in mime types, HP990cse may not be available on ios6 (see https://github.com/tjfontaine/airprint-generate/issues/5)



    Müssen noch 2 Dateien erzeugt und das Skript erneut ausgeführt werden.


    Wir erzeugen die Datei

    Code
    1. nano /usr/share/cups/mime/airprint.types


    und füllen Sie mit Leben

    Code
    1. #
    2. # AirPrint type
    3. image/urf urf string(0,UNIRAST<00>)
    4. #
    5. # End of "$Id: $".
    6. #


    und die 2te:

    Code
    1. nano /usr/share/cups/mime/airprint.convs


    die mit

    Code
    1. #
    2. # "$Id: $"
    3. #
    4. # AirPrint
    5. # Updated list with minimal set 25 Sept
    6. image/urf application/pdf 100 pdftoraster
    7. #
    8. # End of "$Id: $".
    9. #


    gefüllt wird.


    Dann in der Datei

    Code
    1. nano /etc/sysctl.conf


    Folgende 2 Zeilen hinzufügen:

    Code
    1. net.ipv6.conf.default.use_tempaddr=2
    2. net.ipv6.conf.eth0.use_tempaddr = 2



    jetzt das Script nocheinmal ausführen:

    Code
    1. ./airprint-generate.py -d /etc/avahi/services


    und im Anschluss den avahi-daemon und cups neu starten:

    Code
    1. service cups restart
    2. service avahi-daemon restart


    Dann sollte der Drucker verfügbar sein.


    :danke: an Iphone_4s für den iOS 6 fix

    Mac Pro 1.1 unter El Capitan
    :keinwindows:

  • Danke für den Tripple ! Mit dem kleinen kann man echt viel anstellen für den Anschaffungspreis. Man ist sehr flexibel und dank unseres Dr.Uke haben wir auch ein gutes Werk an Anleitungen wie man die Künste des Respberry Pi im Bereich Mac/Hackintosh perfekt einbinden kann ! Danke hierfür !



    Sent from my BW Feldtelefon
    using Tapatalk

  • Vielen Dank für die tolle Anleitung.
    Ich hänge aber leider beim Verbinden mit dem Cups Server.
    Die IP Adresse funktioniert nicht.
    Ich habe auch schon die IP Adresse versucht die mein Pi in meinem Netzwerk hat.

    Acer Aspire 5610z
    Snow Leopard 10.6.6/Intel Genuine T2060 1,60GHz/1GB DDR2/Intel GMA 950

    iPhone 2GiPhone 3GiPhone 3GSiPhone 4iPhone 4siPhone 5MacBook Pro 13''

  • Die ip mit der du dich per ssh verbindest, dann :631


    Wenn das nicht klappt ist evtl beim editieren der Config etwas schief gelaufen, so dass er nur auf localhost reagiert.



    Gesendet via Tapatalk

    Mac Pro 1.1 unter El Capitan
    :keinwindows:

  • Das funktioniert inzwischen :D
    Ich habe die zwei Zeilen im ersten Bild gelöscht.
    Das war der Fehler.


    Aber ich habe jetzt auch das Problem, dass ich unter iOS 6 nicht drucken kann. :/
    Vom Mac funktioniert es jedoch.
    Auf den eingebauten Scanner meines Druckers kann ich jedoch nicht zugreifen.

    Acer Aspire 5610z
    Snow Leopard 10.6.6/Intel Genuine T2060 1,60GHz/1GB DDR2/Intel GMA 950

    iPhone 2GiPhone 3GiPhone 3GSiPhone 4iPhone 4siPhone 5MacBook Pro 13''

  • Mhh dann musst du bzw ich nochmal googlemail das hängt mit den beiden Dateien die angelehnt werden müssen als MIME types zusammen.


    Ich nehme an bei dir kam beim zweiten ausführen des Skriptes auch die Fehlermeldung.?


    Mhh Scanner ... Dazu brauchst du vermutlich SANE als Scannerserver.


    Aber das uralt Scanner Ding vom Aldi das hier bei mir rumsteht Krieg ich nichtmal damit zum laufen.




    Gesendet via Tapatalk

    Mac Pro 1.1 unter El Capitan
    :keinwindows:

  • Für das iOS 6 Problem habe ich glaube ich schon eine Lösung gefunden.
    Ich werde es am Abend testen und dann hier posten.


    Das mit dem Sane Server ist etwas schwieriger.
    Aber ich bin glaube ich schon nah dran ;)


    EDIT:
    Das iOS 6 Problem ist gelöst :D
    einfach folgende Schritte ausführen:

    Code
    1. nano /etc/sysctl.conf


    Folgende 2 Zeilen hinzufügen:

    Code
    1. net.ipv6.conf.default.use_tempaddr=2
    2. net.ipv6.conf.eth0.use_tempaddr = 2


    Danach wieder in den Ordner Wechseln und das Skript ausführen.
    Und dann nochmal die zwei Dienste neu starten:

    Code
    1. cd /opt/AirPrint
    2. ./airprint-generate.py -d /etc/avahi/services
    3. service cups restart
    4. service avahi-daemon restart

    Acer Aspire 5610z
    Snow Leopard 10.6.6/Intel Genuine T2060 1,60GHz/1GB DDR2/Intel GMA 950

    iPhone 2GiPhone 3GiPhone 3GSiPhone 4iPhone 4siPhone 5MacBook Pro 13''

  • hab zwar wie gesagt noch kein iOS 6 Gerät zum testen aber die Meldung ist verschwunden also denke ich das Problem ist gelöst.


    Werde den Schritt noch in der Anleitung oben ergänzen.


    :danke:


    hier mal noch meine editierte Cupsd.conf

    Dateien

    • cupsd.conf.zip

      (858 Byte, 97 Mal heruntergeladen, zuletzt: )

    Mac Pro 1.1 unter El Capitan
    :keinwindows:

  • Und auch diese Anleitung zum RaspberryPi hat super funktioniert!


    Zwei Probleme gibt es noch:
    - sowohl auf den iOS Devices als auch auf den Macs taucht der Drucker jetzt zweimal auf ?(
    - leider weigert sich der CanonMP540 bisher aus der unteren Kasette zu drucken! X( Selbst wenn ich die Standardeinstellungen im CUPS auf Kasette stelle


    Nächster Schritt bei mir: meinen unkooperativen Laserducker einbinden 8o

  • Das er auf dem Mac doppelt auftaucht ist klar, da du einmal direkt übers Netz zugreifen kannst und einmal über den raspi Cups. Musst ihn aber ja nicht 2mal einrichten. Mein iOS hat die Drucker nur einmal von raspi.


    Werden die Drucker bei dir auch in der Cups Verwaltung doppelt angezeigt?



    Gesendet vom iPhone via
    Tapatalk

    Mac Pro 1.1 unter El Capitan
    :keinwindows:

  • Hallo Zusammen!
    Tolle Anleitung, besten Dank!


    Ich habe die Anleitung inkl. "1.2 CUPS einrichten" durchgeführt und kann DIREKT schon AirPrint am iPhone nutzen.
    Wozu ist dann "2.1 AirPrint einrichten" noch nötig?
    Oder wurde AirPrint evtl. jetzt in CUPS integriert?

  • Mir wäre neu das es integriert wurde zumal in den Repos vom Raspberry eher eine ältere Version ist.
    Evtl kann das aktuelle IOS aber auch direkt mit den freigegebenen Druckern interagieren.
    Wenn es läuft ist aber ja alles bestens.
    Welche CUPS und welche IOS Version sind im Einsatz?

    Mac Pro 1.1 unter El Capitan
    :keinwindows:

  • Also ich kann bestätigen das es mit CUPS 1.5.3 und IOS 6.1.3 Geräten auch ohne dem Script läuft.

    -------------------------------------------------


    Lenovo Ideapad U310


    Mac OS 10.8.4
    Intel Core i7 - 3517u - 1,9Ghz
    4GB RAM - 1600Mhz
    Intel HD4000 GPU
    Fusion Drive - 24GB SSD + 500 GB HDD