QL-570 don't cut anymore

Bug #1342979 reported by Arnold Schrader on 2014-07-16
This bug affects 3 people
Affects Status Importance Assigned to Milestone
ptouch-driver (Ubuntu)

Bug Description

I have upgraded my mint 15 to mint 17. After the new installation of all equipment, I realized that the Brother QL-570, although still printing the labels, but now it does no longer cutting. At first I had tried various settings and Ubuntu 14.04 too, but the cut was never carried out.

After hours of attempts I have now found that it is on ptouch-driver; with the old version 1.3-4ubuntu1 the cut is working properly, the Version 1.3-6 and 1.3-8 does not work (anymore).

I suspect it has to do with the following change:

I think, the "ESC i A"-command does not arrive the QL-Printer

Related branches

description: updated
tags: added: cut
tags: added: ptouch ql
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ptouch-driver (Ubuntu):
status: New → Confirmed
caish5 (caish5-hotmail) wrote :

If you download the .deb from the Brother Website, ignore the poor quality package warning and install anyway, the cutter works!

Phil Pemberton (philpem) wrote :

Sounds like my "ESC i A" patch still isn't quite right then... This is the difficulty; I only have a QL-500 (paper label printer) and a PT-2450DX (plastic label printer) to hand. The QL series are the ones which support the "ESC i A" (auto cutter) command; if you send that to a PT-series printer, it'll throw an Interface Error.

This is actually a mistake on my part, on line 43 of my patch (debian/patches/send-esc-i-A-for-QL-only.patch):
+ job_options->pixel_xfer == ULP);
Should be:
+ job_options->pixel_xfer);

This would have the effect of breaking emit_page_cmds() so that if the printer is in ULP mode, the emit_feed_cut_mirror() function is passed a 'true' (probably a 1), which is equal to pixel_xfer being RLE. That means emit_feed_cut_mirror() won't send ESC i A because it thinks it's talking to a P-Touch PT label printer.

I've noticed some other issues with ptouch-driver - notably the MediaType isn't being passed through. I've done some work this week to clean up some of the cruft in the code (get rid of the deprecation warnings during 'make'). There are some problems in that some print options aren't being passed through to the driver correctly (MediaType is one).

Current bug list I'm working on:

  * Print resolution for the QL-500 is wrong, it should be 300x275dpi for both (the QL-550 was fixed but not the QL-500)
  * MediaType doesn't seem to make it through from the PPD to the driver, so the driver never sets the continuous tape / cut labels option isn't loaded correctly. (I've changed this from a page option to a job option)

I'll see if I can submit a patch for this bug -- I just need to try and remember how to do that, it's been a while!

Phil Pemberton (philpem) wrote :

Patch ready for review.

Launchpad Janitor (janitor) wrote :

This bug was fixed in the package ptouch-driver - 1.3-8ubuntu1

ptouch-driver (1.3-8ubuntu1) vivid; urgency=medium

  * Fix the "ESC i A" (enable cutter) command patch to correctly send only on
    printers which support it (LP: #1342979).
  * Update the driver to use current CUPS APIs (not the older deprecated ones)
    and fix some compile-time warnings
  * Use the PPD API to get the value of the MediaType flag, which is used to
    pass the "Roll-fed media" flag into the driver
  * Correct the margins for QL-series P-Touch paper-label printers - these
    have a fixed 3mm margin (see the command spec) while the PT-series
    laminated plastic label printers have no appreciable margins.
  * Correct the format of the "ESC i z" (Print Information) command to match
    what is specified in the P-touch 500 raster command spec. Notably set the
    "passed parameter valid" bits, and send valid values for die-cut labels
    and continuous paper rolls.
  * Send the "ESC i d" (Set Margin) command for QL series printers. This is
    required by the command spec. The margin is set to 3mm for continuous
    paper and zero for die-cut (see the command spec)
  * Fix an issue with margins in the driver (disable blank-line padding). This
    was partly responsible for the "excess paper feed" issue.
  * Suppress the spurious "ESC i z" which was sent with incorrect contents at
    the start of the job.
  * Send 350 bytes of NULL/no-op commands at the start of the job. This allows
    the driver to recover the printer into a known state if communication was
    interrupted mid-transfer. This is recommended in the command spec.
  * Remove the "determined by page size" option from "Roll-fed media" as this
    no longer works.
  * Remove the "Advance Media" option, as this allowed users to configure the
    driver to generate print control codes which are illegal per the Brother
    documentation. This is now fixed at "Advance at end of job" (send a Form
    Feed at the end of every page, except the last which has an Eject
    command instead).
  * Merge in the changes formerly provided by send-esc-i-A-for-QL-only.patch.
 -- Philip Pemberton <email address hidden> Fri, 03 Apr 2015 09:49:33 +0100

Changed in ptouch-driver (Ubuntu):
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers