[ Raspberry Pi or Android ] --> WiFi Router --> USB printer

In summary: This package is available via the apt-get package manager. After installing it, I could see my printer in the list of CUPS printers.I then selected the printer and everything began to work flawlessly.
  • #1
Swamp Thing
Insights Author
970
670
A couple of years ago, I connected a USB printer to the USB socket on my broadband router. After a lot of trial and error (of which I remember no details) I was able to print from my windows laptop. Here are the port settings that currently work from the laptop:

printerPort.png
1) Based on the above information, can I set up my Raspberry Pi Model-4 to print to the same setup? How?

2) Ditto for my Android phone.

3) Or, is there a different port config (e.g. LPR instead of Raw) that will work better with the Pi or the Android? And still work for Windows, of course.
 
Last edited:
Computer science news on Phys.org
  • #2
A bit of progress...
You have to use the CUPS service to set up printers on the Raspberry Pi. It has a web based interface at localhost:631. When I went through the "add printer" wizard, I found that it supports a range of Samsung printers, including mine (ML-1660).

But when I print a test page, nothing happens. Sometimes, after a long time, the printer spits out a page with an error message.

I decided to insert a debug waypoint by setting it up to dump the Samsung compatible printer data to a file on disk, and now the test page goes to a file of about 125 kB.

Now I would like to pipe this file to 192.168.1.1:9100 as the next stage of debugging. How can I do that?
 
  • #3
I tried to use Wolfram to send data from the print file (created as described above) to the usb printer hosted on the WiFi router:
Code:
ip = "192.168.1.1:9100"
port = "TCP"
socket = SocketConnect[ip, port]
data = BinaryReadList["/home/pi/Desktop/printerFile/printerFile.out"]
BinaryWrite[socket, data]
SocketClose[socket]

Nothing happens. Sometimes, after a long time, an error page is printed: "INTERNAL ERROR = Including corrupted data".

I now suspect that you can't just dump binary data to the printer, as one could in the 1980s and 90s. In more modern printers (esp. USB ones?) you probably need duplex bidirectional communications before and while data is being transferred?
 
  • #4
In Windows, I have been using a "Samsung ML-1660 Series Class Driver", and it works. See pic in my first post. (My actual printer is ML-1666, which I have been assuming is of the "1660 series class".

After much digging and trial & error, I found that this logic doesn't cut it on the Raspberry Pi. I was initially trying to use a ML-1660 driver, which wasn't working.

Someone on the web recommends doing this:

Code:
sudo apt-get install printer-driver-splix

... after which I could then see the actual model that I have (ML-1666) in the CUPS list of printers.

Once I selected this, everything began to work flawlessly. :smile:👍

Apparently "splix" is a driver package that supports certain Samsung printers that use "Samsung Printer Language" or SPL.
 
Last edited:
  • Like
Likes Wrichik Basu

FAQ: [ Raspberry Pi or Android ] --> WiFi Router --> USB printer

Can I use a Raspberry Pi or Android device as a WiFi router for my USB printer?

Yes, both Raspberry Pi and Android devices can be used as a WiFi router for your USB printer. You can set up a wireless network using either of these devices and connect your USB printer to it for wireless printing.

What are the advantages of using a Raspberry Pi as a WiFi router for a USB printer?

Using a Raspberry Pi as a WiFi router for your USB printer allows for greater customization and control over your network setup. You can install various network management software and configure advanced settings to suit your specific needs.

Is it possible to share a USB printer over a WiFi network using an Android device?

Yes, you can share a USB printer over a WiFi network using an Android device by setting up the device as a WiFi hotspot and connecting the printer to it. You may need to install a printer sharing app from the Google Play Store to facilitate this process.

Can I connect multiple devices to the WiFi network created by the Raspberry Pi or Android device for printing?

Yes, you can connect multiple devices to the WiFi network created by the Raspberry Pi or Android device for printing. As long as the devices are connected to the same network, they should be able to access and use the shared USB printer.

Are there any limitations to using a Raspberry Pi or Android device as a WiFi router for a USB printer?

One limitation of using a Raspberry Pi or Android device as a WiFi router for a USB printer is that the performance may not be as robust as a dedicated WiFi router. Additionally, the setup process may require some technical knowledge and troubleshooting skills.

Similar threads

Back
Top