trying to print with a brother label printer

here we go:

ls -l /usr/lib/cups/filter/brother_lpdwrapper_ql800ls: cannot access '/usr/lib/cups/filter/brother_lpdwrapper_ql800': No such file or directory



Something is failing with installation of the RPM. Anyway, you can create the link manually with

sudo ln -s /opt/brother/PTouch/ql800/cupswrapper/brother_lpdwrapper_ql800 /usr/lib/cups/filter/brother_lpdwrapper_ql800

See if that helps.

It did create the link but still the jobs get stopped

Then you need to share the error_log output again. You can remove (or rename) the existing log file if desired, so that you can be sure only to capture errors relating to the current situation.

Late here now, so Iā€™ll check back on this thread tomorrow.

Now it has changed, the job goes, ā€˜printingā€™ happens, then it says printing completed, but there has been no output. Nothing remains in the print queue

RIghtā€¦

localhost:~ # egrep -iA3 "error|filter" /var/log/cups/error_logI [21/Aug/2020:17:50:19 +0100] Loaded MIME database from "/usr/share/cups/mime" and "/etc/cups": 78 types, 118 filters...
D [21/Aug/2020:17:50:19 +0100] Loading printer HP_OfficeJet_Pro_8020...
D [21/Aug/2020:17:50:19 +0100] load_ppd: Loading /var/cache/cups/HP_OfficeJet_Pro_8020.data...
D [21/Aug/2020:17:50:19 +0100] cupsdRegisterPrinter(p=0x55d05d4b9400(HP_OfficeJet_Pro_8020))
--
D [21/Aug/2020:17:50:20 +0100] [Client 2] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=107, response=0x55d05d5a7c70(IPP_STATE_DATA), pipe_pid=0, file=-1
D [21/Aug/2020:17:50:20 +0100] [Client 2] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
D [21/Aug/2020:17:50:20 +0100] [Client 2] bytes=0, http_state=0, data_remaining=107
D [21/Aug/2020:17:50:20 +0100] [Client 2] Flushing write buffer.
--
D [21/Aug/2020:17:50:20 +0100] [Client 1] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)
D [21/Aug/2020:17:50:20 +0100] [Client 1] Closing connection.
D [21/Aug/2020:17:50:20 +0100] cupsdSetBusyState: newbusy="Dirty files", busy="Active clients and dirty files"
D [21/Aug/2020:17:50:20 +0100] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Dirty files"
--
D [21/Aug/2020:17:50:20 +0100] [Client 3] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)
D [21/Aug/2020:17:50:20 +0100] [Client 3] Closing connection.
D [21/Aug/2020:17:50:20 +0100] cupsdSetBusyState: newbusy="Dirty files", busy="Active clients and dirty files"
D [21/Aug/2020:17:50:20 +0100] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Dirty files"
--
D [21/Aug/2020:17:50:20 +0100] [Client 4] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)
D [21/Aug/2020:17:50:20 +0100] [Client 4] Closing connection.
D [21/Aug/2020:17:50:20 +0100] cupsdSetBusyState: newbusy="Dirty files", busy="Active clients and dirty files"
D [21/Aug/2020:17:50:20 +0100] cupsdSetBusyState: newbusy="Active clients and dirty files", busy="Dirty files"
--
D [21/Aug/2020:17:50:20 +0100] [CGI] envp[9] = "PATH=/usr/lib/cups/filter:/usr/bin:/usr/sbin:/bin:/usr/bin"
D [21/Aug/2020:17:50:20 +0100] [CGI] envp[10] = "SERVER_ADMIN=root@localhost"
D [21/Aug/2020:17:50:20 +0100] [CGI] envp[11] = "SOFTWARE=CUPS/2.3b6"
D [21/Aug/2020:17:50:20 +0100] [CGI] envp[12] = "TMPDIR=/var/spool/cups/tmp"
--
D [21/Aug/2020:17:50:20 +0100] [Client 6] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=12049, response=0x55d05d5841f0(IPP_STATE_DATA), pipe_pid=0, file=-1
D [21/Aug/2020:17:50:20 +0100] [Client 6] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
D [21/Aug/2020:17:50:20 +0100] [Client 6] bytes=0, http_state=0, data_remaining=12049
D [21/Aug/2020:17:50:20 +0100] [Client 6] Flushing write buffer.
--
D [21/Aug/2020:17:50:20 +0100] [Client 6] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=3641, response=0x55d05d5a83b0(IPP_STATE_DATA), pipe_pid=0, file=-1
D [21/Aug/2020:17:50:20 +0100] [Client 6] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
D [21/Aug/2020:17:50:20 +0100] [Client 6] bytes=0, http_state=0, data_remaining=3641
D [21/Aug/2020:17:50:20 +0100] [Client 6] Flushing write buffer.
--
--
D [21/Aug/2020:20:49:29 +0100] [Client 23] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=1100, response=0x55d05d59a540(IPP_STATE_DATA), pipe_pid=0, file=-1
D [21/Aug/2020:20:49:29 +0100] [Client 23] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
D [21/Aug/2020:20:49:29 +0100] [Client 23] bytes=0, http_state=0, data_remaining=1100
D [21/Aug/2020:20:49:29 +0100] [Client 23] Flushing write buffer.
--
D [21/Aug/2020:20:49:44 +0100] [Client 23] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)
D [21/Aug/2020:20:49:44 +0100] [Client 23] Closing connection.
D [21/Aug/2020:20:49:44 +0100] cupsdSetBusyState: newbusy="Dirty files", busy="Dirty files"
I [21/Aug/2020:20:49:44 +0100] Expiring subscriptions...
--
D [21/Aug/2020:21:44:00 +0100] [Client 24] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=106, response=0x55d05d59a540(IPP_STATE_DATA), pipe_pid=0, file=-1
D [21/Aug/2020:21:44:00 +0100] [Client 24] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
D [21/Aug/2020:21:44:00 +0100] [Client 24] bytes=0, http_state=0, data_remaining=106
D [21/Aug/2020:21:44:00 +0100] [Client 24] Flushing write buffer.
--
D [21/Aug/2020:21:44:00 +0100] [Client 24] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)
D [21/Aug/2020:21:44:00 +0100] [Client 24] Closing connection.
D [21/Aug/2020:21:44:00 +0100] cupsdSetBusyState: newbusy="Dirty files", busy="Dirty files"
I [21/Aug/2020:21:44:01 +0100] Expiring subscriptions...
--
D [21/Aug/2020:21:47:48 +0100] [Client 25] cupsdWriteClient error=0, used=0, state=HTTP_STATE_POST_SEND, data_encoding=HTTP_ENCODING_LENGTH, data_remaining=106, response=0x55d05d59a540(IPP_STATE_DATA), pipe_pid=0, file=-1
D [21/Aug/2020:21:47:48 +0100] [Client 25] Writing IPP response, ipp_state=IPP_STATE_DATA, old wused=0, new wused=0
D [21/Aug/2020:21:47:48 +0100] [Client 25] bytes=0, http_state=0, data_remaining=106
D [21/Aug/2020:21:47:48 +0100] [Client 25] Flushing write buffer.
--
D [21/Aug/2020:21:47:48 +0100] [Client 25] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)
D [21/Aug/2020:21:47:48 +0100] [Client 25] Closing connection.
D [21/Aug/2020:21:47:48 +0100] cupsdSetBusyState: newbusy="Dirty files", busy="Dirty files"
I [21/Aug/2020:21:47:49 +0100] Expiring subscriptions...



