Menu Zamknij

Drukarka etykiet DYMO LabelWriter (450 DUO i nie tylko) udostępniana po sieci dla macOS i Windowsa

Kontynuując przygodę z moją drukarką etykiet DYMO (najpierw analizując baterię poprzednika, a potem instalując ją na Linuksie) postanowiłem udostępnić ją w sieci lokalnej – tak, żeby uniknąć przepinania kabla USB między urządzeniami. Tym razem jednak do wspieranych platform należy dodać Windowsa i macOS. W roli serwera druku – Raspberry Pi i stary, dobry CUPS.

Wybór protokołów udostępniania

CUPS może udostępniać lokalne drukarki za pomocą kilku protokołów – między innymi mDNS, IPP, Samby i LPD. Ze względu na specyfikę drukarki DYMO, a raczej jej oprogramowania na Windowsa i macOS konieczne jest użycie protokołu, który wspiera użycie drivera samej drukarki do obsługi specjalnych trybów; pozostawia nam to mDNS i Sambę. Dość fajne podsumowanie zapewnia jak zwykle wiki Arch Linuxa.

Teoretycznie mDNS powinien działać zarówno na Windowsie (jako natywny protokół auto-discovery), jak i macOS za pomocą Bonjour. Niestety, sama drukarka DYMO po mDNS w Windowsie jest widoczna, ale DYMO radośnie ją ignoruje, natomiast macOS nie za bardzo chce widzieć drukarki udostępniane „po windowsowemu” przy użyciu serwera Samba4. Zatem nie pozostaje nic innego jak zainstalować obsługę obydwu protokołów w naszym serwerze druku.

Instalacja serwera druku i sterowników

Najpierw należy zainstalować kilka pakietów: cups avahi-daemon avahi-discover libnss-mdns samba.

Kolejny krok to instalacja sterowników (plików PPD) dla DYMO. To, co znajdziemy w paczce printer-driver-dymo to snapshot oficjalnych plików, który niestety nie do końca działa w nowej wersji CUPSa i Samby. Na szczęście znalazła się dobra dusza w community opensource, która trochę je podrasowała – można je znaleźć na Githubie – https://github.com/matthiasbock/dymo-cups-drivers

Trzeba przy nich nieco więcej zachodu niż proste apt install..., ale sprawa jest dość prosta:

apt install autoconf
git clone https://github.com/matthiasbock/dymo-cups-drivers/
cd dymo-cups-drivers
bash build.sh
make install
cp src/lw/raster2dymolw /usr/lib/cups/filter/
cp src/lm/raster2dymolm /usr/lib/cups/filter/
systemctl restart cups

Dodawanie drukarki

Kolejny krok to włączenie CUPSowi zdalnego panelu administracyjnego – tak, żebyśmy mogli dodawać drukarki spoza localhosta – sudo cupsctl --remote-admin. Teraz można użyć http://RASPBERRY_PI_ADDRESS:631 w przeglądarce.

Następny etap to dodanie drukarki lub dwóch – w przypadku urządzeń DUO (osobno do etykiet o stałym rozmiarze i etykiet na ciągłej taśmie). W webowym UI, do którego autoryzujemy się login i hasłem użytkownika root będziemy chcieli osiągnąć coś takiego:

Współdzielenie drukarki

Udostępnianie po mDNS jest automatyczne w CUPSie – wystarczy pilnować zaznaczenia pola Share This Printer. Aby współdzielić drukarkę po Sambie trzeba… skonfigurować serwer Samby 😉

Minimalny plik konfiguracyjny /etc/samba/smb.conf, który udostępni drukarki całej sieci lokalnej (grupie WORKGROUP) bez autoryzacji wygląda tak:

[global] 
  workgroup = WORKGROUP
  server string = RPi
  log file = /var/log/samba/log.%m
  max log size = 1000
  server role = standalone
  load printers = yes 
  printing = cups
  use client driver = yes

[printers]
  path = /var/spool/samba
  printable = yes
  public = yes
  guest ok = yes
  read only=no
  use client driver = yes

Wskazany w konfigu folder /var/spool/samba może nie istnieć – wystarczy go stworzyć i zostawić defaultowe uprawnienia – zarówno Samba, jak i CUPS działają jako root.

Po restarcie smdb można konfigurować urządzenia klienckie.

Ustawianie drukarki na Windowsie

Na Windowsie sprawa wygląda następująco: należy podłączyć się pod udział sieciowy \\RASPBERRY_PI_ADDRESS, wybrać drukarkę i wskazać sterownik – ważne by wcześniej mieć już zainstalowany program DYMO Connect.

Po dodaniu drukarki warto potwierdzić, że wybraliśmy odpowiedni sterownik – ja miałem sporo zamieszania, przez fakt, że model 450 DUO to tak naprawdę dwa urządzenia w jednym, a dodatkowo model DUO to nie to samo.

Po zakończeniu instalacji drukarki musimy koniecznie zrestartować DYMO Connect. Po uruchomieniu będziemy widzieć drukarkę/drukarki nazwaną zgodnie ze ścieżką udziału sieciowego – nie mamy na to wpływu.

Ustawianie drukarki na macOS

Na macOS sprawa wygląda równie prosto, jak nie prościej. W Preferencjach systemowych należy wybrać Drukarki i skanery, a następnie kliknąć plusik w lewym dolnym rogu.

Odnalezione za pomocą Bonjour drukarki ujrzymy na liście – sterownik zostanie wybrany automatycznie, o ile wcześniej zainstalowaliśmy DYMO Label. Ciekawostka z nazwami programów od DYMO – jakiś czas temu na obu platformach program nazywał się Label, ale z pół roku temu windowsowa wersja została przebudowana i nazwana Connect, a mackintoshowa – nie. Chociaż ta druga dalej dostaje aktualizacje. </dygresja>

W programie DYMO Label mamy teraz dostępne drukarki i wszystko działa:

Podsumowanie

Kluczem do udostępniania drukarki DYMO w sieci lokalnej na kilka platform jest odpowiedni sterownik na serwerze wydruku i wybór protokołów. Obie sprawy nie są oczywiste, gdyż sterowniki dostępne w repozytoriach Debiana i na stronie samego DYMO nie działają z nowymi wydaniami innych pakietów, a ręcznie stawiany serwer druku nie zawsze jest zgodny z oczekiwaniami różnych systemów operacyjnych.

Jako bonus ciekawostka: w macOS BigSur wydanym kilka miesięcy temu hosty Windowsowe dalej mają ikonkę antycznego monitora CRT z widocznym Blue Screenem.

Leave a Reply