brother IP printers HL-5470DW and MFC-8910DW setup fail

Mailing list OP hasn’t produced any improvement, so I’m hoping for better help here. I started with 15.2. After many hours trying unsuccessfully to print anything, I tried same PC using TW. Both result in messages such as:

Bad driver information file "/usr/share/cups/drv/sample.drv"!
E [05/Dec/2020:02:52:02 -0500] [Job 3] Job stopped due to filter errors; please consult the /var/log/cups/error_log file for details.
D [05/Dec/2020:02:52:02 -0500] [Job 3] printer-state-message="Filter failed"
'Use "pdftops-renderer" option (see cups-filters README file) to use Ghostscript or MuPDF for the PDF -> PostScript conversion'

Sample.drv is 41221 bytes on 15.2 (failing) & 15.1 (OK on this PC), so surely the bad driver information file message must be bogus. Diff -u says they’re both the same file. It’s a bit smaller on TW.

A brother FAQ of October 2019 says the following:

For Redhat based distributions …:
ln -s /etc/init.d/cups /etc/init.d/lpd
That produces no more than a symlink pointing nowhere, an expected result on any systemd distro.

# file out
out: ASCII text
# ls -l out
-rw-rw-r-- 1 root root 322 Dec  4 01:51 out
# lpr out
lpr: Unsupported document-format "text/plain"

Trying test pages from YaST2 and http://localhost:631/printers/<printername> fail similarly.

This is a record of much of my activity trying.

This is the session running Brother’s installer on TW.

Please help!

That are 32 bit drivers, do you install:

zypper in -f libusb-0_1-4-32bit glibc-32bit

Yes, you can safely ignore the first informational message. The filter error message is significant though.

Assuming that the requisite printer driver packages are installed and CUPS configured to use them?
This will report information for all such configured printers…

