User avatar
scruss
Posts: 4372
Joined: Sat Jun 09, 2012 12:25 pm
Location: Toronto, ON
Contact: Website

Getting IPP network printers to work with Raspbian

Fri May 03, 2019 2:29 am

It seems that there are a lot of questions here about getting printers to work with your Raspberry Pi. Some may never work due to lack of support from the manufacturer. But there's a class of network printers — ones that support IPP (Internet Printing Protocol) — that should always work.

All you need to do to get one of these printing from a Raspberry Pi running Raspbian is:

Code: Select all

sudo apt install cups cups-ipp-utils system-config-printer
(leave off system-config-printer if you’re running from the terminal.)

You should then be able to select your printer from the Network Printer drop-down from the "Add Printer " dialogue, and if you choose a model that describes itself as an "IPP Network Printer", the system should guide you through sensible default settings. It might not enable all the features the printer has, but on the Brother DCP-L2550DW I just bought it, works rather well.

More details, with pictures: https://scruss.com/blog/2019/05/02/poss ... pberry-pi/

Update, January 2020:

If you also want a PDF virtual printer installed, try this:

Code: Select all

sudo apt install cups cups-ipp-utils system-config-printer printer-driver-cups-pdf
This may eventually be installed by default in Raspbian with Desktop so that users can access print-to-PDF or networked IPP printers out of the box.

IPP is magic. I updated my home printer to a MFC-L2750DW, and my Raspberry Pis just found it and set up sensible defaults without doing anything apart from adding the printer to the network.
Last edited by scruss on Sat Jan 04, 2020 4:32 pm, edited 2 times in total.
‘Remember the Golden Rule of Selling: “Do not resort to violence.”’ — McGlashan.
Pronouns: he/him

fruitoftheloom
Posts: 27226
Joined: Tue Mar 25, 2014 12:40 pm

Re: Getting IPP network printers to work with Raspbian

Fri May 03, 2019 4:46 am

scruss wrote:
Fri May 03, 2019 2:29 am
It seems that there are a lot of questions here about getting printers to work with your Raspberry Pi. Some may never work due to lack of support from the manufacturer. But there's a class of network printers — ones that support IPP (Internet Printing Protocol) — that should always work.

All you need to do to get one of these printing from a Raspberry Pi running Raspbian is:

Code: Select all

sudo apt install cups-ipp-utils system-config-printer
(leave off system-config-printer if you’re running from the terminal.)

You should then be able to select your printer from the Network Printer drop-down from the "Add Printer " dialogue, and if you choose a model that describes itself as an "IPP Network Printer", the system should guide you through sensible default settings. It might not enable all the features the printer has, but on the Brother DCP-L2550DW I just bought it, works rather well.

More details, with pictures: https://scruss.com/blog/2019/05/02/poss ... pberry-pi/

Good find but many users only have a USB Printer which they want to connect to their RPi directly......
Take what I advise as advice not the utopian holy grail, and it is gratis !!

User avatar
scruss
Posts: 4372
Joined: Sat Jun 09, 2012 12:25 pm
Location: Toronto, ON
Contact: Website

Re: Getting IPP network printers to work with Raspbian

Fri May 03, 2019 2:15 pm

hence the IPP network printers bit in the subject. There have been a few threads (like Wireless printer and Printing CUPS) that are fairly high up in search results that look as if they could have been resolved by using cups-ipp-utils

It's difficult to tell people that the printer that they use perfectly well with other computers will never work with their Raspberry Pi. Aside from x86-only drivers, it really doesn't help that the OpenPrinting database seems to be unmaintained, so many new printers are never documented.
‘Remember the Golden Rule of Selling: “Do not resort to violence.”’ — McGlashan.
Pronouns: he/him

paubley
Posts: 1
Joined: Fri Jul 05, 2019 5:18 pm

Re: Getting IPP network printers to work with Raspbian

Fri Jul 05, 2019 5:59 pm

Just solved this using Brother drivers for DCP-9015 printer (wireless only!)

Step 1: Download linux (rpm) drivers from Brother website. I used this one:
https://support.brother.com/g/b/downloa ... 9015cdw_eu
Download the the cups wrapper only (scroll down a bit)

The file I got was called dcp9015cdwcupswrapper-1.1.4-0a.i386.deb

Step 2:
Put the .deb file in a temporary folder to make it easier to clean up later!

Step 3 run this to extract the contents:

Code: Select all

ar x <.deb filename>
i.e, I did:

Code: Select all

ar x dcp9015cdwcupswrapper-1.1.4-0a.i386.deb
This gives you some more archives:
control.tar.gz
data.tar.gz
debian-binary
The one we're after is data.tar.gz.

Step 4: Extract with tar:

Code: Select all

tar xvf data.tar.gz
This creates an 'opt/' folder, the -v option gives the files list:
./
./opt/
./opt/brother/
./opt/brother/Printers/
./opt/brother/Printers/dcp9015cdw/
./opt/brother/Printers/dcp9015cdw/cupswrapper/
./opt/brother/Printers/dcp9015cdw/cupswrapper/cupswrapperdcp9015cdw
./opt/brother/Printers/dcp9015cdw/cupswrapper/brother_dcp9015cdw_printer_en.ppd
./opt/brother/Printers/dcp9015cdw/cupswrapper/brcupsconfpt1
Step 5 Get a copy of the .ppd file:

Code: Select all

cp ./opt/brother/Printers/dcp9015cdw/cupswrapper/brother_dcp9015cdw_printer_en.ppd brother_dcp9015cdw_printer_en_pi.ppd
Step 6 Modify the PPD file:
Edit it using nano or whatever you prefer.

Code: Select all

nano brother_dcp9015cdw_printer_en_pi.ppd
There is one line to change:
*cupsFilter: "application/vnd.cups-postscript 0 brother_lpdwrapper_dcp9015cdw"
This line tells cups to use the Brother wrapper, which is compiled for i86, and hence useless.
Change this line to:

Code: Select all

*cupsFilter: "application/vnd.cups-postscript 100 foomatic-rip"
Save the file for later!

This works for my printer (it's postscript). The corrected line was lifted from a similar file in the CUPS setup that would print to my printer but badly. If you have a non postscript printer, you'll need to pinch this line from a 'similar' printer.

Now go to the CUPS setup webpage and add your printer. When you're on the driver selection stage, go to "Or Provide a PPD File:' and select the edited .PPD file from above, then continue to setup. You should get all the right default options for your printer in the next step.

Once its setup, you can delete the temporary folder and everything you extracted.

This worked for me. Hope its useful for others.

User avatar
scruss
Posts: 4372
Joined: Sat Jun 09, 2012 12:25 pm
Location: Toronto, ON
Contact: Website

Re: Getting IPP network printers to work with Raspbian

Fri Jul 05, 2019 9:06 pm

paubley wrote:
Fri Jul 05, 2019 5:59 pm
Just solved this using Brother drivers for DCP-9015 printer (wireless only!)
It's an AirPrint printer, so the simple cups-ipp-utils solution should work too.
‘Remember the Golden Rule of Selling: “Do not resort to violence.”’ — McGlashan.
Pronouns: he/him

Return to “Raspberry Pi OS”