[[Vorlage(archiviert)]] {{{#!vorlage Wissen [:Terminal: Ein Terminal öffnen] [:Rechte: Rechte für Dateien und Ordner ändern] }}} [[Inhaltsverzeichnis(1)]] Einen Drucker mit USB-Anschluss kann man einfach an eine Fritzbox anschließen, dort freigeben und er lässt sich via [:CUPS:] über die Fritzbox erreichen bzw. nutzen. Im Prinzip stellt die Fritzbox einen primitiven Druckserver dar (nur den Drucker bereitstellen, keine Auftragsverwaltung usw.). Bei ausschließlich für den Betrieb unter Windows gedachten [wikipedia:Graphics_Device_Interface:GDI]-Druckern gestaltet sich die Inbetriebnahme schwieriger. Bevor diese Drucker drucken können, muss zuerst eine spezielle Firmware in den Drucker geladen werden. Dies betrifft beispielsweise verschiedene Modelle des [:Archiv/HP_LaserJet_10xx:HP LaserJet 10xx]. Natürlich kann man einen GDI-Drucker auch einfach an die Fritzbox anschließen und freigeben. Vielleicht findet ihn CUPS auch, aber ohne Firmware kann er mit Druckbefehlen nichts anfangen. Und CUPS kümmert sich nicht darum, ihn "intelligent zu machen" und erst danach zu drucken. Für weitere Informationen siehe auch [wikipedia:Laserdrucker#Softwaretreiber:hier]. Eine alternative Vorgehensweise mit mehr Möglichkeiten - aber auch mehr Aufwand - findet sich im Artikel [:Nicht unterstützte Drucker als Windows-Freigabe:] = GDI-Drucker einrichten = Auch mit einem GDI-Drucker (z.B. HP Laserjet 1020) kann man über die Fritzbox drucken und damit von mehreren PCs auf den Drucker zugreifen. Dafür wird normalerweise beim Einschalten des Druckers erst die Firmware über die USB-Schnittstelle aufgespielt. Dies muss natürlich auch beim Anschluss über die Fritzbox erfolgen. {{{#!vorlage Hinweis Die nachfolgende Anleitung bezieht sich zwar auf eine Fritzbox und einen HP Laserjet 1020, sollte sich aber auf andere (vergleichbare) Router und andere GDI-Drucker sinngemäß übertragen lassen. Auf jeden Fall sollte man sie zuerst komplett lesen, da es zeitliche Abhängigkeiten in der Ausführung gibt. }}} Zuerst den Drucker lokal an einem USB-Port einrichten (z.B. wie in [:Archiv/HP_LaserJet_10xx:HP LaserJet 10xx] beschrieben). Hierbei wird u.a. ein Verzeichnis '''/usr/share/foo2zjs/firmware/''' erstellt, in dem sich z.B. die Datei '''sihp1020.dl''' (für HP Laserjet 1020) befindet. Das ist die angesprochene Firmwaredatei. Danach den Drucker an die Fritzbox anschließen und dort über die Weboberfläche nach Herstellerangabe freigeben (dabei aber keinen USB-Fernanschluss für den Drucker aktivieren). Anschließend ein Terminal [1] öffnen und Folgendes eingeben - aber ohne abschließendes [[Vorlage(Tasten, Enter)]] (zu den Details siehe [:netcat:]): {{{#!vorlage Befehl cat /usr/share/foo2zjs/firmware/sihp1020.dl | netcat -w 1 192.168.178.1 9100 }}} Dabei sind der Pfad und Name der Firmwaredatei an den eigenen Drucker anzupassen. `192.168.178.1` ist die Werks-IP der Fritzbox und ist ggf. anzupassen. Sie kann über die Web-Oberfläche der Fritzbox ermittelt werden. `9100` ist der Port, der sich bei Druckereinrichtung durch CUPS ergibt. Jetzt den Drucker einschalten und nach dessen Initialisierungsphase [[Vorlage(Tasten, Enter)]] drücken. {{{#!vorlage Warnung Nach dem [[Vorlage(Tasten, Enter)]] versucht das System, die Firmwaredatei hochzuladen. Dieses kann einen Moment dauern. Erfolg stellt man fest, wenn der Drucker ein Walzengeräusch von sich gibt, ggf. mehrfach ausführen. Im Terminal erscheint danach wieder der Prompt. Mögliche Fehlerquelle im Ablauf: Der Drucker geht nach einer gewissen Zeit in Standby (erkennbar an einem kurzen Geräusch). Es kann sein, dass er nach dieser Zeit nichts mehr annimmt. Dann muss man ihn zuerst einmal aus- und wieder einschalten, daher erst kurz vor dem Terminalbefehl einschalten. Ggf. kann man mit dem Parameter `-w 1` (= 1 Sekunde warten) experimentieren. }}} {{{#!vorlage Hinweis Der Befehl ist immer nur einmal nach dem Einschalten des Druckers auszuführen. Drucken kann man dann beliebig oft - auch von anderen Rechnern aus. }}} Jetzt kann man den Drucker auch noch als Netzwerkdrucker in CUPS einrichten (am besten einen anderen Namen als bei der lokalen Einrichtung, z.B. Laserjet-Fritzbox), ggf. einen Testdruck anfertigen. Danach kann man den Drucker auch im Standarddruckdialog auswählen. Alternativ kann man mit dem obigen Befehl durch Austausch des Firmware-Dateinamens gegen eine binäre Druckdatei (kein Postscript!) diese direkt drucken. = Automatisierung = Zur Vereinfachung kann man eine Skriptdatei mit obiger Befehlszeile erstellen und diese ausführbar [2] machen. Leider muss man die Übertragung der Firmware nach jedem Ausschalten des Druckers erneut durchführen - oder den Drucker anlassen. Umgehen kann man das nur, wenn man eine modifizierte Firmware für die Fritzbox verwendet (da diese für die Druckererkennung primär zuständig ist), Hinweise dafür finden sich im [http://www.ip-phone-forum.de/showthread.php?t=184953 ip.phone-forum.de] {de}. Andersherum könnte man auf dem eigenen PC einen Dienst laufen lassen, welcher permanent versucht, die Datei hoch zu laden. Für Windows müsste man bei solchen Druckern eigentlich den ''"USB-Fernanschluss"'' von AVM installieren und in der Box aktivieren. Leider geht dort entweder ''"Netzwerkdrucker"'' oder ''"Fernanschluss"'' - beides zusammen nicht. Damit würde man auf Möglichkeiten des Fernanschlusses verzichten (Statusmeldungen des Druckers usw.). = Links = * [:FritzBox:] - Weitere Artikel zum Thema FritzBox * [http://www.ip-phone-forum.de/showthread.php?t=184953 Hauptquelle dieses Beitrags] {de} * [:Nicht unterstützte Drucker als Windows-Freigabe:] * [:Archiv/HP_LaserJet_10xx:HP LaserJet 10xx] #tag: Netzwerk, Hardware, Drucker