I have a old-ish Brother QL-710W label printer. It has a Wi-Fi function, but I don’t really want it connecting to the network itself. Instead, I wanted to connect it to a box (either a Raspberry Pi or an Intel NUC) running Linux, which will expose the printer over the network via CUPS, so I can print labels from my laptop and phone.
I’ve got it working to the point where I can print from my laptop, but not from my phone. No idea why…
sudo apt install cups -y
Get the drivers from Brother’s website
Brother offers Linux support, which is nice.
Install the drivers
sudo dpkg -i --force-all ql710wpdrv-3.1.5-0.i386.deb
At the end, it ran this (I didn’t do it manually; it did it. I’m just putting this here for reference.)
lpadmin -p QL-710W -E -v usb://Brother/QL-710W?serial=000J6Z874650 -P /usr/share/cups/model/Brother/brother_ql710w_printer_en.ppd
I got an error message that it couldn’t find/create a spool file. I didn’t spot this at first, and I spent ages working out why it did not work.
sudo mkdir -p /var/spool/lpd/ql710w sudo chown lp:lp ql710w/ sudo chmod 775 ql710w/
Add my user to the print group
sudo usermod -G lp -a neil
Enable remote printing via CUPS
sudo cupsctl --remote-any sudo systemctl restart cups
I sorted my firewall rules at this point.
Check the printer is showing
which gave me
device for Brother_QL-710W: usb://Brother/QL-710W?serial=000J6Z874650 device for QL710W: usb://Brother/QL-710W?serial=000J6Z874650
Do a test print
echo "Test" > test.txt lp -d Brother_QL-710W test.txt
And it should print out a poorly-formatted label.
And it should “just appear” on your laptop
This sets it up for driverless printing, so you shouldn’t need to install anything on your laptop.
On Debian 12, this worked fine: I could use gLabels to create a label and send it to the label printer.
I couldn’t get it to work on my phone, even using the Brother Android app, and specifying the printer by IP address. I’ve tried specifying ports (631, 137) too, but no luck so far. Same story on Sandra’s iPhone. So I am most of the way there, but not the whole way there. I have not tried Samba yet.
I couldn’t get the brother_ql_web interface to work
There is a nice Python project for Brother (and other label printers), exposing an easy to use web interface. This would overcome the problem of it not working on my phone, as I could just use the web interface. After faffing around with a Python venv, I was able to get the Python drivers working from the command line, but the web interface threw an error about incorrect size, which I was not able to fix. I’ve filed a bug report so perhaps this will get fixed at some point (or I get told how I’ve messed it up).
Now fixed, thanks to the kind developer who fixed the bugs.
I am going to start seeing who wants a Christmas card soon, and it would be nice if there was an easy way to generate the labels for the envelopes.
Ideally, I’d use a text file, or series of text files, with the label information in them, and point that at the printer, and it would spit out loads of labels. I’d rather not create each label individually. So perhaps a bit of work to do there.