DYMO LabelWriter 450 Duo im Netzwerk (Teil 1)
Die Drucker der DYMO® LabelWriter® Serie sind USB-Geräte und können von Hause aus nicht über das Netzwerk angesprochen werden. Die Einrichtung unter Debian Linux ist aber vergleichsweise einfach, auch wenn Linux offiziell nicht unterstützt wird.
Drucker anschließen
Wird der Drucker per USB an den Linux-Server angeschlossen so kann mit dem Kommando lsusb
überprüft werden, ob der Drucker richtig erkannt wurde (siehe Eintrag "Dymo-CoStar Corp."):
lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 0403:c631 Future Technology Devices International, Ltd i2c-tiny-usb interface
Bus 001 Device 003: ID 174c:55aa ASMedia Technology Inc. Name: ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge, ASM1153E SATA 6Gb/s bridge
Bus 001 Device 002: ID 0922:0023 Dymo-CoStar Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
CUPS und Druckertreiber installieren
Wird der Drucker korrekt erkannt, so müssen als nächstes die Druckersoftware CUPS und die zugehörigen DYMO-Druckertreiber bzw. PostScript Printer Definition (PPD) installiert werden. Im einfachsten Falle kann dies per apt
erfolgen:
sudo apt update
sudo apt install cups cups-client printer-driver-dymo
Da wir den Drucker als RAW-Drucker einrichten werden ist die Installation der Linux-Druckertreiber für die reine Freigabe des Druckers im Netzwerk nicht zwingend erforderlich. Soll aber zukünftig auch direkt aus dem Linux gedruckt werden, so sind die Treiber ggf. erforderlich. Ich habe sie also entsprechend schon mal mit installiert.
Klappt die Installation per apt
nicht, so kann man versuchen die so Treiber manuell zu installieren. Dazu müssen die entsprechenden vorkompilierten DYMO-Druckerttreiber für Linux zunächst heruntergeladen werden. Danach wird das Archiv entpackt und die Dateien in dem entsprechenden CUPS-Verzeichnis abgelegt:
wget http://download.dymo.com/dymo/Software/Download%20Drivers/Linux/Download/dymo-cups-drivers-1.4.0.tar.gz
tar -xzf dymo-cups-drivers-1.4.0.tar.gz
sudo mkdir -p /usr/share/cups/model
sudo cp ./dymo-cups-drivers-1.4.0.5/ppd/lw450d*.ppd /usr/share/cups/model/
Drucker einrichten
Um den Drucker in CUPS entsprechend einzurichten muss zunächst die Adresse des LabelWriter ermittelt werden. Dazu kann das Kommando lpinfo
verwendet werden:
lpinfo -v | grep DYMO
direct usb://DYMO/LabelWriter%20450%20DUO%20Label?serial=17066666666666
direct usb://DYMO/LabelWriter%20450%20DUO%20Tape?serial=17066666666666&interface=1
Für einen DYOM LabelWriter 450 DUO sollten dabei wie im Beispiel oben zwei unterschiedliche Drucker-Adressen angezeigt werden. Jeweils eine für den Label und eine für den Tape-Drucker. Mit lpadmin
können die Drucker jetzt angebunden werden:
lpadmin -p dy.mo-label -v usb://DYMO/LabelWriter%20450%20DUO%20Label?serial=17066666666666 -P /usr/share/cups/model/lw450dl.ppd
lpadmin -p dymo-tape -v usb://DYMO/LabelWriter%20450%20DUO%20Tape?serial=17066666666666\&interface=1 -P /usr/share/cups/model/lw450dt.ppd
lpadmin -p dymo-label-raw -v usb://DYMO/LabelWriter%20450%20DUO%20Label?serial=17066666666666 -E -m raw
lpadmin -p dymo-tape-raw -v usb://DYMO/LabelWriter%20450%20DUO%20Tape?serial=17066666666666\&interface=1 -E -m raw
Dabei werden hier jeweils zwei Drucker eingerichtet für den Label und Tape-Drucker. Eine RAW-Variante und eine mit dem jeweiligen Linuxtreiber von DYMO. Mit lpstat
wird überprüft, ob alles richtig angelegt wurde:
lpstat -v
device for dymo-label: usb://DYMO/LabelWriter%20450%20DUO%20Label?serial=17066666666666
device for dymo-label-raw: usb://DYMO/LabelWriter%20450%20DUO%20Label?serial=17066666666666
device for dymo-tape: usb://DYMO/LabelWriter%20450%20DUO%20Tape?serial=17066666666666&interface=1
device for dymo-tape-raw: usb://DYMO/LabelWriter%20450%20DUO%20Tape?serial=17066666666666&interface=1
Die Drucker-Instanzen mit dem DYMO-Treiber müssen noch in CUPS aktiviert werden, bevor sie verwendet werden können:
cupsenable dymo-label
cupsenable dymo-tape
cupsaccept dymo-label
cupsaccept dymo-tape
Wenn alles geklappt hat sollte jetzt mit dem folgenden Kommando was aus dem Drucker kommen:
echo Dies ist ein Test! > test.txt
lp -d dymo-label test.txt
Hinweis: Es könnte sein, dass das Format beim Drucktest noch nicht passt oder der Text etwas abgeschnitten wird. Hauptsache ist, dass hier bereits was aus dem Drucker kommt.
CUPS-Weboberfläche einrichten
Damit zur komfortablen Konfiguration der Drucker auf die CUPS-Oberfläche per Browser zugegriffen werden kann müssen noch einige Änderungen an der CUPS-Konfiguration vorgenommen werden. Dazu muss die lediglich die Datei /etc/cups/cupsd.conf angepasst werden. Ich habe folgende Änderungen vorgenommen:
[...]
# Only listen for connections from the local machine.
Listen 631
Listen /var/run/cups/cups.sock
# Show shared printers on the local network.
Browsing On
BrowseLocalProtocols dnssd
# Default authentication type, when authentication is required...
DefaultAuthType Basic
# Web interface setting...
WebInterface Yes
# Restrict access to the server...
<Location />
Order allow,deny
Allow @LOCAL
Allow 192.168.20.*
Allow 192.168.12.*
</Location>
# Restrict access to the admin pages...
<Location /admin>
Order allow,deny
Allow @LOCAL
Allow 192.168.20.*
Allow 192.168.12.*
</Location>
# Restrict access to configuration files...
<Location /admin/conf>
AuthType Default
Require user @SYSTEM
Order allow,deny
Allow @LOCAL
Allow 192.168.20.*
Allow 192.168.12.*
</Location>
# Restrict access to log files...
<Location /admin/log>
AuthType Default
Require user @SYSTEM
Order allow,deny
</Location>
[...]
Danach müssen noch mindestens ein Systembenutzer Mitglied der Gruppe lpadmin
werden, damit er sich an der CUPS-Weboberfläche anmelden kann: adduser [BENUTZER] lpadmin
.
Nachdem der CUPS Dienst mittels systemctl restart cups.service
neu gestartet wurde, sollte die Weboberfläche unter http://<ip-adresse>:631
erreichbar sein.
RAW-Printserver einrichten
Grundsätzlich können die in CUPS eingerichteten Drucker über Samba im Netzwerk freigegeben werden. Da ich aber den Samba-Overhead vermeiden wollte, habe ich den Drucker per JetDirect (auch RAW-Service) im Netzwerk verfügbar gemacht. Das ist auch die Methode, die der offizielle DYMO LabelWriter Print-Server nutzt und damit der erfolgversprechendste Ansatz.
Dazu müssen in der Datei /etc/services
zunächst zwei Dienste eingetragen werden. Ich habe beispielsweise folgende Einträge vorgenommen:
dymo-label 9100/tcp # laserjet hplj
dymo-tape 9102/tcp # Bacula File Daemon
Danach wird die Datei /etc/xinetd.d/dymo
mit folgendem Inhalt angelegt:
# Allow applications using the AppSocket / JetDirect protocol
# to communicate with DYMO-Duo printer CUPS.
service dymo-label
{
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/bin/lp
server_args = -d dymo-label -o raw
groups = yes
disable = no
}
service dymo-tape
{
socket_type = stream
protocol = tcp
wait = no
user = lp
server = /usr/bin/lp
server_args = -d dymo-tape -o raw
groups = yes
disable = no
}
Hinweis: Ich wurde von Fynn darauf hingewiesen, dass eventuell xinetd
zunächst noch installiert werden muss (apt install xinetd
). Zumindest war das bei Fynn neu aufgesetzten Raspbian aus dem rpi-imager der Fall.
Zu guter Letzt muss nur noch der xinetd-Dienst neu gestartet werden und der Drucker sollte anschließend unter Port 9100 bze 9102 verfügbar sein:
systemctl restart xinetd.service
systemctl enable xinetd.service
Im zweiten Teil des Artikels beschreibe ich, wie der eingerichtete Drucker in Windows eingebunden wird.
Quellen
[1] Bedienungsanleitung DYMO® LabelWriter®-Etikettendrucker
[2] Install Dymo LabelWriter on Headless Linux
[3] So setzen Sie Ihren Raspberry Pi als Druckerserver ein
[4] Anleitung für den DYMO® LabelWriter® Print Server
[5] Using port 9100 to print to a Printer Queue on a Cups-enabled Server
Kommentare