Printer will print only pdf, nothing else

It’s a Brother HL5150D, about seven years old, connected by USB, has worked fine with various distro’s over the years and still works fine with Windows 7. But since I installed OpenSUSE12.2 (64-bit) it cannot print plain text files from Kwrite, cannot print odt files nor rtf files from LibreOffice. Instead, it prints

ERROR NAME: 
     undefined      
COMMAND:  
     setoverprintmode      
OPERAND STACK:
    -- booleantype--   

It can print pdf’s from Okular (but not odt’s from Okular). I checked the configuration with YaST, having no effect.

Suggestions?

Did you try the Driver from Brother webside:
Brother Solutions Center : Brother Driver for Linux Distributions

Try to configure it with cups:

localhost:631

Downloaded the drivers from there, and when I ran the first I got:

rpm -ihv --nodeps hl5150dlpr-1.1.2-1.i386.rpm
Preparing...                ########################################### [100%]
   1:hl5150dlpr             ########################################### [100%]
/var/tmp/rpm-tmp.dt69nw: line 2: /etc/init.d/lpd: No such file or directory
warning: %post(hl5150dlpr-1.1.2-1.i386) scriptlet failed, exit status 127

Sure enough there is no /etc/init.d/lpd file. Should I create one? What permissions does it need?
Or could this be a problem related to 32-bit drivers on a 64-bit machine? Brother doesn’t seem to offer 64-bit drivers.

At first I didn’t understand what you meant above, but then I looked around the “manage printing” menu and ended up there. Browsed the cups forum and didn’t find anyone discussing this problem. Cups offers quite a few drivers but none for the HL5150D.

I should mention that I did print a pair of test pages (thru YaST) which look fine. Also cups printed a simple test page.

Thanks Sauerland for your advice on this.

For CUPS printing, install both the LPR driver and cupswrapper driver packages.

LPR driver

cupswrapper driver

CUPS will handle 32-bit drivers on 64-bit OS with no problem at all.

I did have a problem at the point where Brother instructed me to restart init.d/lpr or init.d/lprng (giving no indication of which was needed.)


monk:/home/taxpayer/downloads/programs/brotherHL5150D # /etc/init.d/lpr restart
bash: /etc/init.d/lpr: No such file or directory
monk:/home/taxpayer/downloads/programs/brotherHL5150D # /etc/init.d/lprng restart
bash: /etc/init.d/lprng: No such file or directory

So I went ahead, and after I had installed lpr and cupswrapper drivers, and ppd, I have two printers (that is, the same physical printer identified two ways), neither of which work. brotherhl5150dseries gives me the same error messages I reported at the beginning of this thread, whereas HL5150D is perpetually “not connected.”

