Sharing a DYMO LabelWriter 450 Twin Turbo using CUPS and SAMBA
I wanted to if I could use a Raspberry Pi Zero W 1.1 to be a wireless USB print server for my DYMO LabelWriter 450 Twin Turbo. Here's what I learned and how to make it work. These steps should be the same regardless of server or operating system (Debian, Raspbian, Ubuntu, etc.).
Raspberry Pi
Install software
sudo apt install cups samba printer-driver-dymo
# add a user on the pi to the lpadmin group
# this is what you'll use to login to the cups web interface for adding the printer
sudo usermod -a -G lpadmin pi
sudo cupsctl --remote-any
sudo systemctl restart cups
Configure Samba
Edit /etc/samba/smb.conf and make sure the printers and print$ sections match what is shown below. You can make the print$ section writable if you need to be able to remotely manage print drivers.
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = yes
read only = yes
create mask = 0700
# Windows clients look for this share name as a source of downloadable printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = yes
Add the printer to CUPS
- Login to the CUPS service using the URL https://[ip_address]:631/admin
- Click Add Printer
- Do what is needed to add the printer.
Adding the printer to Windows
Add device - fail
I tried adding the printer using the Windows Add device option. It didn't go so well. The printer adds properly, and I can print to it from Windows, but DYMO Connect will not use the printer. Windows creates a WSD-[UUID] IPP type port and the driver maps correctly, but I never was able to get it to print successfully. It would just give an error. Doing a packet capture, I never actually saw Windows send data to the print server when trying to send a print job.
Add device - Add manually - fail then success after rename
I tried adding the printer using the Windows Add manually method by specifying the IPP URL as the printer name. It successfully adds the printer, and I can successfully send a test page job from Windows, but DYMO Connect either crashes when loading or shows the printer as disconnected. Windows appears to add a "\\" in front of the printer name. If I rename the printer using PowerShell, because I couldn't find any other way to rename it, DYMO Connect will then print successfully.
PowerShell Add-Printer Command - pure success
Below is the command used to add the printer to a Windows 11 computer that already has the DYMO Connect software installed. Everything worked perfectly.
Add-Printer -Name "DYMO LabelWriter 450 Twin Turbo on piZeroW_91" `
-PortName "http://[ip_address]:631/printers/DYMO_LabelWriter_450_Twin_Turbo" `
-DriverName "DYMO LabelWriter 450 Twin Turbo"
DYMO Connect Software
The DYMO Connect software will only show a printer as available if the driver used by the printer is one of their supported drivers.