Unfortunately, that log snippet doesnā€™t show anything that might help us to progress this reallly. It does report another printer that you may have as well?

As you mentionedā€¦

Now it has changed, the job goes, ā€˜printingā€™ happens, then it says printing completed, but there has been no output. Nothing remains in the print queue

ā€¦it may be that all filters in the chain process the print job without error, but produce incompatible code for the printer to interpret for some reason.

I note the following files located in /opt/brother/PTouch/ql800/lpdā€¦

ls -l /opt/brother/PTouch/ql800/lpd 
total 20
lrwxrwxrwx 1 root root   52 Aug 21 21:28 brpapertoolcups -> /opt/brother/PTouch/ql800/lpd/x86_64/brpapertoolcups
lrwxrwxrwx 1 root root   57 Aug 21 21:28 brpapertoollpr_ql800 -> /opt/brother/PTouch/ql800/lpd/x86_64/brpapertoollpr_ql800
lrwxrwxrwx 1 root root   57 Aug 21 21:28 brprintconfpt1_ql800 -> /opt/brother/PTouch/ql800/lpd/x86_64/brprintconfpt1_ql800
-rwxr-xr-x 1 root root 8331 Apr 10  2019 filter_ql800
drwxr-xr-x 2 root root 4096 Aug 21 21:54 i686
lrwxrwxrwx 1 root root   50 Aug 21 21:28 rastertobrpt1 -> /opt/brother/PTouch/ql800/lpd/x86_64/rastertobrpt1
drwxr-xr-x 2 root root 4096 Aug 21 21:54 x86_64

