Printer configuration with IPP Everywhere™ (Brother-HL-L2375DW)

I did the upgrade (new installation) to QOS 4.2 and tried to configure my network printer (Brother-HL-L2375DW). I had a working setup with QOS 4.1, Debian 11 minimal. Unfortunately, I am struggling with the setup on my actual system.

Prep. and checks I already did:

  • printer is available and accessible in the local network (ping and printer web-interface is ok)
  • a fixed IP has been set
  • non-QOS systems are able to send print jobs

To reduce complexity, I am using a standalone Debian 12 template.
I updated / checked / installed all required packages:

apt update && apt upgrade --yes && apt install cups system-config-printer

I see an error in the cups service:

user@printer-standalone:~$ systemctl status cups
○ cups.service - CUPS Scheduler
     Loaded: loaded (/lib/systemd/system/cups.service; enabled; preset: enabled)
    Drop-In: /usr/lib/systemd/system/cups.service.d
             └─30_qubes.conf
     Active: inactive (dead)
TriggeredBy: ○ cups.path
             ○ cups.socket
  Condition: start condition failed at Tue 2024-08-13 16:04:00 CEST; 54s ago
             └─ ConditionPathExists=/var/run/qubes-service/cups was not met
       Docs: man:cupsd(8)

and in the system-config-printer:

user@printer-standalone:~$ sudo system-config-printer

(system-config-printer.py:25862): Gdk-CRITICAL **: 16:05:35.408: gdk_atom_intern: assertion 'atom_name != NULL' failed
...
...
Gdk.threads_enter ()
/usr/share/system-config-printer/system-config-printer.py:2082: DeprecationWarning: Gdk.threads_leave is deprecated

checking some basic cups commands:

user@printer-standalone:~$ lpadmin
bash: lpadmin: command not found
user@printer-standalone:~$ lpstat -v
lpstat: Scheduler is not running.
user@printer-standalone:~$ lpinfo -v
bash: lpinfo: command not found

The CUPS web interface http://localhost:631 is not accessible.

What did I miss in my cups setup / configuration?

As a reference, should not be a two liner enough to get all working?

driver_model=$(lpinfo -m \
        | grep 'MY_PRINTER_NAME' \
        | grep simple \
        | cut -d ' ' -f 1)

lpadmin -p 'MY_CUSTOM_PRINTER_NAME' -E \
        -v lpd://<my_printer_IP>/PASSTHRU \
        -m $driver_model \
        -o printer-error-policy=retry-current-job \
        -o printer-is-shared=false \
        -o Resolution=301x300dpi \
        -o ColorModel=Gray \
        -o print-quality-default=3

‘lpinfo’ is provided by the cups-client package, which doesn’t seem to exist in your standalone.
Installing cups-client and also checking if cups-server-common is installed will move your quest forward :wink:

Edit: and make sure that /usr/sbin is in your $PATH

1 Like

Add and enable cups service in your qube’s Settings → Services tab.

1 Like

Yes, true! /usr/sbin wasn’t in my $PATH ?!
Is this normal?

I have added it to ~.profile

export PATH=$PATH:/usr/sbin

Now, I have all cups commands available.

Indeed, this was the (obvious :man_facepalming: missing part). Thank you!

I will continue with my configuration and make a small how-to afterwards…

Here, is my IPP printer guide.