Wednesday 9 September 2009

Question: how to add a network printer?

Here I am, with a document ready to print, but no printer installed.
This is my scenario: the network printer (a Samsung CLP-510N) is connected to a consumer WiFi router with IP 192.168.1.200.

With Windows, my first step was to point my trusty browser to www.samsung.co.uk, go to support, downloads, enter the printer, and download the driver. Pleasant surprise: Samsung provides a "unified Linux driver", click on it, and the file is now in the "Download" folder. So far so good.
With Windows, the next step is to go to "Printers & faxes", click on "Add a printer", select "Local printer", create a new port with the IP address, then select the printer make & model, print the test page, done.

Let's try this with Linux:
Ping the printer just to make sure I can reach it --> no problems (note to self: Ctrl+C to stop pinging)
https://help.ubuntu.com/8.04/printing/C/printing.html#network
1. Obtain the model name of your printer. --> done
2. Ensure the printer is turned on. --> check
3. Choose System → Administration → Printing --> this is easy :-)
4. Now choose New Printer --> right
5. If your printer is directly connected to a Windows machine on your network, choose Windows Printer via SAMBA. Otherwise, select the protocol your printer uses to communicate.
--> umm. I'm a newbie, remember? I have no idea what protocol this printer uses. I do not know any printer protocols. I have no where to look for the protocol.
It is not connected via a Windows machine, that was the easy bit.
"Print into PDF file"? Nope
"AppSocket/HP JetDirect"? I'll take the easy route, it's not an HP, and so I guess not
"Internet Printing Protocol"? Two text fields called Host and Queue, but all I know is the IP, so lets enter the IP under host: "192.168.1.200" and leave the default value "/printers/" for Queue, click on the button "Find Queue", and an error message: "It is not possible to obtain a list of queues from this host". Kind of makes sense as there is no host (unless the printer acts like one? I have no idea).
"LDP/LDR Host or Printer"? Host: select "Local host" from the drop down box; Queue: enter the IP address, click "Forward"
Select printer make and model from the list, give the printer a unique name, a description, and a location, click "Apply", and done!
The proof is in the pudding, so I select the printer in the configuration and click on "Test page", and unfortunately I receive an error message "Not connected"!
However, the Device URI is "ldp://localhost/192.168.1.200" which does not look right. Change this to "ldp://192.168.1.200" and there it is: my first test page printed from Ubuntu.

To recap, I have to say this:
The instructions were a bit intimidating: "Otherwise, select the protocol your printer uses to communicate." As a newbie, I have no clue what these are.
However, going through the options and finding the one that works was quite straightforward. With home networks and network printers becoming more and more common, this might be something were people like me will stumble.
Downloading the driver was not necessary after all.
In the end, the entire process was fairly quick & painless, and I am entirely pleased with the test page lying in front of me.