Please help setup a standalone USB printer (plug-and-play?)

28 replies [Last post]
Sunny Day
Offline
Joined: 01/05/2023

Hi all,

We've been without a printer for ages, but luckily found one that seems to be freedom respecting and is also USB only! It's a Brother laser printer from the HL-1110 series, found in the link below (what great resource!).

https://h-node.org/printers/catalogue/en

I want to set it up as a standalone printer, but all the info I am finding focus on networking, which is something we don't need or want. Can anyone enlighten me on how to achieve this?

With big pre-thanks for any help!

KaKooDa
Offline
Joined: 03/20/2023

Have you tried "setup a printer" from Trisquel's control center? (or $ /usr/share/system-config-printer/system-config-printer.py). It successfully detects my HP LaserJet printer, scanner and fax! (both over network and USB)

Sunny Day
Offline
Joined: 01/05/2023

Thank you for your reply KaKooDa!

Have you tried "setup a printer" from Trisquel's control center?

Yes, I tried that, but am a bit confused as to why it asks for user and password during setup when the process has already recognised it as a USB printer.

There are no servers or external connections of any kind in my system, I disable all I don't use and would like the printer to behave in a plug-and-play mode, as USB devices do. I wonder if there is simple a way to achieve that.

This is the first time I'm setting up a printer since moving to GNU/Linux and could be missing the obvious :)

KaKooDa
Offline
Joined: 03/20/2023

I think you should be doing something wrong (it shouldn't ask for a password). Here I've attached steps which I take to install my printer. Is yours any different? If you still struggling, try adding the printer by URI sudo apt-get install lptools
/usr/sbin/lpinfo -v
then run system-config-printer.py command again and add your printer (by URI this time)
Note: please omit the "proxychains" part!

1.jpg 2.jpg 3.jpg 4.jpg 5.jpg 6.jpg
KaKooDa
Offline
Joined: 03/20/2023

What?!?! Image previews show somethings differently (probably quidam's files xD). Just open the images I've attached.

Sunny Day
Offline
Joined: 01/05/2023

Haha, yes, love your preview images :)

Thanks alot again for your all your help. My printer is a Brother, so I think is a good idea to follow icarolongo's advice, as the driver he suggested includes my exact printer!

KaKooDa
Offline
Joined: 03/20/2023

Oh no, please don't get the wrong idea! The add printer utility I've described (provided by RedHat) is able to detect and install _Any_ printer, scanner or fax and install the drivers accordingly; Including your "Brother HL-1110" printer.

Sunny Day
Offline
Joined: 01/05/2023

That sounds great KaKooDa, thank you for adding the extra info and for all your help!

It's good to know there are so many options available to us, but I've already installed the printer driver with icarolongo's instructions and am happy to say my new printer is working!

KaKooDa
Offline
Joined: 03/20/2023

Yay! ໒ (⊙ᴗ⊙)७ It feels the best when you add a new piece to your libre gear!

Sunny Day
Offline
Joined: 01/05/2023

Just saw your message, thank you!... am running like a donkey right now and will read everything thoroughly after a NEEDED cup of coffee!

icarolongo
Offline
Joined: 03/26/2011

First, open the Terminal (Ctrl + Alt + T) and paste this to install this printer driver:

sudo apt install printer-driver-brlaser

If it does not work. Try this manual:

https://h-node.org/printers/view/en/1870/-Brother-HL-1110/

Sunny Day
Offline
Joined: 01/05/2023

Great!! Thank you icarolongo, I'll have a go to install the driver printer now.

Sunny Day
Offline
Joined: 01/05/2023

All good! The printer-driver-brlaser was in Trisquel repository, is installed and ready to go... will setup the printer now!

Sunny Day
Offline
Joined: 01/05/2023

icarolongo, could you please show me how to setup the printer driver?

https://h-node.org/printers/view/en/1870/-Brother-HL-1110/

Thank you for the link as well. There is a lot of information there, but I am not sure how to put it in practice, or even where to start.

icarolongo
Offline
Joined: 03/26/2011

In the Terminal:

Download the PPD source file brlaser.drv.in from De Watcher's GitHub repository:

wget https://raw.githubusercontent.com/pdewacht/brlaser/master/brlaser.drv.in

Compile the ppd's with this command:

ppdc -v brlaser.drv.in

Several dozen files with names ending like *.ppd will be generated and saved to a sub-directory named ppd. Navigate into that directory and remain there for the rest of the installation process.

cd ppd

Find the URI of the device using the lpinfo command:

/usr/sbin/lpinfo -v

A list of names and/or URIs should appear. Watch out for something that looks like this:

direct usb://Brother/HL-1110%20series?serial=YOURSERIALNUMBER

Install the printer in CUPS with the following command:

Replace the serial number with the number of your device, and replace or omit the optional location specified by the -L option as appropriate.

sudo /usr/sbin/lpadmin -p 'Brother_HL1110' -v usb://Brother/HL-1110%20series?serial=YOURSERIALNUMBER \
-P br1110.ppd -L 'Your room' -E

Sunny Day
Offline
Joined: 01/05/2023

Oh wow... more thanks for that!

To be honest that looks scary!

Most of the terms there are still foreign to me, don't even know what a PPD is!

icarolongo
Offline
Joined: 03/26/2011

Follow step-by-step and only change YOURSERIALNUMBER.

Sunny Day
Offline
Joined: 01/05/2023

Happy to say I got that so far :)... it just feels like a new world which includes the word "compile" --> a first for me!

