0

In my local home network I have server with Debian 12 stable and CUPS server. Printer Epson L3100 is connected to this server.

Also I have 2 client devices in local network: Android tablet and Laptop with Debian 12.

If I turn on the printer (by button on the printer) and reboot my server sudo reboot - all works good, my clients devices can print any pages with remote printer.

But if I turn on the printer and do not reboot the server, client devices cannot detect the printer.

Half a year ago, when Debian 11 stable was installed on the server, everything worked well and there was no need to reboot the server every time, now something has changed after reinstalling the operating system to Debian 12.

Without rebooting the server, I entered several commands on the server:

> lsusb | grep L3100
Bus 001 Device 010: ID 04b8:1141 Seiko Epson Corp. L3100 Series

> lpstat -s
system default destination: L3100
device for L3100: usb://EPSON/L3100%20Series?serial=xxxxxxxxxxxxxxxxxx&interface=1

> lpstat -a
L3100 accepting requests since Tue 01 Aug 2023 17:14:32

> netstat -an | grep 631
tcp        0      0 0.0.0.0:631             0.0.0.0:*               LISTEN     
tcp6       0      0 :::631                  :::*                    LISTEN     
udp        0      0 0.0.0.0:631             0.0.0.0:*                       

Restart CUPS with command: sudo systemctl restart cups does not help.

In my /etc/cups/cupsd.conf file:

Port 631

# Restrict access to the server...
<Location />
  Order allow,deny
  Allow 192.168.1.*
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Order allow,deny
  Allow 192.168.1.*
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
  Allow 192.168.1.*
</Location>

Without rebooting all server, I can go into the cups interface and print a test page - it works.

What needs to be done to make printing work from client devices on the local network without rebooting the server?

UPD:

When I use command avahi-browse -art | less (thanks to eyoung100) on my client Debian computer, I see output:

= wlp2s0 IPv4 Printer EPSON L3100 @ Beelink-U59             Internet Printer     local
   hostname = [Beelink-U59.local]
   address = [192.168.1.15]
   port = [631]
   txt = ["printer-type=0x100E" "Color=T" "mopria-certified=1.3" "URF=V1.4,CP1,W8,PQ4,OFU0,SRGB24,RS300,FN3" "TLS=1.2" "UUID=a2d2f7b8-428a-3a50-5aef-81591a3b0180" "pdl=application/pdf,application/postscript,image/jpeg,image/png,image/pwg-raster,image/urf" "product=(EPSON L3100 Series)" "priority=0" "note=" "adminurl=https://Beelink-U59.local.:631/printers/L3100" "ty=EPSON L3100 Series , Epson Inkjet Printer Driver (ESC/P-R) for Linux" "rp=printers/L3100" "qtotal=1" "txtvers=1"]
= wlp2s0 IPv4 Printer EPSON L3100 @ Beelink-U59             UNIX Printer         local
   hostname = [Beelink-U59.local]
   address = [192.168.1.15]
   port = [0]
   txt = []
= wlp2s0 IPv4 Printer EPSON L3100 @ Beelink-U59             Secure Internet Printer local
   hostname = [Beelink-U59.local]
   address = [192.168.1.15]
   port = [631]
   txt = ["printer-type=0x100E" "Color=T" "mopria-certified=1.3" "URF=V1.4,CP1,W8,PQ4,OFU0,SRGB24,RS300,FN3" "TLS=1.2" "UUID=a2d2f7b8-428a-3a50-5aef-81591a3b0180" "pdl=application/pdf,application/postscript,image/jpeg,image/png,image/pwg-raster,image/urf" "product=(EPSON L3100 Series)" "priority=0" "note=" "adminurl=https://Beelink-U59.local.:631/printers/L3100" "ty=EPSON L3100 Series , Epson Inkjet Printer Driver (ESC/P-R) for Linux" "rp=printers/L3100" "qtotal=1" "txtvers=1"]

UPD-2:

Eventually I solved the problem. I installed CUPS in a Docker container from olbat-cups, and on the client computer I configured the printer in the system-config-printer utility (sudo apt install system-config-printer), now everything works well without rebooting the server.

The GNOME 3 GUI for configuring printers most likely has software bugs that prevent the printer from configuring normally.

On the server side, there was most likely a compatibility issue between package versions for the CUPS installation, which resulted in a stopped "Filter failed" error.

5
  • Needed Information: Just Checking - Are your other devices in the class C subnet (`192.168.1.xxx')?
    – eyoung100
    Jan 30 at 17:54
  • Yes, I have many devices in my local network with 192.168.1.xxx.
    – Denis
    Jan 30 at 17:57
  • Can each of them ping the IP of the print server? Can the print server ping them? Can you load the CUPS Web Interface from a client? (IP address of print server:631)? I'm making sure all the devices can "see" the server in situations where you haven't rebooted
    – eyoung100
    Jan 30 at 18:04
  • Yes, I can find the printer in GNOME interface of a client device (but with another name, I don't know why), but if I try to print, I get an error in CUPS (in server): stopped "Filter failed". I don't get this error after reboot the server. Also, yes, I can ping the server.
    – Denis
    Jan 30 at 18:25
  • But my Android tablet can't find the printer by IP address (without rebooting the server).
    – Denis
    Jan 30 at 18:33

1 Answer 1

1

Automatic Configuration

On each computer client check that Avahi is installed:

sudo apt list --installed | grep avahi

If avahi isn't installed:

apt install avahi-daemon && apt install avahi-utils

We are now going to see if the printer is indeed discoverable with:

avahi-browse -art | less

If you see an entry containing port 631 the printer has been discovered. Does this entry match the one with the Filter Failed message?

Next Steps

Issue the following command from the client(s): lpinfo --include-schemes dnssd -v. Take note of/Copy the device URL. To add your printer manually read CUPS: Command Line Printer Administration.

To make it a bit easier, you can also re-add or check the printer using the web interface. RedHat Enterprise has this great documentation: Chapter 6. Adding a printer to CUPS by using the web interface. I would delete the printer you added previously and start with an empty interface and add the printer using dnssd as the protocol and the device URL from the lpadmin output above.

If your printer model doesn't support driverless printing, use the Driver Search Page to download the ppd file and other software if desired. I entered L3100 as the model and found the driver and an Epson Companion Software entry. Let me know via comment if the problem you're having still exists after using the Device URL.

Sources

6
  • I've updated my question with output command avahi-browse -art | less. Yes, I see my printer in output with port 631. But I also get an error Filter Failed when try to print.
    – Denis
    Jan 30 at 23:00
  • From that output, it looks like CUPS needs a bit more configuring on the server side. Your printer supports all 3 protocols 1. IPP 2. SNMP, and 3. LPR. We need to choose and configure 1 Protocol and give the Printer a static IP Address from your DHCP Pool. Let's start with setting a static IP Address. I recommend going to your modem/router and turn on mac filtering. Add the mac address of the printer or server itself so that your router always gives the server the same IP address.
    – eyoung100
    Jan 30 at 23:11
  • My server operating system is configured with a static IP (192.168.1.15), so the router always issues this address to the server.
    – Denis
    Jan 30 at 23:37
  • I mean already "router always gives the server the same IP address".
    – Denis
    Jan 30 at 23:48
  • Thank you for the commands and knowledges, they were helpful.
    – Denis
    Feb 1 at 11:13

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .