p910nd is a small printer daemon intended for diskless platforms that does not spool to disk but passes the job directly to the printer. Normally a lpr daemon on a spooling host connects to it with a TCP connection on port 910n (where n=0, 1, or 2 for lp0, 1 and 2 respectively). p910nd is particularly useful for diskless platforms. Common Unix Printing System (CUPS) supports this protocol, it's called the AppSocket protocol and has the scheme
Windows and Mac Os X (via CUPS) also supports this protocol.
In this guide I show you how to enable printing support for HP M1120 and Canon MP480 printer.
root@LEDE:~# opkg update
root@LEDE:~# opkg install kmod-usb-printer
root@LEDE:~# opkg install p910nd luci-app-p910nd
root@LEDE:~# ls /dev/usb/lp* /dev/usb/lp0
You should also open a port in the firewall for each printer configured. Once the above is done, it might be necessary to restart the print server with:
First, install drivers for your printer.
First, try configure your printer via System Preferences:
This method has worked for me with a HP M1120 printer, but it failed with my Canon MP480 (Error: unable to communicate with printer). So I added manually.
For LEDE 17.01.x, p910nd printing should work straight away after completing above steps. For OpenWRT 18.06.x, you may need to power cycle the router after installing the p910nd packages.