Skip to content

Printing labels with the DYMO LabelWriter Wireless (and LabelWriter 5xx) on Debian Linux

Debian

In 2020 my company bought a DYMO LabelWriter Wireless. It is an awesome little device for thermal printing a wide variety of labels. The labels are easily available both from DYMO and from third parties so the pricing is quite acceptable.

Unfortunately DYMO supplies their DYMO Connect Software only for Microsoft Windows and MacOSX. A mobile app of the same name for Android and Apple iOS devices is available in the app stores.

There is a SDK for Linux and there are drivers published for Linux but the LabelWriter Wireless was not supported on Linux when I tried to get it running for Debian in 2020.

Image of the DYMO LabelWriter Wireless in the white and black versions

This year I have had a new look at the situation as we still use the LabelWriter Wireless printers a lot and the company runs fully on Linux. So it is always a chore to run a Windows VM just to run DYMO Connect.

There is a very nice set of tools by Manuel Heiß called "dymon" which contain a command line tool, dymon_pbm and a Web-based print server dymon_srv to drive the DYMO LabelWriter Wireless and LabelWriter 450. The tools are built from partially reverse engineering the wire protocol and sending wrapped up NetPBM images to the thermal printers. This works reasonably well and does not need the DYMO SDK or any other third party software. The repo is worth looking at for the description of the wire protocol and Manuel also has created a very useful page with all label names and their physical dimensions: https://github.com/minlux/dymon/blob/master/doc/paper_size.md. A good cheat sheet for ordering labels.

But the reverse engineering has only been conducted enough to get things working 90%, so I was looking for what's possible with CUPS again...

DYMO actually supports the LabelWriter Wireless under Linux since 2021 but this seems to have gone unnoticed in the Debian printer driver for DYMOs.

The upstream code from DYMO has been published as a mess of .zips and random directories. Matthias Bock has arranged that "code dump" into a buildable repository at https://github.com/matthiasbock/dymo-cups-drivers/. I suggested to use this work to update the Debian printer drivers for DYMO in Debian BTS bug #1094727.

For CUPS you basically need a filter to convert the printable image of each page (i.e. label) to a data stream the printer understands and a PPD (PostScript Printer Description) file which contains the metadata describing the printer.

The filter goes into /usr/lib/cups/filter/ and is an executable named raster2dymolw_v2 for the DYMO LabelWriter Wireless and the DYMO LabelWriter 5xx products.

The PPD goes into /usr/share/ppd/cupsfilters/ and is named lww.ppd for the DYMO LabelWriter Wireless.

Once you have these in place you can tell CUPS to find a new printer, either via DNS-based auto-discovery (Avahi) or by entering the LabelWriter Wireless' IP Address as a "AppSocket/HP JetDirect" printer (TCP port 9100) on the CUPS local web interface http://localhost:631/admin/.

lpadmin -p DYMO-LabelWriter-Wireless -E -v socket://192.168.1.242 -m lsb/usr/cupsfilters/lww.ppd
will also work. Of course, adjust the IP address to match your printer.

I have compiled the CUPS filter raster2dymolw_v2 for the current Debian stable release 12 aka Bookworm. The .tar.gz below contains the .ppd files for:

lmmls.ppd   DYMO MobileLabeler
lw550.ppd   DYMO LabelWriter 550
lw550p.ppd  DYMO LabelWriter 550 Pro
lw550t.ppd  DYMO LabelWriter 550 Turbo
lw550tp.ppd DYMO LabelWriter 550 Twin Pro
lw5xl.ppd   DYMO LabelWriter 5XL
lw5xlp.ppd  DYMO LabelWriter 5XL Pro
lww.ppd     DYMO LabelWriter Wireless
File sha256
Dymo_LabelWriter_Wireless_and_5xx_driver_1.5.0_Linux_Debian_bookworm.tar.gz 208e734afd29c2daf4271c68a9eb03a796afaf105a941dfa77045fc356a0dbe6

Please note you will need CUPS installed and configured and do apt install libcupsimage2 as that is required for the filter to work.

Check running

/usr/lib/cups/filter/raster2dymolw_v2

If all is well it will output:

ERROR: using: <filter> job-id user title copies options [file]

If the printer-driver-dymo package has not been updated until Debian 13 Trixie is released, I'll create another ghetto-style .tar.gz with the raster2dymolw_v2 filter linked against the newer libraries versions in that distribution. The .ppd files could use some love, too, the physical dimensions of the labels are not all up-to-date with the products available from DYMO and the third-party retailers. But they are just text files so they are stable across releases.

Trackbacks

No Trackbacks

Comments

Display comments as Linear | Threaded

No comments

Add Comment

Markdown format allowed
Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications.
Form options

Submitted comments will be subject to moderation before being displayed.