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

Click For Summary
SUMMARY

The discussion centers on configuring a Raspberry Pi Model-4 to print to a USB printer connected to a broadband router, specifically a Samsung ML-1666. The user successfully installed the CUPS service and the printer-driver-splix package, which resolved previous issues with printing. The user initially faced challenges with sending binary data directly to the printer, leading to errors. After correctly identifying the printer model in CUPS and using the appropriate driver, printing functionality was restored.

PREREQUISITES
  • Understanding of CUPS (Common Unix Printing System) for printer management
  • Familiarity with Raspberry Pi Model-4 setup and configuration
  • Knowledge of Samsung Printer Language (SPL) and its drivers
  • Basic networking concepts, including TCP/IP and port configuration
NEXT STEPS
  • Research how to configure CUPS for network printers on Raspberry Pi
  • Learn about the installation and usage of the printer-driver-splix package
  • Explore troubleshooting techniques for printer communication errors
  • Investigate advanced printing options and settings for USB printers on Linux
USEFUL FOR

This discussion is beneficial for Raspberry Pi enthusiasts, Linux users setting up network printers, and anyone troubleshooting printing issues with Samsung printers.

Swamp Thing
Insights Author
Messages
1,047
Reaction score
780
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
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?
 
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?
 
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   Reactions: Wrichik Basu

Similar threads

  • · Replies 2 ·
Replies
2
Views
558
  • · Replies 12 ·
Replies
12
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K
  • · Replies 4 ·
Replies
4
Views
8K
  • · Replies 1 ·
Replies
1
Views
570
Replies
4
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 24 ·
Replies
24
Views
4K
  • · Replies 3 ·
Replies
3
Views
4K
  • · Replies 6 ·
Replies
6
Views
5K