Table of Contents
Installation Printers in Debian
Brother driver installation
Download the “Driver Installation tool” from: https://support.brother.com/g/b/downloadend.aspx?c=nl&lang=nl&prod=mfc9330cdw_us_eu_as&os=128&dlid=dlf006893_000&flang=4&type3=625
The current Brother driver is a 32-bit version and will give error during installation (Package ia32-libs is not available). This package is depreciated and needs to be replaced by alternative.
apt-get install lib32z1 apt-get install cups
Journal / Log Warnings
At boot time the journal (journalctl -b)shows the following errors:
Configuration file /etc/udev/rules.d/60-brother-brscan4-libsane-type1.rules is marked executable. Please remove executable permission> Aug 04 09:35:08 laptop systemd-udevd[288]: /etc/udev/rules.d/60-brother-brscan4-libsane-type1.rules:9 Invalid key 'SYSFS' Aug 04 09:35:08 laptop systemd-udevd[288]: /etc/udev/rules.d/60-brother-libsane-type1-inst.rules:14 Invalid key 'SYSFS'
The cause of this error is that 'SYSFS' is long deprecated and has been removed with udev-173 it should be replaced by ATTR or ATTRS to match any parent device.“
If you look in /etc/udev/rules.d/60-brother-brscan4-libsane-type1.rules you will see that the next rule correctly uses ATTRS! It could be that both were in for a transition period, or it could be that someone just forgot to delete the SYSFS rule.
Bottom line; The SYSFS rule can be safely deleted.
Unwanted Printer discovery
The printer selection dialog of GTK applications is populated by *directly* by Avahi receiving DNS-S, mDNS broadcasts of the remote print server and IPP printers. Whether cups is running or not, this is what happens. In fact, neither CUPS nor cups-browsed is required for the GTK print dialog to function as designed. It does not install print queues. The displayed printers (which are not queues) often do not even print. This is a bug in GTK. A user can do nothing about it.
The following options are available to suppress this unwanted behavior:
1. Disable mDNS protocol on printer
The easiest way to fix the problem is to disable the mDNS protocol in each of the network printers! This will stop printers announcing themselves.
2. Disable Avahi completely
Avahi enables plug-n-play network devices to connect automatically. Since we do not appreciate this we could disable avahi completely:
sudo systemctl stop avahi-daemon.service sudo systemctl disable --now avahi-daemon.service sudo systemctl mask avahi-daemon.service sudo systemctl stop avahi-daemon.socket sudo systemctl disable --now avahi-daemon.socket sudo systemctl mask --now avahi-daemon.socket
In order to re-enable it again:
sudo systemctl unmask avahi-daemon.service sudo systemctl enable --now avahi-daemon.service sudo systemctl start avahi-daemon.service sudo systemctl unmask --now avahi-daemon.socket sudo systemctl enable --now avahi-daemon.socket sudo systemctl start avahi-daemon.socket
4. Limit Avahi deamon
As alternative to completely kill avahi, we can block it from processing mDNS broadcasts.
nano /etc/avahi/avahi-daemon.conf
In the [server] section, adapt the following:
enable-dbus=no or use-ipv4=no use-ipv6=no
Then restart the avahi-daemon service.
5. Stops CUPS browsing
In addition to stopping avahi, we can also stop CUPS from browsing for printers: This can be done in 2 ways:
Modify CUPS browsing configuration
Open /etc/cups/cups-browsed.conf for editing with sudo. Find the line with BrowseProtocols and uncomment it by removing the #:
# BrowseProtocols none Becomes: BrowseProtocols none
Restart the cups-browsed service:
sudo systemctl restart cups-browsed
Stop CUPS browsing Daemon
sudo systemctl stop cups-browsed.service sudo systemctl disable --now cups-browsed.service sudo systemctl mask cups-browsed.service
In order to re-enable it again:
sudo systemctl unmask cups-browsed.service sudo systemctl enable --now cups-browsed.service sudo systemctl start cups-browsed.service