There should be some symlinks in /usr/binā€¦


lrwxrwxrwx 1 root root          50 Aug 21 21:28 brpapertoollpr_ql800 -> /opt/brother/PTouch/ql800/lpd/brpapertoollpr_ql800
lrwxrwxrwx 1 root root          50 Aug 21 21:28 brprintconfpt1_ql800 -> /opt/brother/PTouch/ql800/lpd/brprintconfpt1_ql800

Check with

ls -l /usr/bin |grep "brp"

There may be more required. In short the driver package is old, and Iā€™m not sure how well it supports the modern CUPS environment.

FWIW, I did turn up this Gentoo thread while researching for simillar issues. It conerns a QL-700, but may be applicable here. In particular user redwood details what was required to get the printer running, so perhaps read those posts as well.

This may also be of interestā€¦
https://forums.linuxmint.com/viewtopic.php?p=1727373&sid=f6a88b856c6133b1c2f35fec7b8c4cf6#p1727373

Had the same issue with my printer and I was trying to fix the driver issue. But when I found out the real reason why I had this issue I was a little bit shocked. The main problem was the printer itself, This thing didnā€™t want to recognize the printer tape. I was using some kind of tape for labels and as I founded out that tape was awful. When I replaced it with the original one my issue passed away and I was able to continue my work. Before fixing the other issueā€™s try to change your tape to a good one, maybe it will help you as well

Iā€™ve also seen advice about making sure that the ā€˜Editor Liteā€™ mode is turned turned offā€¦
https://support.pitneybowes.com/VFP06_KnowledgeWithSidebarTroubleshoot?id=kA280000000TULeCAO&popup=false&lang=en_US
https://askubuntu.com/questions/339093/how-do-i-install-brother-ql-700-label-printer-drivers-in-ubuntu-12-04

That last bit of ā€˜lsā€™ didnā€™t show any result. but this did:

ls -l /opt/brother/PTouch/ql800/lpd 
total 20
-rwxr-xr-x 1 root root 8331 Apr 10  2019 filter_ql800
drwxr-xr-x 2 root root 4096 Aug 17 14:17 i686
drwxr-xr-x 2 root root 4096 Aug 17 14:17 x86_64

I will check that thread on gentooā€¦ maybe the version of CUPS is too new for these drivers and they are deprecated >:( Means Iā€™ll have to install it on my android phone and hope for the best

Brother drivers are often 32bit, so you may need to install libusb-0_1-4-32bit or whatever version name it is now. I had a similar problem, and that solved it for me.

Thanks, but I already checked for dependent 32bit lib files> Iā€™ve raised a ticket with Brother and they are working on it (supposedly).

Thanks for the update. Hopefully Brother can resolve this.

After having spoken with them, I am less than confident. :dont-know:

@johnoshock any news from Brother?

I have a really similar behavior with my QL-800

Just for everybody who arrives to this post from Google, I solved the problem in a hard way: moving from 64 bits to a 32 bits O.S.

I pretty sure that the Brother driver works only for 32 bits O.S.

I reinstalled from a 32 bits image and worked with no complications.

I reinstalled from a 64 bits image and got the same problem.

I reinstalled from a 32 bits image again and again worked with no complications.

1 Like

They never helped in the end. Brother called me on my mobile to tell me they would not update their linux driver. I now use it connected to a MAC and it works fine. They basically donā€™t have an interest.

While what you say is true (that they have no interest in it), I have to say that Brother has more resources for Linux than other manufacturers.

In case youā€™re interested, Iā€™m using my QL-800 connected to a raspberrypi (32 bits) and it works fine.

1 Like

I am using Tumbleweed and have two Brother printers installed. Installation is easiest with pattern ā€œ32bitā€ being installed first:

erlangen:~ # zypper if --type pattern 32bit
Loading repository data...
Reading installed packages...


Information for pattern 32bit:
------------------------------
Repository      : Haupt-Repository (OSS)
Name            : 32bit
Version         : 20200505-38.1
Arch            : x86_64
Vendor          : openSUSE
Installed       : Yes (automatically)
Visible to User : Yes
Summary         : 32-Bit Runtime Environment
Description     : 
    This will install the 32-bit variant of all selected patterns. This allows to execute 32-bit software.
Contents        : 
    S  | Name                | Type    | Dependency
    ---+---------------------+---------+-----------
    i+ | patterns-base-32bit | package | Required

erlangen:~ # 
1 Like