Printing to a CUPS server from Android
My printer, a Brother HL-L2300D monochrome laser printer, doesn't support wireless printing. Instead, it's connected with USB to a Raspberry Pi running CUPS in a common area of our townhouse so my partner and I can use it wirelessly. You can find instructions to set up something similar yourself online, e.g. Printing at home from your Raspberry Pi.
Once I enabled sharing, all of our devices (mostly Linux and Apple devices) found the printer automatically except for my Android phone. I had to add the printer manually:
Adding the printer on Android
- In the Settings app on Android, navigate to Printing under Connected devices > Connection preferences.
- Select Default Print Service.
- In the menu in the top right, click Add printer, then select Add printer by IP address.
- Enter the printer URL from the CUPS web UI (described below).
Finding the printer URL
The hostname of the Raspberry Pi hosting the print server is homepi
. Because I have a local DNS
server, I can find the web UI for CUPS at http://homepi:631.
- Navigate to the CUPS web UI.
- Select Printers at the top.
- Find the printer under Queue Name and click on it. (If the printer isn't there, CUPS could be misconfigured.)
- Copy the URL without the
http://
prefix. You can use this URL to add the printer on Android. In my case, including a local domain name (e.g.homepi.example.com
) didn't work--only the bare hostname or IP address.
Suddenly I was able to print wirelessly from my phone!