How to make your Brother QL-570 play nice with Ubuntu 10.04

I’m posting this in the hope that it will somehow greatly simplify somebody’s day. I did this the hard way, over and over, until I made it work for me; hopefully this all goes much easier for you!
The issue at hand is making the Brother QL-570 thermal label printer work as advertised on a system running Ubuntu Linux. This guide is written with the complete newbie in mind; skip over any bits that seem too obvious. The driver installation instructions provided on the Brother website can be daunting to a beginner, and contain a few subtle errors that may trip you up. I performed these steps in Ubuntu 10.04, but they should work in any version newer than 8.04. Ubuntu made a fine go of installing the required drivers all on its own, but I finally had to go through it the long way to get things working well.

First off, it’s a great help to have the nautilus-terminal application installed. Basically, it adds a command-line terminal window to the standard Nautilus file browser. This lets you navigate folders and do common tasks with the simple GUI interface, then seamlessly switch to the command line interface (already in the proper directory!) with a point and click. To install nautilus-terminal, open a standard terminal and enter the following lines, being sure to enter your administrative password when prompted:

  • sudo add-apt-repository ppa:flozz/flozz
  • sudo apt-get update && sudo apt-get install nautilus-terminal

Now restart nautilus by pressing ALT+F2 and entering:

  • nautilus -q

Re-open Nautilus and notice the terminal window at the top.

Now open a browser window and go to the Brother driver download page. For a typical Ubuntu install, you only need to download the .deb format drivers, in particular the LPR driver and the cupswrapper (inch) driver. While you won’t need it quite yet, you might as well grab the template file download while you’re here. Go ahead and download these (you’ll need to click through some licencing screens).

Create a new folder on your desktop, named something obvious like “Brother Drivers”. Open your Downloads folder, then drag the driver files over into the new folder you just created. This will make them simple and easy to open. Now open the new folder in Nautilus (which is the default file browser; just double-click the folder). Notice that the command-line has you already in the correct directory. Click into the terminal, and enter:

  • sudo gedit /var/lib/dpkg/info/ql570cupswrapperinch.list

This will open a text-editor. Copy the following text into the text editor window, then save and exit:

./
/usr/
./usr/local/
./usr/local/Brother/
./usr/local/Brother/PTouch/
./usr/local/Brother/PTouch/ql570/
./usr/local/Brother/PTouch/ql570/cupswrapper/
./usr/local/Brother/PTouch/ql570/cupswrapper/cupswrapperql570pt1
./usr/local/Brother/PTouch/ql570/cupswrapper/brcupsconfpt1

Nothing spectacular should happen here; you’ve just added a file that will prevent an error message from pestering you a few steps later. Now, back at the command line, double-check that you are still in the same directory/folder as the drivers: the two drivers and the tar.gz will be shown in the GUI portion of the window, and the command prompt in the terminal portion of the window should say “~/Desktop/Brother Drivers$”. At the command line, enter the following:

  • sudo aa-complain cupsd
  • sudo mkdir /usr/share/cups/ql570
  • sudo dpkg  -i  –force-all ql570lpr-1.0.0-1.i386.deb
  • sudo dpkg  -i  –force-all ql570cupswrapperinch-1.0.0-1.debian.i386.deb

You may have seen an error message flash past during that step. As long as nothing hangs on you, it is safe to ignore. Now, check that the drivers installed correctly. Close the file browser window, and open a straight terminal window. Enter the following:

  • sudo dpkg  -l  |  grep  Brother

You should get some confirmation of the two drivers. Now open a web browser and go to  http://localhost:631/printers to find the CUPS web-panel. Choose the QL-570 from the list. Under the Administative pull-down menu, select “Set Default Options”. Here, you may need to fiddle with the paper sizes to get best results. The recommended default for me was “62mmx4”, but this ended up printing 3 blank labels after every job. “62mmx100mm” Seems to be working well for me right now… After making any changes, return to the printer page and select “Print Test Page” from the Maintenance pull-down.

