Configurer une imprimante laser Brother MFC-L2750DW sous OpenBSD

Testé sous OpenBSD 7.0.

Méthode 1 : Pilote officiel Brother

Cette méthode n’a pas fonctionné pour moi car le service colord n’est pas supporté sur OpenBSD. Le pilote CUPS fourni par Brother dépend de ce service. Je me suis donc rabattu à la méthode 2 plus bas.

Télécharger le pilote CUPS du site de Brother. Choisir le format .rpm.

Extraire le pilote de l’archive RPM

# pkg_add rpm2cpio
$ rpm2cpio ../mfcl2750dwpdrv-4.0.0-1.i386.rpm | cpio -i -d

Copier le driver dans CUPS via l’interface web

$ ./opt/brother/Printers/MFCL2750DW/cupswrapper/brother-MFCL2750DW-cups-en.ppd

On rencontre l’erreur suivante dans /var/log/cups/error_log en ajoutant l’imprimante dans l’interface CUPS web.

E [03/Apr/2022:09:55:04 -0400] Brother_MFC-L2750DW_series: File \"/usr/local/libexec/cups/filter/brother_lpdwrapper_MFCL2750DW\" not available: No such file or directory

Copier le script lpdwrapper du pilot dans les filtres de CUPS.

# cp opt/brother/Printers/MFCL2750DW/cupswrapper/lpdwrapper /usr/local/libexec/cups/filter/brother_lpdwrapper_MFCL2750DW

Configuration de l’imprimante réseau

Si on obtient l’erreur suivante dans l’interface admin de CUPS : Unable to locate printer

Changer la connection de l’imprimante en spécifiant l’adresse IP:

Connexion : lpd://192.168.1.120/queue
ipp://192.168.1.120/ipp/port1

Activer avahi et messagebus

Lire les instructions avahi:

$ less /usr/local/share/doc/pkg-readmes/avahi
/etc/rc.conf.local(8):
    multicast=YES

Activer les services:

# rcctl enable messagebus avahi_daemon
# rcctl order messagebus avahi_daemon

Il se peut que l’imprimante le soit pas encore détectée. Unable to locate printer "BRWCC6B1E076A35.local".

Il faut ajouter des règles dans /etc/pf.conf:

pass proto udp from any to 192.168.1.120 port mdns allow-opts
pass inet6 proto udp from any to ff02::fb port mdns allow-opts

pass proto udp from any to 192.168.1.120 port ssdp allow-opts
pass inet6 proto udp from any to { ff02::c, ff05::c, ff08::c } port ssdp allow-opts

Recharger la table de règles:

# pfctl -f /etc/pf.conf

En fin l’adresse est détectée

lpd://BRWCC6B1E076A35/BINARY_P1
en cours d'impression depuis
Sun Apr 3 14:03:16 2022 
"Unable to locate printer "BRWCC6B1E076A35"."

Les impessions ne sortaient pas encore et j’ai vu cette ligne dans /var/log/cups/error_log

W [03/Apr/2022:14:03:11 -0400] CreateDevice failed: org.freedesktop.DBus.Error.ServiceUnknown:The name org.freedesktop.ColorManager was not provided by any .service files

Pour poursuivre il faudrait installer le service colord qui n’est pas supporté par OpenBSD.

Méthode 2 : Utiliser un pilote générique de CUPS+Gutenprint

Utiliser le protocole IPP pour la connection à l’imprimante: ipp://192.168.1.120/ipp/port1

En utilisant le pilote Gutenprint pour une autre imprimante laser noir et blanc, j’arrive finalement à imprimer.

Pilote : Brother MFC-8300 - CUPS+Gutenprint v5.3.4 (grayscale)

Liens utiles