Loading...
 

Printing via Wifi at home on an old non-wifi Printer

Imagine that you have an old non-Wifi (and non Etherned capable) printer, and you want to print to that printer via Wifi. You can do so, with GNU/Linux, if you have a wifi network (ADSL with Wifi) at home and several computers using the wifi network from different places at home.

1.1. Computer1 as Printing Server

You need to attach the printer by cable (LPT1, serial) or USB, etc, to one computer, that will act as printing server. In our case, Coprinus laptop with Ubuntu 14.04 GNU/Linux as Operating System.

You have to do two things to set up the system the first time:

1. Select the printer as shared:

"Admin > System > Printers"

Click with the right-click button on the printer icon, and select "Shared"

Click to expand
Click to expand


2. Indicate that the printer shows as shared when someone looks for a printer connected to this computer:

"Admin > System > Printers", then select int he window top menu "Server > Configuration":

Click to expand
Click to expand


And toggle the checkbox saying "Publish the shared printers connected to this system"

Click to expand
Click to expand


Last, you need to know which local IP is using this computer in your local wifi network at home. In order to know that number, open a terminal window and type:

 
ifconfig


This will tell us some long descritpion of technical details of the internet connection, and from there we will have to find out the IP given to our computer from the Wifi ADSL Router. In our case: 192.168.1.129, and we will use this number in the configuration at the client computers that are willing to print to this printer connected to this computer.

Example from our case as user xavi on computer Coprinus:

x
 
xavi@coprinus:~$ ifconfig
eth0      Link encap:Ethernet  direcciónHW 08:2e:5f:7d:51:67  
          ACTIVO DIFUSIÓN MULTICAST  MTU:1500  Métrica:1
          Paquetes RX:0 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:0 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:1000 
          Bytes RX:0 (0.0 B)  TX bytes:0 (0.0 B)
lo        Link encap:Bucle local  
          Direc. inet:127.0.0.1  Másc:255.0.0.0
          Dirección inet6: ::1/128 Alcance:Anfitrión
          ACTIVO BUCLE FUNCIONANDO  MTU:65536  Métrica:1
          Paquetes RX:3682672 errores:0 perdidos:0 overruns:0 frame:0
          Paquetes TX:3682672 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:0 
          Bytes RX:427010375 (427.0 MB)  TX bytes:427010375 (427.0 MB)
wlan0     Link encap:Ethernet  direcciónHW ac:72:89:f7:4e:0a  
          Direc. inet:192.168.1.129  Difus.:192.168.1.255  Másc:255.255.255.0
          Dirección inet6: fe80::ae72:89ff:fef7:4e0a/64 Alcance:Enlace
          ACTIVO DIFUSIÓN FUNCIONANDO MULTICAST  MTU:1500  Métrica:1
          Paquetes RX:760575 errores:0 perdidos:1 overruns:0 frame:0
          Paquetes TX:918504 errores:0 perdidos:0 overruns:0 carrier:0
          colisiones:0 long.colaTX:1000 
          Bytes RX:320935769 (320.9 MB)  TX bytes:1105070912 (1.1 GB)
xavi@coprinus:~$


You can check that everything is right by means of visiting the Common Unified Printing System (CUPS) interface in your computer acting as printing server, through the web interface that it provides at port 631. This will also show the exact name that the printing queue has in our case. Therefore, let's open an internet browser in this computer and type:
http://localhost:631/printers/

There go to the tab "Printers":

Click to expand
Click to expand


Select the one you have set up in the previous steps "Dell-Dell-2350d-Laser-Printer", where you can see that it says that it's shared ("Compartida"), etc:

Click to expand
Click to expand


In order to allow connections from other computers in the same wifi network, you need to add the ip address to the Listen directive in this file:

xxxxxxxxxx
 
/etc/cups/cupsd.conf

Listen: By default on Ubuntu, the CUPS server installation listens only on the loopback interface at IP address 127.0.0.1. In order to instruct the CUPS server to listen on an actual network adapter's IP address, you must specify either a hostname, the IP address, or optionally, an IP address/port pairing via the addition of a Listen directive. For example, if your CUPS server resides on a local network at the IP address 192.168.10.250 and you'd like to make it accessible to the other systems on this subnetwork, you would edit the /etc/cups/cupsd.conf and add a Listen directive, as such:
  • xxxxxxxxxx
     
    Listen 127.0.0.1:631           # existing loopback Listen
    Listen /var/run/cups/cups.sock # existing socket Listen
    Listen 192.168.1.129:631       # Listen on the LAN interface, Port 631 (IPP)


Then you have to restart CUPS for the change to take effect, and you will be done with this part:

Command to Execute in a Terminal window
xxxxxxxxxx
 
sudo service cups restart

1.2. Computer 2 to print from

At the client computer (the other one, where we want to print from), you have to go to add a new printer.

And indicate that you will print through "ipp" to the server, to the IP that we found out in the previous step: 192.168.1.129

In order to know the exact name that the printing queue has in our case, we can browse from the client computer to the server at the usual port that the printing system CUPS takes (631):

xxxxxxxxxx
 
http://192.168.1.129:631/printers/


This will show us the list of printers shared at the computer that works as printer server. In our case, we take the one related to the Dell 2350D Printer that we recently bought as second hand cheap 2-sided laser printer:
http://192.168.1.129:631/printers/Dell-Dell-2350d-Laser-Printer

Therefore, we go to "Admin > System > Printers > Add > Network printer > Internet Printing Protocol (IPP)"

Network:
192.168.1.129:631

Queue:
/printers/Dell-Dell-2350d-Laser-Printer

This makes that you have shown underneath this:
uri: ipp://192.168.1.129:631/printers/Dell-Dell-2350d-Laser-Printer

You check whether that works, and you are done! Enjoy! FLOSS rocks! smile

Comments

There are no comments at this time.
Image Seed: noun \ˈsēd\ : the beginning of something which continues to develop or grow

Knowledge seeds

Switch Language