|
|
|[brotherhl5150dseries](http://localhost:631/printers/brotherhl5150dseries)|Brother HL-5150D series with driver Brother HL-5150D BR-Script3||Brother HL-5150D BR-Script3|Idle - "Printer is now connected."|
|[HL5150D](http://localhost:631/printers/HL5150D)|HL5150D||Brother HL-5150D for CUPS|Processing - "Printer not connected, will retry in 30 seconds."|



I need to take another look at the log from my session, think about what to try next. Maybe another reboot is in order.

If I want to try reinstalling the printer from the beginning, do I need to uninstall anything first?

On 2012-10-04 00:26, rentpayer wrote:
> If I want to try reinstalling the printer from the beginning, do I need
> to uninstall anything first?

Yes. In one of the wiki pages about CUPS at openSUSE, there is one that explains how to remove
cups completely in order to reinstall it again. Yes, I’m vague… sorry, I do not know the
exact link (I searched for it).

ah, found them in an old email:


http://en.opensuse.org/SDB:CUPS_in_a_Nutshell
http://en.opensuse.org/SDB:CUPS_-_Reinstalling_the_Printing_System

Oops, the wiki was rewamped… so it is here instead:


http://old-en.opensuse.org/SDB:CUPS_-_Reinstalling_the_Printing_System

:slight_smile:


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

After a false start I uninstalled everything that had “cups” in its name, plus “gutenprint” and the Brother drivers, then added an empty file at /etc/init.d/cups which seemed to allow the lpr driver to install itself OK and /etc/printcap now looks as Brother says it should. However, Brother tells me (in instructions here to then “restart the print system” with

 Command  (for  lpr):  /etc/init.d/lpr  restart
 Command  (for  lprng)  :  /etc/init.d/lprng  restart
 

But still neither /etc/init.d/lpr nor /etc/init.d/lprng exist. In fact the only thing my OpenSUSE installation has named “lpr” is a terminfo file. Some other distro’s with pieces still scattered around my disks did have an executable "/usr/bin/lpr " file. I’m hesitant to bring that one into OpenSUSE. Maybe I should just reboot (again)? Then install cupswrapper and the ppd file from Brother?

Ignore the instructions about restarting the print system that way. Use the following instead

su -
rccups restart

Of course there was no “rccups” but cnf suggested I install cups (which I had removed) so I did that and restarted. Then installed the cupswrapper and ppd as before. Also reinstalled gutenprint and cups-pk-helper. Printer still would not respond. Playing around in localhost:631 under “modify printers” I changed the “current connection” from
| usb://Brother/HL-5150D%20series
|

                             to|

|Brother HL-5150D series (Brother HL-5150D series)|

Altho cups seemed to have changed it back, now I can print a cups test page and can print a pdf file, and get errors for printing any other kind of file that I tried.

Thus I am back where I started.

So I will ask a question about the ppd file. According to Brother’s instructions, the ppd file should be in /usr/share/cups/model. But when I look around, the other files in that directory, and in the two subdirectories under it (manufacturer-PPDs and openprintingPPDs) are all stored in gz form. (Among the files under openprintingPPDs is one that seems to be for my printer model). So should I do something different with the ppd file?

So I will ask a question about the ppd file. According to Brother’s instructions, the ppd file should be in /usr/share/cups/model. But when I look around, the other files in that directory, and in the two subdirectories under it (manufacturer-PPDs and openprintingPPDs) are all stored in gz form. (Among the files under openprintingPPDs is one that seems to be for my printer model). So should I do something different with the ppd file?

The ppd files for any defined printers should live in the /etc/cups/ppd/ directory. This automatically happens (normally) when you first configure the printer via the CUPS web interface

Under /etc/cups/ppd I have one file: HL5150D.ppd. It was dated today, so presumably was part of the reinstallation I did.
Under /usr/share/cups/model I have brhl5150d_cups.ppd, also dated today.
I also have ten other ppd files, compressed, under /usr/share/cups/model which have “HL5150D” in their names (case varies). Each seems to extract to a like-named file without “gz”:

  • file:///usr/share/cups/model/gutenprint/5.2/C/stp-brother-hl-5150d.5.2.ppd.gz
  • file:///usr/share/cups/model/manufacturer-PPDs/brother/BR5150_2_GPL.ppd.gz
  • file:///usr/share/cups/model/OpenPrintingPPDs/ghostscript/Brother-HL-5150D.hl1250.ppd.gz
  • file:///usr/share/cups/model/OpenPrintingPPDs/ghostscript/Brother-HL-5150D.lj4dith.ppd.gz
  • file:///usr/share/cups/model/OpenPrintingPPDs/ghostscript/Brother-HL-5150D.lj5gray.ppd.gz
  • file:///usr/share/cups/model/OpenPrintingPPDs/ghostscript/Brother-HL-5150D.ljet4.ppd.gz
  • file:///usr/share/cups/model/OpenPrintingPPDs/ghostscript/Brother-HL-5150D.pxlmono.ppd.gz
  • file:///usr/share/cups/model/OpenPrintingPPDs/hpijs/Brother-HL-5150D.hpijs-pcl5e.ppd.gz
  • file:///usr/share/cups/model/OpenPrintingPPDs/postscript/Brother-HL-5150D.Postscript-Brother.ppd.gz
  • file:///usr/share/cups/model/OpenPrintingPPDs/postscript/Brother-HL-5150D.Postscript.ppd.gz

In olden times, I think the HL5150D was one of those printers which could emulate either PostScript or PCL. I am guessing that one or more of the above ppd files (maybe the one with “pcl” in its name?) needs to be copied to /etc/cups/ppd. I’d sure feel better knowing that someone else agrees.

On 2012-10-07 06:16, rentpayer wrote:

> But still neither /etc/init.d/lpr nor /etc/init.d/lprng exist. In fact
> the only thing my OpenSUSE installation has named “lpr” is a terminfo
> file. Some other distro’s with pieces still scattered around my disks
> did have an executable "/usr/bin/lpr " file. I’m hesitant to bring
> that one into OpenSUSE. Maybe I should just reboot (again)? Then
> install cupswrapper and the ppd file from Brother?

lpr in openSUSE is a program from cups for compatibility reasons:


cer@Telcontar:~> which lpr
/usr/bin/lpr
cer@Telcontar:~> rpm -qf /usr/bin/lpr
cups-client-1.5.0-2.1.3.x86_64

But the real lpr print system is obsolete and not installed any more. You can not follow
instructions based on lpr, they will not work here.

I would suggest you ask in the mail list, because the cups maintainer lurks there and answers
sometimes.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

On 2012-10-07 21:46, rentpayer wrote:
>
> In olden times, I think the HL5150D was one of those printers which
> could emulate either PostScript or PCL.

Don’t you have a backup of your previous system to check it out?


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

If you want to try generic postscript, just use the CUPS web interface and set the make to ‘Generic’, model ‘PostScript Level…’

Trying to better inform myself, I reviewed the page at http://en.opensuse.org/SDB:CUPS_in_a_Nutshell that Carlos E R had suggested. Understood about half of it, including the link to SDB:Installing a Printer - openSUSE where it was suggested to run the YaST printer module. YaST showed me a list of about a dozen drivers. The second one (“foomatic”) appears to work, to print plain text, odt, and pdf’s at least. I guess my mistake was to believe OpenSUSE when it claimed to have recognized and configured my printer. Should have used YaST in the first place.

Having come mainly from the Debian side (Mepis, Mint, Dryland) I wasn’t familiar with what YaST does, even though I’d used it to install software and saw it had other capabilities. I still don’t really understand all the parts to linux printing, partly because, as was pointed out in this thread, a lot of posted documentation is obsolete.

Thanks to Carlos E R, deano_ferrari, and Sauerland for taking the time to help with this. Not much thanks to Brother for posting confusing and just plain wrong instructions, altho at least they do post their drivers.

On 2012-10-08 03:36, rentpayer wrote:

> Having come mainly from the Debian side (Mepis, Mint, Dryland) I wasn’t
> familiar with what YaST does, even though I’d used it to install
> software and saw it had other capabilities. I still don’t really
> understand all the parts to linux printing, partly because, as was
> pointed out in this thread, a lot of posted documentation is obsolete.

Ah! You did not use yast to setup the printer initially? That might be a problem. It is true
that in several cases yast fails somewhere and better configuration of the printer can be done
directly via cups web interface, but the initial setup should be done by yast (it prepares the
daemon).

I did not notice you did not use yast.

> Thanks to Carlos E R, deano_ferrari, and Sauerland for taking the time
> to help with this. Not much thanks to Brother for posting confusing and
> just plain wrong instructions, altho at least they do post their
> drivers.

Welcome :slight_smile:

I have learned to do my shopping after finding out if something does work in Linux with support
from the community: I distrust maker’s support.


Cheers / Saludos,

Carlos E. R.
(from 12.1 x86_64 “Asparagus” at Telcontar)

Just as further clarification for anyone else having troubles with an HL5150D, the particular driver that seems to work (that is, it can print odt’s in duplex and pdf’s in duplex) is foomatic/hpijs-pcl5e. This was the eleventh one I tried, altho there are a few more I didn’t get to.