Solved: How to Print from Android & iPhone to Samsung ML Series Lasers
How to connect Samsung ML-1640, ML-2165, and Xpress M2020 USB laser printers to mobile devices for wireless home printing.
During the 2000s and 2010s, Samsung produced some of the most compact, affordable monochrome laser printers the consumer market had ever seen. Units like the Samsung ML-1640, ML-2165, ML-1610, and Xpress M2020 occupied less desk space than a shoebox while pumping out thousands of sharp, clean pages. Powered by compact toner cartridges like the MLT-D108S, MLT-D104S, and MLT-D111S, these printers remain workhorses in home offices today.
However, using a legacy Samsung laser printer with modern smartphones presents two massive roadblocks:
- HP Acquired Samsung’s Printer Business: In 2017, HP acquired Samsung’s printer division. The legacy Samsung Mobile Print app was abandoned, links to old support portals broke, and no official AirPrint or modern Android Mopria updates were ever released for USB-only models.
- Proprietary SPL (Samsung Printer Language): Unlike enterprise lasers that understand standard PCL or PostScript, these compact Samsung printers rely on SPL (Samsung Printer Language). In this host-based architecture, your computer’s CPU rasterizes every character and image dot before piping it over USB.
Mobile phones (both iOS and Android) do not have built-in SPL rasterizers. If you plug a Samsung USB printer into an Android phone using an OTG cable, the printer will simply sit dead or flash an error light.
With Printman, you can bridge your Windows PC—which already has the official Samsung SPL driver installed—to every mobile phone in your household over local Wi-Fi.
Why Raspberry Pi and Generic Solutions Struggle with Samsung SPL
Many users try connecting their Samsung ML printer to a Raspberry Pi running CUPS and the open-source SpliX driver:
- SpliX Color/Grayscale Incompatibilities: The open-source
SpliXdriver often struggles with gradient rendering, photo dithering, and high-DPI font kerning, resulting in distorted or illegible PDF output. - Firmware Timing Glitches: Models like the ML-2165 and ML-1640 frequently drop into sleep states where standard Linux USB polling cannot properly reset the SPL data stream, causing queue deadlocks.
- Windows Driver Stability: The official Samsung Universal Print Driver 3 (now distributed via HP Support) handles SPL compression, thermal calibration, and sleep-state recovery with 100% hardware precision.
Printman runs directly on your Windows 10 or 11 PC. It accepts standard PDFs and images from your smartphone browser, uses Windows WinRT rendering to generate pristine page graphics, and lets the official Samsung driver convert the stream to SPL.
Solution Comparison
| Feature | Abandoned Samsung Mobile App | Raspberry Pi + SpliX | Printman Windows LAN Engine |
|---|---|---|---|
| USB-Only Printer Support | No (only detects old Wi-Fi units) | Yes (requires complex compilation) | Yes (100% plug-and-play) |
| Driver Accuracy | Abandoned / Broken on modern iOS | Prone to dithering & font glitches | Uses official Samsung SPL driver |
| Mobile OS Compatibility | Incompatible with modern iOS/Android | Variable AirPrint emulation | Universal browser app (Safari & Chrome) |
| Cloud / Telemetry | Broken server endpoints | None | Zero cloud, 100% private LAN |
| Setup Time | Dead app | 1–2 hours | Under 2 minutes |
Step 1: Verify Windows 10 / 11 Driver Configuration
Before starting Printman, make sure Windows can print over USB to your Samsung printer:
- Connect your Samsung ML or Xpress printer to your Windows PC with a USB cable and turn the power switch ON.
- In Windows, navigate to Settings > Bluetooth & devices > Printers & scanners.
- If the printer is not automatically recognized:
- Download the Samsung Universal Print Driver 3 for Windows (v3.00.15.00 or newer) from HP Customer Support (which now hosts Samsung printer software).
- Run the installer and choose USB connection.
- Once installed, click Samsung ML series > Printer properties and select Print Test Page.
- Verify that the printer warms up and produces the Windows test page.
Step 2: Download and Run Printman
Printman is a zero-dependency, single-file Windows executable with an embedded Kestrel web server.
- Download the standalone ZIP (
printman-win-x64-standalone.zip) from the Printman GitHub Releases. - Extract
printman.exeto a permanent folder on your PC (such asC:\Tools\Printman). - Open Windows Terminal, PowerShell, or Command Prompt in that folder and start Printman:
./printman.exe serve --no-auth
Security Note: If you share your Wi-Fi with roommates or neighbors, run
./printman.exe serve(without--no-auth). Printman will generate an ephemeral 6-digit PIN so only authorized family members can submit print jobs.
Printman immediately discovers your Samsung printer and displays your network access address:
==============================================================
PRINTMAN SERVER - EMBEDDED KESTREL LAN ENGINE
==============================================================
[WEB SERVER RUNNING] Port: 5000
[SECURITY] Open Access (No PIN required)
Access from this machine or your phone on the same Wi-Fi:
Local: http://localhost:5000/
Network: http://192.168.1.175:5000/
Step 3: Print Wirelessly from Any Smartphone or Tablet
- Connect your Android phone, iPhone, or iPad to the same home Wi-Fi network as your Windows PC.
- Open Chrome or Safari and go to the Network URL (e.g.
http://192.168.1.175:5000). - You can bookmark the page or tap Add to Home screen for one-tap mobile access.
Sending Your First Print Job:
- Tap Select Documents to upload any PDF, shipping label, invoice, or screenshot.
- Select your Samsung ML-1640, ML-2165, or Xpress M2020 from the printer dropdown.
- Configure your job settings:
- Copies: Specify your needed copies.
- Paper Size:
LetterorA4(retrieved directly from the Samsung driver). - Page Range: Specify specific pages (e.g.,
1-2) or print the whole file.
- Tap Print.
Printman processes the document, passes it to the Windows print pipeline, and the Samsung driver compiles the SPL stream over USB. Your Samsung laser will immediately cycle its rollers and output your pages in seconds.
Pro Tip: Automatic Background Service on Windows Startup
To keep your Samsung laser printer ready for wireless phone printing whenever your PC is on:
- Press
Win + R, typeshell:startup, and press Enter. - In the Startup directory, right-click and select New > Shortcut.
- In the location field, enter:
"C:\Tools\Printman\printman.exe" serve --no-auth - Name the shortcut
Printman Serverand click Finish.
Now Printman runs quietly in the background upon login, turning your vintage Samsung desktop laser into an always-on mobile print hub.
Frequently Asked Questions (FAQ)
What happened to Samsung printer drivers after HP bought Samsung’s printer division?
In 2017, HP acquired Samsung Electronics’ entire printer business for $1.05 billion. All official driver archives, utility downloads, and technical documentation were migrated to HP Support. The Samsung Universal Print Driver 3 (UPD3) is maintained by HP and works seamlessly across Windows 10 and Windows 11.
Why does the Samsung Mobile Print app fail to find my ML-1640 or ML-2165?
The legacy Samsung Mobile Print app was designed strictly for Samsung’s Wi-Fi network printers broadcasting over Bonjour or SNMP. It cannot detect or communicate with USB-only models connected to a computer. Printman bypasses the defunct app entirely by serving a fast web application directly over your local network.
Does this guide also work for Samsung Xpress M2020 and M2070 USB models?
Yes! The Samsung Xpress M2020, M2020W, M2070, and M2070FW belong to Samsung’s final generation of consumer laser printers and use the exact same SPL rendering engine. Printman communicates directly with the Windows driver for all Xpress series devices.
Can I print from both Android and iOS devices simultaneously?
Yes. Printman features a background serialized queue (System.Threading.Channels). If an iPhone user and an Android user tap print at the exact same moment, Printman queues the jobs in memory and feeds them sequentially to the Samsung driver, preventing spooler crashes and buffer overruns.
Written by EslaMx7
Printman is an open-source tool built to keep resilient USB printers out of landfills.