egrep -i "name|model|filter" /etc/cups/ppd/*

Otherwise just report the pertinent information for the ‘problem’ printers.

Clear the existing CUPS error log

sudo rm -f /var/log/cups/error_log

Put CUPS into debug mode with

sudo cupsctl --debug-logging

then try to print (eg pdf or web page via browser) to one of the printers concerned.

Examine the error log eg with something like

egrep -iA3 "filter|error" /var/log/cups/error_log

Report back here with that output.

+1 from me with respect to Brother printers using older drivers.

A well read thread about that here…
https://forums.opensuse.org/showthread.php/531271-Brother-printer-driver-installs-but-can-t-print/page3»

Experienced some filter errors and helped myself: https://forums.opensuse.org/showthread.php/547396-Fixing-Trouble-with-Brother-Printer

Session transcript more or less based on responses here, including the log grep.

Same without the grep:

# ls -l /opt/brother/Printers/*/cupswrapper/*ppd
-rw-r--r-- 1 root root 12143 Jan 10  2012 /opt/brother/Printers/HL5470DW/cupswrapper/brother-HL-5470DW-cups-en.ppd
-rw-r--r-- 1 root root 12150 Jan 10  2012 /opt/brother/Printers/MFC8910DW/cupswrapper/brother-MFC-8910DW-cups-en.ppd
# ls -l /etc/cups/ppd/
total 48
-rw-r----- 1 root lp 12143 Dec  4 20:37 .HL5470DW.ppd.O
-rw-r----- 1 root lp 12150 Dec  4 02:35 .MFC8910DW.ppd.O
-rw-r----- 1 root lp 12143 Dec  4 20:43 HL5470DW.ppd
-rw-r----- 1 root lp 12150 Dec  4 20:40 MFC8910DW.ppd
# zypper se -i libusb glibc
...
i+ | glibc              | Standard Shared Libraries (from the GNU C Library)                | package
i+ | glibc-32bit        | Standard Shared Libraries (from the GNU C Library)                | package
i  | glibc-locale       | Locale Data for Localized Programs                                | package
i  | glibc-locale-base  | Locale Data for Localized Programs                                | package
i  | libusb-0_1-4       | libusb-1.0 Compatibility Library for libusb-0.1                   | package
i+ | libusb-0_1-4-32bit | libusb-1.0 Compatibility Library for libusb-0.1                   | package
i  | libusb-1_0-0       | USB Library                                                       | package
i  | libusbmuxd4        | A client library to multiplex connections from and to iOS devices | package
# ls -l /usr/share/cups/model/*ppd
lrwxrwxrwx 1 root root 72 Dec  4 01:14 /usr/share/cups/model/brother-HL-5470DW-cups-en.ppd -> /opt/brother/Printers/HL5470DW/cupswrapper/brother-HL-5470DW-cups-en.ppd
lrwxrwxrwx 1 root root 74 Dec  4 01:11 /usr/share/cups/model/brother-MFC-8910DW-cups-en.ppd -> /opt/brother/Printers/MFC8910DW/cupswrapper/brother-MFC-8910DW-cups-en.ppd
# file out
out: ASCII text
# ls -l out
-rw-rw-r-- 1 root root 1244 Dec  5 01:34 out
# lpr out						**# still nothing from printer**
# tail /var/log/cups/error_log
# cupsctl --debug-logging
# lpr out
# tail /var/log/cups/error_log....(136kb on disk ATM)

Still nothing coming from the 5470 from http://localhost:631/printers/<printername> testpage attempt or directing SeaMonkey to print a page from that URL either. 8910 deferred pending 5470 progress.

Temporary archive of some of the sessions and logging for whatever may too soon expire from susepaste:
http://fm.no-ip.com/Tmp/SUSE/cupsdebug152-ab85m.txt
http://fm.no-ip.com/Tmp/SUSE/cupsdebug152-ab85m.2txt
http://fm.no-ip.com/Tmp/SUSE/cupsdebug152-ab85m3.txt

I went through the links provided, and already lost track of what additional packages I installed as a result. Here’s what there is now:

# zypper se -i 32bit libstdc cups pdf
...
i  | cups                 | The Common UNIX Printing System                                 | package
i  | cups-client          | CUPS Client Programs                                            | package
i  | cups-config          | CUPS library configuration files                                | package
i+ | cups-filters         | OpenPrinting CUPS filters, backends, and cups-browsed           | package
i+ | cups-pk-helper       | PolicyKit helper to configure cups with fine-grained privileges | package
i+ | glibc-32bit          | Standard Shared Libraries (from the GNU C Library)              | package
i+ | hl5470dwcupswrapper  | Brother HL-5470DW CUPS wrapper driver                           | package
i+ | kdegraphics3-pdf     | KDE PDF File Viewer                                             | package
i  | libcups2             | HTTP/IPP communication and printer queue and job library        | package
i  | libcupscgi1          | CUPS web interface support function library                     | package
i  | libcupsimage2        | CUPS library for working with large images                      | package
i  | libcupsmime1         | MIME database file routines for CUPS                            | package
i  | libcupsppdc1         | CUPS PostScript Printer Description (PPD) file compiler library | package
i  | libgcc_s1-32bit      | C compiler runtime library                                      | package
i  | libqpdf26            | Shared libraries for qpdf                                       | package
i  | libstdc++6           | The standard C++ shared library                                 | package
i+ | libstdc++6-32bit     | The standard C++ shared library                                 | package
i+ | libusb-0_1-4-32bit   | libusb-1.0 Compatibility Library for libusb-0.1                 | package
i+ | mfc8910dwcupswrapper | Brother MFC-8910DW CUPS wrapper driver                          | package
i+ | python3-cupshelpers  | High-level Python Bindings for CUPS                             | package
i+ | python3-pycups       | Python Bindings for CUPS                                        | package

I used http://localhost:631/ to remove both printers, then ran Brother’s June 2020 installation script again for the 5470, then set it default using http://localhost:631/. http://localhost:631/ still shows filter failure from print attempts.

Latest /var/log/cups/error_log.

Lots of interruptions since I started trying to install these Friday. :frowning:

The filter chain…

I [05/Dec/2020:21:02:52 -0500] [Job 35] Started filter /usr/lib/cups/filter/texttopdf (PID 3619)
I [05/Dec/2020:21:02:52 -0500] [Job 35] Started filter /usr/lib/cups/filter/pdftopdf (PID 3620)
I [05/Dec/2020:21:02:52 -0500] [Job 35] Started filter /usr/lib/cups/filter/pdftops (PID 3621)
I [05/Dec/2020:21:02:52 -0500] [Job 35] Started filter /usr/lib/cups/filter/brother_lpdwrapper_HL5470DW (PID 3622)

Then I note the following reported…

D [05/Dec/2020:21:02:52 -0500] [Job 35] Started filter pdftops (PID 3642)
D [05/Dec/2020:21:02:52 -0500] [Job 35] Started filter pstops (PID 3643)
D [05/Dec/2020:21:02:52 -0500] [Job 35] Unable to execute pdftops program: No such file or directory
D [05/Dec/2020:21:02:52 -0500] [Client 1] HTTP_STATE_WAITING Closing for error 32 (Broken pipe)
D [05/Dec/2020:21:02:52 -0500] [Client 1] Closing connection.
D [05/Dec/2020:21:02:52 -0500] cupsdSetBusyState: newbusy="Printing jobs and dirty files", busy="Printing jobs and dirty files"
D [05/Dec/2020:21:02:52 -0500] [Job 35] PID 3642 (pdftops) stopped with status 1!
--
D [05/Dec/2020:21:02:52 -0500] [Job 35] PID 3621 (/usr/lib/cups/filter/pdftops) stopped with status 1.

Regarding the ‘Unable to execute pdftops program: No such file or directory’ message, check that the ‘poppler-tools’ package is installed.

It wasn’t. Lpr works now. http://localhost:631/printers/&lt;printername&gt; testpage works. YaST2 test page works. SeaMonkey prints too! :slight_smile:

Next questions:

  • Why didn’t rpm dependencies prevent this?
  • Why was it so hard to isolate what packages were missing (10 i+ packages installed, of which only one Brother rpm for each printer)?
  • How would a newbie be expected to respond to a similar situation?
  • Is there a bug to report against openSUSE?
  • Which SDB needs what updates?

To Do:

  • Make the 8910 work
  • Make both work on TW on same PC
  • Successfully install both printers on other 15.2 & TW PCs
  • Make 8910 scanning work
  • Make my Brother exclusively-wireless color inkjet MFC-J480DW print color

Thank you all! :slight_smile:

Glad to have been of help. :slight_smile:

Why didn’t rpm dependencies prevent this?

Not sure, but I’ve never not had popper-tools installed. I guess it should be pulled in as a dependency of cups-filters perhaps?

How would a newbie be expected to respond to a similar situation?

One way would be to post here or equivalent Linux forum perhaps. That’s why we exist. :wink:

Why was it so hard to isolate what packages were missing (10 i+ packages installed, of which only one Brother rpm for each printer)?

Well once I trawled through your error_log, it wasn’t that hard to identify that pdftops was missing.

Is there a bug to report against openSUSE

Likely not, you’re welcome to do so.

FWIW, I did just find this archive…

https://lists.suse.com/pipermail/sle-beta/2017-December/000298.html

It has a link to a Novell bug report that I can’t access…
https://bugzilla.novell.com/show_bug.cgi?id=868148

https://support.brother.com/g/b/spec.aspx?c=us&lang=en&prod=hl5470dw_us_eu_as
https://support.brother.com/g/b/spec.aspx?c=us&lang=en&prod=mfc8910dw_us_as

Emulation PCL6, BR-Script3 (PostScript ® 3™), IBM ProPrinter XL, EPSON FX-850

Both printers support PCL 6 and PostScript 3?

If so, you may use them with standard drivers for PCL & PS.

https://openprinting.org/printer/Brother/Brother-HL-5470DW

Just to clarify, this wasn’t about the Brother (filter) driver though, the issue impacting the OP was with the CUPS filter chain itself…

pdftopdf > pdftops

Had installed pattern 32bit some years ago. Did some tinkering when update of cups broke printing a few weeks ago. Got tired of it. Quite different experience when running linux-brprinter-installer-2.2.2-1 once for each of the printers: Answered a few questions and everything worked fine. Packages installed:

erlangen:~ # zypper packages --orphaned |grep i386
i+ | @System    | hll2350dwpdrv                  | 4.0.0-1          | i386
i+ | @System    | mfc255cwcupswrapper            | 1.1.3-1          | i386
i+ | @System    | mfc255cwlpr                    | 1.1.3-1          | i386
erlangen:~ # 

Both printers now work fine.

That was just the final piece. Other puzzle pieces weren’t installed either. IIRC, this might have been the full list:

  1. cups-filters
  2. glibc-32bit
  3. libstdc++6-32bit
  4. libusb-0_1-4-32bit
  5. poppler-tools

This took much to long to remember all the steps, or make sense of them from the pieces here, on support mailing list, and saved logs. When I try on other PCs I’ll need to make a note, then consider a bug report.

BTW, not only printing and scanning working on original test PC’s 15.2, but also on this 15.1 PC for previously non-working scanning (via YaST2 to find the previously not found 8910 scanner). :slight_smile:

On TW, adding the poppler-tools package wasn’t enough. Cups-filters wasn’t installed, and neither any 32-bit packages. Adding glibc-32bit wouldn’t even get a job started for ‘lpr out’. Also adding libstdc++6-32bit didn’t help either, or libusb-0_1-4-32bit. Test page from http://localhost:631/printers/&lt;printername&gt; produces no job. TW error log is 360k.

# egrep -A3 'filter|error' /var/log/cups/error_log
2758

:frowning:

What printer languages are supported are of no import to me, except for Epson FX, which is why I bought the 5470, so I could at least theoretically use it with my DOS apps that embed printer setup strings in documents.

Lost track of what I’ve done and need to do. Need sleep…

Ever considered installing libcups2-32bit?

linux-brprinter-installer-2.2.2-1 seemed to work just fine here in TW, but produced no additional/dependency software installed that I can recall (nor printing success). :frowning:

I’m not sure why you didn’t have the expected CUPS environment installed. The cups-filters package is an intrinsic part of that for any printer support.

To what end? Printing and scanning are working without it.

These are what are installed now:

# zypper se -si 32bit libstdc cups pdf poppler
...
i+ | cups                    | package | 2.3.3-1.1                              | x86_64 | OSS
i+ | cups-backends           | package | 1.1-5.8                                | noarch | OSS
i+ | cups-client             | package | 2.3.3-1.1                              | x86_64 | OSS
i  | cups-config             | package | 2.3.3-1.1                              | x86_64 | OSS
i+ | cups-filters            | package | 1.27.2-2.1                             | x86_64 | OSS
i+ | cups-pdf                | package | 3.0.1-1.12                             | x86_64 | OSS
i+ | glibc-32bit             | package | 2.32-3.1                               | x86_64 | OSS
i+ | hl5470dwcupswrapper     | package | 3.0.0-1                                | i386   | (System Packages)
i  | libcups2                | package | 2.3.3-1.1                              | x86_64 | OSS
i  | libcupsimage2           | package | 2.3.3-1.1                              | x86_64 | OSS
i  | libgcc_s1-32bit         | package | 10.2.1+git958-1.1                      | x86_64 | OSS
i  | libpoppler-cpp0         | package | 20.10.0-1.2                            | x86_64 | OSS
i  | libpoppler103           | package | 20.10.0-1.2                            | x86_64 | OSS
i  | libqpdf28               | package | 10.0.4-1.1                             | x86_64 | OSS
i  | libstdc++6              | package | 10.2.1+git958-1.1                      | x86_64 | OSS
i+ | libstdc++6-32bit        | package | 10.2.1+git958-1.1                      | x86_64 | OSS
i  | libudev1-32bit          | package | 246.6-4.1                              | x86_64 | OSS
i  | libusb-1_0-0-32bit      | package | 1.0.23-1.6                             | x86_64 | OSS
i+ | monitoring-plugins-cups | package | 2.3~alpha.20200520T233014.cadac85e-2.1 | x86_64 | OSS
i+ | poppler-tools           | package | 20.10.0-1.2                            | x86_64 | OSS
i+ | python3-cupshelpers     | package | 1.5.7-21.4                             | noarch | OSS
i+ | python3-pycups          | package | 1.9.74-4.1                             | x86_64 | OSS
i+ | trinity-kpdf            | package | 14.0.9-1.osstw                         | x86_64 | TDE
#

Not everything matches 15.2, stuff like -libcupsppdc1, but I guess packaging changes are a Tumbleweed way.