Skip to content

Instantly share code, notes, and snippets.

@irudoy
Last active May 21, 2022 16:02
Show Gist options
  • Save irudoy/a7697f945c934cc8171551447234e5b3 to your computer and use it in GitHub Desktop.
Save irudoy/a7697f945c934cc8171551447234e5b3 to your computer and use it in GitHub Desktop.
Set up Samsung ML-1910 Printer (or similar) with CUPS on Raspberry Pi

Set up Samsung ML-1910 Printer (or similar) with CUPS on Raspberry Pi

Install and configure CUPS

sudo apt install cups
sudo usermod -a -G lpadmin pi
sudo cupsctl --remote-any
sudo cupsctl --share-printers

sudo lpinfo -v # should show your USB-connected printer

Get the driver

Source: https://www.bchemnet.com/suldr/suld.html I used version 1.00.06 (driver2), works fine. But you can try another one with arm binaries.

Add printer

  • Go to https://<RPI-IP>:631/
  • Navigate Administration -> Add printer
  • Select your printer
  • Configure name, sharing option
  • Select PPD file for your printer from extracted tar archive, e.g.: uld/noarch/share/ppd/Samsung_ML-191x_Series.ppd

Install missing driver libs/binaries on your Pi

  • scp /path/to/your/UnifiedLinuxDriver-1.00.06.tar.gz pi@<RPI-IP>:/home/pi or wget --trust-server-names https://www.bchemnet.com/suldr/driver/UnifiedLinuxDriver-1.00.06.tar.gz
  • then extract and copy all that you need:
tar zxvf UnifiedLinuxDriver-1.00.06.tar.gz
sudo cp ./uld/arm/libscmssc.so /usr/lib/ && \
    sudo cp ./uld/arm/smfpnetdiscovery /usr/bin/ && \
    sudo cp ./uld/arm/smfpnetdiscovery /usr/lib/cups/backend/ && \
    sudo cp ./uld/arm/pstospl /usr/bin/ && \
    sudo cp ./uld/arm/pstospl /usr/lib/cups/backend/ && \
    sudo cp ./uld/arm/pstosplc /usr/bin/ && \
    sudo cp ./uld/arm/pstosplc /usr/lib/cups/filter/ && \
    sudo cp ./uld/arm/rastertospl /usr/bin/ && \
    sudo cp ./uld/arm/rastertospl /usr/lib/cups/filter/ && \
    sudo cp ./uld/arm/rastertosplc /usr/bin/ && \
    sudo cp ./uld/arm/rastertosplc /usr/lib/cups/filter/
rm -rf ./uld

And finally print!

lpstat -t # list printers
echo "test" | lp -d <YOUR_PRINTER_NAME>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment