I want to make my RasPi act as a little print and file server in a small home network consisting of three Linux clients. Unfortunately, Brother provides only binary drivers for x86, so I cannot run my Brother printer on the RasPi. However, I found a blog entry proposing to create a raw queue on the RasPi's CUPS install and access this queue from the clients using binary drivers installed on them. Here is the blog entry: http://chemdroid.net/en/raspberry-pi/36-raspberry-pi-as-print-server
Unfortunately, the author doesn't describe in much details how to create a raw queue on the RasPi and how to access it from the clients, instead he concentrates on describing the installation of a non-standard CUPS version on the RasPi.
I found a similar question here: CUPS bypassing interface However, I don't fully understand the answer. Does the "How to setup CUPS 'raw' queues" section in the answer there refer to the host (the RasPi)? If so, what is the socket/port that I have to specify? The printer is a Brother HL-2030, connected through USB.
When accessing the printer from the clients, the answer says how to edit the 'lp' command, however I want to use the shared printer through CUPS, so how do I proceed here?
Thanks for any input!
Photon
[...] how to create a raw queue on the RasPi
From the Pi (or an SSH/Putty session) add yourself to the lpadmin group
sudo adduser $USER lpadmin
Enable remote administration (or manually)
sudo cupsctl --remote-admin
Cycle CUPS to make sure it likes you
sudo service cups restart
-- OR -- sudo /etc/init.d/cups restart
Navigate to http://localhost:631 (of if you don't have keyboard access: http://<ip_address_of_pi>:631
from another machine)
Navigate to Administration, Add Printer
a. When prompted to login, use your standard username and password.
b. Note: If the password doesn't work, sudo reboot
, try again.
AppSocket/HP JetDirect, then:
a. Network Attached: socket://<ip_of_printer>:9100
b. USB Attached: socket://<usb_handle>
find using lpinfo -v |grep usb:
, you don't need the "? location=1a200000" information. Assumes proper driver is installed first. Note, if your device driver isn't offered for ARM architecture, see this article.
Make: Raw (NOT Generic)
Go back to CUPS Administration page at http://localhost:631 a. Enable printer sharing via:
.[X] Share printers connected to this system
. [X] Allow printing from the internet
[...] how to access it from the clients
This varies greatly between platforms.
The general URL format is:
http://<ip_of_pi>:631/printers/<name_used_in_step_8_above>
a. Windows: Devices and Printers, Add Printer (NOT Add Device, it's in the toolbar), Manually Select/Not Listed, Local or Network Printer with Manual Settings, Create a new port, Standard TCP/IP Port
b. MacOS: Enable, then use the CUPS web interface. The GUI can't do it. You'll need to be in admin group and know your user id (e.g. echo $USER
)
c. Linux: Using the GUI or CUPS, Network Printer, AppSocket/HP JetDirect