Sunny Day
Offline
Joined: 01/05/2023

One more thing, I disabled cups... I guess I should re-enable it before doing anything else.

Is there a way to configure cups, so stays local, with no external connections?

icarolongo
Offline
Joined: 03/26/2011

It is local only by default.

Sunny Day
Offline
Joined: 01/05/2023

So good to known! Does that mean I don't have to re-enable cups? Or would that get in the way?

icarolongo
Offline
Joined: 03/26/2011

You need to enable CUPS. It is local only by default.

Sunny Day
Offline
Joined: 01/05/2023

icarolongo, I did it - THANK YOU!!!!!

My first test print was a success, thanks to your beautifully detailed instructions!

Everything is fine, just curious about having two printers showing, maybe because of the first install? If so, would you recommend deleting the extra one?

Here is a screenshot to clarify

Screenshot at 2023-09-17 18-55-01.png
icarolongo
Offline
Joined: 03/26/2011

PostScript Printer Description ("PPD") files describe the capabilities of each printer and are used by CUPS to support printer-specific features and intelligent filtering.

https://www.cups.org/doc/spec-ppd.html

Sunny Day
Offline
Joined: 01/05/2023

Right, PPD makes sense now... I can't thank you enough for your amazing patience!

Ardea
Offline
Joined: 05/16/2022

I use an HP Deskjet 3630.

https://h-node.org/printers/view/en/1974/DeskJet-3630-series/1/1/undef/undef/undef/undef/compatibility/3630

It has network capability but has been plug-and-play for me when printing via usb. I was able to obtain mine used for very cheap.

It is a fairly basic printer but for most purposes it is entirely adequate. It also has a built in scanner which is nice.

Sunny Day
Offline
Joined: 01/05/2023

Thank you for that Ardea!

The same here, my new printer is pretty basic, but I couldn't be happier, at least for now :)... it's working via usb with a free driver - thanks to icarolongo's help.

I love Trisquel!!

Geshmy
Offline
Joined: 04/23/2015

I have had good luck with HP printers. There was a time they were very friendly with the open source community. I have an HP OfficeJet 3830 all in one printer. It wasn't mentioned in this thread so I thought I would add something on a way to use cups. I remember my excitement to learn about this years ago. It's still the way I add a new printer connected via USB.

First, cups.service has to be running which can be verified using systemctl:

gsmyli@gsmyli-AZ221AV-ABA-HPE-170t:~$ systemctl status cups
● cups.service - CUPS Scheduler
Loaded: loaded (/lib/systemd/system/cups.service; enabled; vendor preset: >
Active: active (running) since Wed 2023-09-20 09:08:14 PDT; 9min ago
TriggeredBy: ● cups.socket
● cups.path
Docs: man:cupsd(8)
Main PID: 781 (cupsd)
Status: "Scheduler is running..."
Tasks: 1 (limit: 9402)
Memory: 11.2M
CPU: 547ms
CGroup: /system.slice/cups.service
└─781 /usr/sbin/cupsd -l

If it isn't running:
'sudo systemctl enable cups.service' and 'systemctl start cups.service' will get it going.
( I guess '.service' is optional) I think it does run by default on a fresh install of Trisquel.

Cups.service includes a local web server for administration. In Abrowser go to 127.0.0.1:631. Abrowser grumbled just now to me that the Cups server is presenting a bad certificate. I guess that might be an issue someone should resolve. This little web service is just running locally so I didn't worry about it and can't get the message back right now.

At some point you may be asked for your password which is the same as you use for sudo. Probably happens when you click on 'Administration.' Administration opens up to a place with functions like 'Add a Printer', 'Find a Printer' and 'Manage Printers'. As I always use an USB printer myself I haven't used much but the Find A Printer or Manage Printers (mostly to print a test page) but a couple of years ago I was using the 'Add Printer' adding printers on a network using ppd and other protocols.

If my USB printer is on, Find a Printer will reveal it.

For HP printers, I think one should have hplip installed to get all the up to date drivers. On my system apt tells me 'hplip is already the newest version (3.21.12+dfsg0-1+11.0trisquel2).' I am on Aramo.

I believe one will see the printer that is on and connected via USB and then may have to click on it or in some manner find the 'Install' function. Sometime it ask you to fill out some details like a name and location. You will also have to select from a list of manufacturers like Epson, Brother, Hewlett-Packard etc. When I select Hewlett-Packard or HP (I don't remember) then a really long list of available drivers show up in a scrollable box. Scrolling down to the 'O's I find OfficeJet and keep going till I get to 3830. I do not know what the differences are technically but there are likely 5 or six options for HP OfficeJet 3830. Sometimes I have decided one of drivers presented wasn't working right so I deleted the printer and started over, selecting a different option.

Cups shows me my current printer like this:
Description: HP OfficeJet 3830 series
Location: Yes (Yes was my answer)
Driver: HP Officejet 3830 Series hpijs, 3.21.12 (color, 2-sided printing)
Connection: usb://HP/OfficeJet%203830%20series?serial=CN88G5Q69J06VZ&interface=1
Defaults: job-sheets=none, none media=na_letter_8.5x11in sides=one-sided

I ran 'locate cups | grep OfficeJet
/etc/cups/ppd/HP_OfficeJet_3830_series.ppd'

So I am guessing maybe I don't need hplip for this driver.

Anyway I thought this info might prove useful to someone new to GNULinux.

Sunny Day
Offline
Joined: 01/05/2023

Wow Geshmy, you were right there! What you wrote might help many people in the future - thank you!