Wenn der alte PrintServer weder WPA2 noch AirPrint unterstützt, wird es Zeit für ein Upgrade. Da viele Drucker heutzutage bereits ab Werk mit WLAN ausgestattet sind, ist der Markt für PrintServer allerdings deutlich kleiner geworden.

Das ist aber kein Problem, denn dank der Raspberry Foundation kann man sich heute selbst einen bauen. Hier ist die Zutatenliste:

  • Raspberry Pi Zero 2W
  • MicroSD-Karte mit 8 GB oder mehr
  • USB OTG Kabel

Ein normales USB-Kabel funktioniert hier nicht, OTG (on-the-go) ist das wichtige Detail.

Dann kann es auch schon losgehen. Mit dem Raspberry Pi Imager brät man zunächst “Raspberry Pi OS Lite (32-bit)” auf die SD-Karte. Dieser Prozess sollte gerade einmal 5 Minuten brauchen.

Bevor wir die SD-Karte nun in den Pi Zero stecken legen wir auf der /boot Partition noch zwei Dateien an. Die /boot Partition kann auch von Macs und Windows gelesen werden, was das Ganze extrem vereinfacht.

Eine leere Datei mit dem Namen ssh sorgt dafür, dass der OpenSSH-Server gestartet wird. Zusätzlich legen wir noch eine wpa_supplicant.conf an, welche die WLAN-Konfiguration enthält:

country=DE
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
  ssid="MEINWLAN"
  psk="supersecret"
  key_mgmt=WPA-PSK
}

Der Pi Zero sollte sich nun nach dem ersten Boot mit dem WLAN verbinden können und über DHCP eine IP-Adresse erhalten. Der SSH-Server sollte ebenfalls laufen, so dass man sich als Nutzer pi mit dem Passwort raspberry anmelden kann.

Jetzt wo das System (hoffentlich) online ist, beginnt alles mit einem Update auf den neuesten Stand:

apt-get update && apt-get upgrade

Über raspi-config kann man anschließend Details wie bspw. die Zeitzone setzen, bevor es ans Eingemachte geht. Im ersten Schritt wird CUPS installiert, gestartet und aktiviert:

apt-get install cups
systemctl enable cups
systemctl start cups

Um zu prüfen, ob der Drucker mit dem Raspberry Pi verbunden ist, kann man lsusb verwenden:

Bus 001 Device 002: ID 04f9:0041 Brother Industries, Ltd HL-2250DN Laser Printer
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Nun kann die Konfiguration von CUPS beginnen. In die Datei /etc/cups/cupsd.conf müssen eine Handvoll Änderungen gemacht werden.

Aus Listen localhost:631 wird Port 631, damit CUPS über das Netzwerk erreichbar ist. Zusätzlich wird ServerAlias * in die Konfiguration aufgenommen, damit der WebServer nicht nur über die IP-Adresse erreichbar ist, sondern auch auf einen Hostnamen antwortet.

In die Blöcke Location / sowie Location /admin müssen abschließend noch passende Allow Direktiven eingefügt werden, um über das Netzwerk auf den Druckdienst und die Web-Konfiguration zugreifen zu können. Allow 192.168.0.0/16 ist in meinem Fall ausreichend. Außerdem muss Order allow,deny in Order deny,allow geändert werden.

Um die neue Konfiguration zu aktivieren, wird CUPS neu gestartet:

systemctl restart cups

Um die Web-Konfiguration benutzen zu können, braucht es einen Nutzer der Mitglied der lpadmin-Gruppe ist. Wer es einfach möchte, kann den vorhandenen pi-Nutzer in diese Gruppe aufnehmen:

usermod -aG lpadmin pi

Hat man sich erfolgreich an der Web-Oberfläche angemeldet, kann man einen Drucker hinzufügen. Der USB-Drucker sollte hier direkt auftauchen:

Im zweiten Schritt sollte man natürlich den Haken bei “Drucker im Netzwerk freigeben setzen”.

Bei der Treiberauswahl im dritten Schritt hatte ich zunächst den Fehler gemacht, mich auf die Suche nach Treibern für diesen uralten Drucker zu machen. Das ist aber unnötig, denn es handelt sich um einen Standard PCL-Drucker, der als einzige “Besonderheit” beidseitig drucken kann. Man kann daher problemlos den Hersteller Generic wählen und das Modell Generic PCL Laser Printer:

Nach dem Abschluss der Einrichtung und dem Bestätigen der Standardeinstellungen landet man automatisch auf der Status-Seite des neu eingerichteten Druckers. Hier man man nun im Menüpunkt Wartung Testseite drucken wählen, um die Verbindung zu testen.

Bevor man den Drucker nun auf Clients einbindet sollte man Installierte Optionen überprüfen. Hier muss man bspw. ein vorhandene Duplex-Einheit aktivieren, damit die Clients anschließend beidseitiges Drucken anbieten. Das hatte ich im ersten Durchlauf natürlich vergessen.

Dank Avahi sollte der Drucker nun auf Geräten wie bspw. Macs oder iPhones automatisch sichtbar sein. Es kann sofort gedruckt werden. Happy Printing!