CUPS 4 Noobs -- installed but can't print (Brother HL-2270DW on Armbian on Orange Pi)
Linux - NewbieThis Linux forum is for members that are new to Linux.
Just starting out and have a question?
If it is not in the man pages or the how-to's this is the place!
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
CUPS 4 Noobs -- installed but can't print (Brother HL-2270DW on Armbian on Orange Pi)
My first ever attempt to install and configure CUPS. Hasn't gone as well as I hoped.
I installed CUPS with the armbian-config utility, which appears to do apt-get -y install cups lpr cups-filters, then I added my user account to lpadmin group.
In CUPS web interface I select my wireless printer; there are no Brother drivers listed, but it says "or select a PPD file" so I used the HL-1660e PPD from openprinters.org which is said to work perfectly with my HL-2270DW. But when I try to print a test page from CUPS, I get "Unable to locate printer "BRN30055C070BA1.local"." I tried changing the URI to the printer's static IP; fixes the error message, but now printing test page just gives "processing" forever and never prints.
Brother provides proprietary linux lpr and cups-wrapper drivers for this printer; they are described as being for i386 architecture (my device is arm) but I've seen comments claiming that there is no architecture-specific code in these drivers. I've not tried anything with them.
I don't know what this here output means, but I saw a thread where it was requested:
Code:
$ lpstat -t
scheduler is running
no system default destination
device for Brother_HL-2270DW_series: dnssd://Brother%20HL-2270DW%20series._pdl-datastream._tcp.local/
Brother_HL-2270DW_series accepting requests since Sat Nov 30 11:45:03 2019
printer Brother_HL-2270DW_series is idle. enabled since Sat Nov 30 11:45:03 2019
$ sudo egrep -i "name|model|filter" /etc/cups/ppd/*
/etc/cups/ppd/Brother_HL-2270DW_series.ppd:*% "foomatic-rip" backend filter script of Foomatic 4.0.0 or newer. This
/etc/cups/ppd/Brother_HL-2270DW_series.ppd:*PCFileName: "HL1250.PPD"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd:*cupsModelNumber: 2
/etc/cups/ppd/Brother_HL-2270DW_series.ppd:*cupsFilter: "application/vnd.cups-postscript 100 foomatic-rip"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd:*cupsFilter: "application/vnd.cups-pdf 0 foomatic-rip"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd:*ModelName: "Brother HL-1660e"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd:*ShortNickName: "Brother HL-1660e hl1250"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd:*NickName: "Brother HL-1660e Foomatic/hl1250 (recommended)"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd:*driverName hl1250: ""
/etc/cups/ppd/Brother_HL-2270DW_series.ppd.O:*% "foomatic-rip" backend filter script of Foomatic 4.0.0 or newer. This
/etc/cups/ppd/Brother_HL-2270DW_series.ppd.O:*PCFileName: "HL1250.PPD"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd.O:*cupsModelNumber: 2
/etc/cups/ppd/Brother_HL-2270DW_series.ppd.O:*cupsFilter: "application/vnd.cups-postscript 100 foomatic-rip"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd.O:*cupsFilter: "application/vnd.cups-pdf 0 foomatic-rip"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd.O:*ModelName: "Brother HL-1660e"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd.O:*ShortNickName: "Brother HL-1660e hl1250"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd.O:*NickName: "Brother HL-1660e Foomatic/hl1250 (recommended)"
/etc/cups/ppd/Brother_HL-2270DW_series.ppd.O:*driverName hl1250: ""
I'm having a difficult time finding and noob-oriented troubleshooting info for CUPS, or even any configuration guides that go beyond "select your driver from the dropdown and whammo it works!" Thanks for any assistance
In CUPS web interface I select my wireless printer; there are no Brother drivers listed, but it says "or select a PPD file" so I used the HL-1660e PPD from openprinters.org which is said to work perfectly with my HL-2270DW.
Are you sure about that. This page suggests no such thing. I'd be surprised if anything but the vendor-supplied driver would work here (but open to correction).
Quote:
Brother provides proprietary linux lpr and cups-wrapper drivers for this printer; they are described as being for i386 architecture (my device is arm) but I've seen comments claiming that there is no architecture-specific code in these drivers. I've not tried anything with them.
Yes, forget using the Brother (proprietary) drivers - nothing available for ARM architecture.
Do you have a PC with Linux installed (or a MAC) that you could perhaps configure as a CUPS server? This approach would allow you to print from the Pi without requiring a CUPS printer driver.
Are you sure about that. This page suggests no such thing. I'd be surprised if anything but the vendor-supplied driver would work here (but open to correction).
Yeah, it was actually described in Disqus comments on that very openprinting.org page until yesterday, when all of the Disqus comments disappeared from openprinting. Others have cited printing to it using the hl1250 driver, which seems to be the one that is used by the PPD that I loaded (looking at /etc/cups/ppd/Brother_HL-2270DW_series.ppd:*driverName hl1250: ""). The thing is, I don't understand anything about how CUPS works, so my troubleshooting abilities are weak!
I'm not sure if this will work, but I note that the Brother HL-2270DW specs suggest that the printer offers PCL6 emulation. With luck, you might try configuring CUPS with a 'Generic' model, and choose 'Generic PCL 6 Printer wide margin' (or similar). No promises though.
BTW, is your printer USB-connected to the Pi or connected as a network printer (via wired ethernet or wifi)?
I'm not sure if this will work, but I note that the Brother HL-2270DW specs suggest that the printer offers PCL6 emulation. With luck, you might try configuring CUPS with a 'Generic' model, and choose 'Generic PCL 6 Printer wide margin' (or similar). No promises though.
BTW, is your printer USB-connected to the Pi or connected as a network printer (via wired ethernet or wifi)?
It's wifi. Others have reported successfully using a generic PCL6 driver, so I'll try that ... though I suspect it won't support duplex printing, which is one of the reasons that I was hoping to make it work with a more Brother-specific driver.
I take it there's nothing in the output that I pasted above that points towards an obvious problem?
The thing is, I don't understand anything about how CUPS works, so my troubleshooting abilities are weak!
In general, one can review what is logged to the CUPS error_log (/var/log/cups/error_log), but some experience/knowledge is needed to interpret some issues. CUPS can be put into debug mode using
Code:
sudo cupsctl --debug-logging
That increases the logging verbosity which can help when trying to diagnose a printer issue.
In your case though, any failure to print will be down to an incorrect driver, which means that the resulting printer stream output will be unintelligible to the target printer.
It's wifi. Others have reported successfully using a generic PCL6 driver, so I'll try that ... though I suspect it won't support duplex printing, which is one of the reasons that I was hoping to make it work with a more Brother-specific driver.
Brother printers are generally well supported as far as x86 architecture goes, but that doesn't help those using Pi (or other ARM devices). In general, HP printers are well supported by HPLIP drivers and that includes the Raspberry Pi. Otherwise, look for PostScript compatible printers (usually high-end laser printers). The PCL 6 driver is worth a shot though.
Quote:
I take it there's nothing in the output that I pasted above that points towards an obvious problem?
The lpstat output is as expected, and the PPD information you've shared just shows the print filter you've configured. I doubt that the foomatic-rip driver will produce output intelligible to your printer.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.