Those templates you downloaded earlier? Unzip the qt570l110.tar.gz to find a selection of template printing files for Open Office and others.

  1. Philip’s avatar

    Thanks for posting this! I’ve been fiddling with the printer myself for half a day. Basically it works, I’ll try your steps tomorrow. However, I am interested in whether you could get it to print custom sized labels correctly, since having a default single 62×100 label is a huge waste (obviously one could put multiple labels onto a single 62×100 template and cut it themselves, but it kinda defeats the purpose). It is a bit quirky when it comes to custom settings, as it does not seem to immediately apply the changes and when it does it often produces errors. So I still have to figure out how to get custom length labels in a straightforward way. The windows software seems to handle this pretty well, however, I’d prefer having the option of not having to deal with windows at all

    Reply

  2. osteoderm’s avatar

    The settings I posted worked fine for me with the supplied-with-printer 62mm continuous tape. When that ran out, and I changed to a larger roll of 62×100 pre-cut labels, I had to adjust the settings in the CUPS web-panel to reflect this change.
    I haven’t had a need to try it, but I think you could use 62mm continuous tape and then set CUPS for whatever length you need. I understand that this would get tedious if you changed label size often.
    I suppose the pins/holes on the bottom of each media cartridge are supposed to automatically change these things. Since I’m now only using this one label size/configuration, I haven’t had to make any further CUPS changes. I use the 62mm-100mm template in Open Office to make up the labels, and set the orientation through OOo as well, with zero hassles.

    Reply

  3. Daryl’s avatar

    I HAD this printer working with a custom media size (62X38) using 62mm continuous tape….. for some reason, it stopped working and now has defaulted to 62×100 even though it says I am still using 62X38…….arrrrrrrrg…… the frustration of it all! If anyone has any ideas on this, please let me know!

    Reply

  4. Philip’s avatar

    That is exactly my problem, it falls back to default no matter what length I set. At most it refuses to print with some settings. I’ve tried changing the size in the OOo templates, I’ve tried custom page sizes, Inkscape, Gimp, nothing seems to do the trick for what should actually be a trivial task.. Haven’t had the time to try fiddling with the configuration files and wrapper scripts manually. Hope someone comes up with a solution. Different media may also do the trick, however I’ve stumbled upon some reports that the thing refuses to print altogether on different media due to the default setting being persistent..

    Reply

  5. Philip’s avatar

    OK, I’ve managed to hack the bastard a little bit. After reinstalling the drivers (this time using the inch-based driver, no idea if it makes any difference) to have a sort of “clean-start”, I skimmed through the wrapper scripts and in /usr/local/Brother/PTouch/ql570/inf I found two files of particular interest – brql570func and brql570rc. In brql570func under section default there is an entry called MediaSize={SOMEDEFAULTVALUE} – which in my case was set to something like 29×90 (apparently incorrect). I set this to 62×29 to try out this predefined size first. Then, in brql570rc, there is an identical entry under the only section ql570, which is also set to the same SOMEDEFAULTVALUE, which in my case was 29×90. I set this one to 62×29 as well, restarted cups, opened the corresponding template (62×90, landscape), pressed print et voila! There it was, as desired, a test label, 29mm in length! Now, I don’t know yet if both files have to be edited (I could imagine so, at least for consistency). I am also not 100% this would work for any custom size (I guess if it is defined properly using the supplied scripts as per http://welcome.solutions.brother.com/bsc/public_s/id/linux/en/instruction_esp4.html#Inst1 it should work as well). I’ll try that out later probably, although it is a bit of a hassle, I have to admit. Perhaps modifying the existing scripts or writing a custom automation script could make it easier to manage custom and varying sizes, I mean the functionality is apparently there, it is just a pity that it is not properly set up. So I guess that is a small win.

    Reply

  6. Philip’s avatar

    Another small update – it would seem there is also a driver (sort of) in the default repositories (look for ptouch-driver). What I did was install the driver first (not sure this is necessary), then turn on the printer, and then plug in the USB cable. A window popped up looking for drivers and after being unable to figure things out by itself it asks for manual intervention. There one could select the Brother QL 550 driver (not the same model, I know), try to download a new driver (I guess by installing the ptouch-driver package in advance this is no longer necessary or a valid option) and supply a PPD file manually. Now, I tried the last option first with the PPD from the Brother Website driver, but it complained that the necessary wrapper was not available (clean install on a different PC). Then, I figured go for the QL 550, what the he11.. And what do you know, it worked without issues. Better yet, selecting different print sizes also worked fine (although the predefined ones are less than the ones supplied with the official Brother driver, but one could define new custom sizes). Page rotation is a bit tricky to get right but otherwise it seems fine. Of course some of the options are different / missing. Maybe the configuration files could be tweaked to show all the options of the QL 570 (depending on whether the driver actually supports them), but the essentials are there. So I’m guessing this is a more straightforward approach.

    p.s. Feel free to moderate the minor language issue in the above post 😉

    Reply

  7. osteoderm’s avatar

    Thanks for sharing the results of your experimentation! It’s inspiring me to dig into these settings again for myself. I’d like to be able to enjoy drop-in compatibility with a 29x90mm roll.
    I chose the Brother because of the availability of Linux drivers. Reading deeper into the Brother site and looking closer at the provided files, it looks more and more like a bootstrap solution. But, like you, I think the essentials are there, which is more than can be said for other proprietary solutions.

    Reply

  8. WebSALE.TV’s avatar

    I’ve successfully installed the Brother QL-570 in Linux Mint 11 and I currently use it to print lots and lots of barcode labels for my shipments going to Amazon. You can read my full review and instructions on my WebSALE.TV Tech Blog.

    The link to the article is http://pr.websale.tv/ql-570

    Reply

  9. Candyland’s avatar

    Thanks man for this great guide. I usually fail doing things on tutorial (as I suck on ubuntu) but you made it understandable.

    5/5

    Reply

  10. king-ghidorah’s avatar

    Hey,

    Very nice article and great comments thanks.

    @Philip

    Thanks for the pointer to Brother instructions. I have actually tried the tool they provide for creating custom labels and it is not complicated at all. Just run it without any arguments and you will get parameter list for your printer. In my case:


    brpapertoollpr_ql700
    ===========================
    LPRng Paper Size Tool (v 0.1) Copyright by 2005
    Usage: brpapertoollpr_xxxx -P QL-xxxx Printer Name [-n add a Lable Format Name (<=32 bytes) -w Media Width(unit:mm) -h Media Height(unit:mm)]/[-d delete Lable Format Name]
    For example:
    1. Add a new Label Format with "New Label Format" name and 29mm width and 70mm length:
    "brpapertoollpr_ql700 -P QL-700 -n New\ Label\ Format -w 29 -h 70" [enter]

    2. Remove the Label Format with "New Label Format" name:
    "brpapertoollpr_ql700 -P QL-700 -d New\ Label\ Format" [enter]

    ===========================

    So for my continuous 62mm tape I created a custom label with:


    brpapertoollpr_ql700 -P QL-700 -n 62x45-large-address -w 62 -h 45

    And it worked! 🙂 However, changing the default values in my case did not have any effect on the defaults displayed in, for example, Libre Office Writer Print -> Properties… window.

    Then I checked the files in inf directory and found brql700func to have this now:


    38 [CustomTape]
    39 BrL133E02DFB374/62x45-large-address
    40 [CustomTapeEnd]

    Similar id could be found in brql700rc:


    13 MediaSize=BrL133E02DFB374

    I have also found this link to source code for Brother drivers on the Web.

    Happy printing!

    Reply

  11. Michael McNeillis’s avatar

    Hi all, I have Linux Mint 15 installed and am using the QL-570 with all the drivers provided by Brother. To print my address labels (29mmx90mm continous roll) I use gLabels. When I print a label it works fine but if I do a second it gets stuck (unless I’m printing a batch job of the same label). In order to counteract this I have to turn the printer on and off. Admittedly this is a minor inconvience but I would rather it worked perfectly. Has anyone any suggestions? Thanks

    Reply

  12. Andrewparadigm’s avatar

    I’m trying to install these drivers on Ubuntu 12.04. I did all as you sugested and nothing works. When I look in /usr/local/ I see none of the Brother folders or files listed or discussed.
    I’d be hugely grateful for any help or suggestions.

    Andrew

    Reply

  13. Mark’s avatar

    I have installed the QL-570 and I can see it in http://localhost:631/printers/QL-570, but when I select it, the printer wont print, just get the red led on and off.

    If I choose another driver from the list in “modify Printer” (inside http://localhost:631/printers/QL-570) It prints but in very poor quality.

    Any idea about how to make it work with the proper driver? Thanks!!

    Reply

Reply

Your email address will not be published. Required fields are marked *