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

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/<printername> 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/<printername> 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.

The list I have is far longer than that, but maybe that is due to having installed KDE (Plasma 5) or Gnome DE’s. I’ve never needed to install any further packages (especially CUPS components). Some users did need to install glibc-32bit for the 32-bit Brother drivers (as per the thread I linked to already).

I’ve put on hold attempting to get the TW about previously written to print. Now I’m on TW on a different PC trying via YaST2 to install basic print support.

What exactly does “server” mean in the context of YaST2’s description provided for patterns-server-printing? It seems to me each IP printer would be its own server, so any OS installation needs its cups to be no more than a client, if that. IOW, it looks like patterns-server-printing would include unnecessary bloat.

Any host that can accept a print job and communicate to either a USB-connected printer or network-attached printer is acting as a CUPS server, even if the job is originating on the localhost. So most users would already have a working CUPS server environment for printing via a local machine.

CUPS clients are described here…
https://www.cups.org/doc/sharing.html
More info

man client.conf

The ‘patterns-server-printing’ pattern (a metapackage) would bring in cups (and it’s dependencies) as well as the ‘basesystem’ pattern.

# zypper info --requires patterns-server-printing
Retrieving repository 'packman' metadata ...........................................................................................[done]
Building repository 'packman' cache ................................................................................................[done]
Loading repository data...
Reading installed packages...


Information for package patterns-server-printing:
-------------------------------------------------
Repository     : openSUSE-Leap-15.2-Oss
Name           : patterns-server-printing
Version        : 20180302-lp152.6.3
Arch           : x86_64
Vendor         : openSUSE
Installed Size : 54 B
Installed      : No
Status         : not installed
Source package : patterns-server-20180302-lp152.6.3.src
Summary        : Print Server
Description    : 
    This pattern provides all packages necessary for printing. It provides all
    needed packages for printing to a locally connected printer, printing using a
    remote print server and for setting up a print server.
Requires       : [2]
    cups
    pattern() = basesystem

I’m not sure why this wouldn’t also include ‘cups-filters’ as well, and IMO ‘cups-filters’ should include the requirement for ‘poppler-tools’ I guess.

I mentioned bug #868148 back in post #11.

Looking at the OBS cups-filters/cups-filters.spec I note the following…

# /usr/bin/pdftops (provided by poppler-tools)
# is needed (but not required for non-PostScript printers)
# to print PDFs on PostScript printers because in this case
# the CUPS filter chain is:
#  /usr/lib/cups/filter/pdftopdf
#  /usr/lib/cups/filter/pdftops
#  where /usr/lib/cups/filter/pdftops calls /usr/bin/pdftops
#  /usr/lib/cups/backend/...
# see https://bugzilla.novell.com/show_bug.cgi?id=868148
Recommends:     poppler-tools

TW host asa88 also fails to provide any clues to failure that I can recognize, other than HTTP_STATE_WAITING Closing for error 32 (Broken pipe), which as yet hasn’t lead me to anything helpful. Also as yet, no print job has ever shown up in http://localhost:631/printers/<printername>. This error_log is from trying to print test pages from both YaST2 & http://localhost:631/printers/<printername>.

Installed packages from this search look pretty much like that from OP test host ab85m, with a few added by installing the pattern print_server.

# zypper se -i cups popp glibc libstdc pdf 32bit print
...
S  | Name                         | Summary                                                                | Type
---+------------------------------+------------------------------------------------------------------------+--------
i+ | OpenPrintingPPDs-ghostscript | PPD files from OpenPrinting.org which use Ghostscript built-in drivers | package
i+ | OpenPrintingPPDs-postscript  | PPD files from OpenPrinting.org for PostScript printers                | package
i  | cups                         | The Common UNIX Printing System                                        | package
i+ | cups-backends                | Additional Backends for CUPS                                           | 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-pdf                     | Virtual PDF printer for CUPS                                           | package
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-base            | en_US Locale Data for Localized Programs                               | package
i+ | hl5470dwcupswrapper          | Brother HL-5470DW CUPS wrapper driver                                  | package
i  | libQt5PrintSupport5          | Qt 5 Print Support Library                                             | package
i  | libcups2                     | HTTP/IPP communication and printer queue and job library               | package
i  | libcupsimage2                | CUPS library for working with large images                             | package
i  | libgcc_s1-32bit              | C compiler runtime library                                             | package
i  | libpoppler-cpp0              | C++ API of the Poppler PDF rendering library                           | package
i  | libpoppler-glib8             | Glib wrapper for the poppler PDF rendering library                     | package
i  | libpoppler103                | PDF Rendering Library                                                  | package
i  | libqpdf28                    | 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  | linux-glibc-devel            | Linux headers for userspace development                                | package
i  | parallel-printer-support     | Parallel Printer Support                                               | package
i+ | patterns-server-printing     | Print Server                                                           | package
i  | poppler-data                 | Encoding Files for use with libpoppler                                 | package
i  | poppler-tools                | PDF Rendering Library Tools                                            | package
i  | print_server                 | Print Server                                                           | pattern
i+ | trinity-kpdf                 | PDF viewer for Trinity                                                 | package
i+ | trinity-tdeprint             | Print system for TDE                                                   | package
i+ | yast2-printer                | YaST2 - Printer Configuration                                          | package
# ls -l /etc/cups/ppd/
...
-rw-r----- 1 root lp 12158 Dec  6 23:54 HL5470DW.ppd
-rw-r----- 1 root lp 12159 Dec  6 23:53 HL5470DW.ppd.O

Please avoid trying to share the output using fm.no-ip.com. None of those you’ve posted so far allow me to view the content. Stick with pastebin or susepaste please.

That’s my own Apache2 running on this machine. All those URLs work for me. I load them, then paste those working URLs into the message. If they’re being denied to others, I need to find out why. Are you blocking http://-only sites somehow?

Susepaste has been a PITA for me, between outright rejections, claimed failures, erroneous claimed successes, latency, short default lifetimes, and more.

# susepaste -e 10080 -n mrmazda error_log-asa88tw-5470-testsEQyastEQcups.txt
Pasted as:
   https://susepaste.org/3760608
   https://paste.opensuse.org/3760608
# susepaste -e 10080 -n mrmazda error_log-asa88tw-5470-yasttest.txt
Pasted as:
   https://susepaste.org/96059575
   https://paste.opensuse.org/96059575

These URLS are giving me 404s. Pastebin I don’t even try any more, as it has given me its own set of foibles. Besides, my website is convenient, and should be working, with expiry readily under my control. Maybe you can help me try troubleshooting via IRC, a-865 or a-865k on three different suse channels on freenode.