Eu tenho duas impressoras Brother: uma impressora de etiquetas QL-1050 (conectada via USB) e uma MFC-9330CDW (wifi).
Ambos funcionam bem com um laptop Ubuntu, mas eu luto para fazê-los imprimir no Fedora 28 (na verdade, tive o mesmo problema com o F23, mas nunca consegui consertar o problema).
Eu baixei os drivers oficiais no site da Brother:
mfc9330cdwcupswrapper.i386
mfc9330cdwlpr.i386
ql1050cupswrapper.i386
ql1050lpr.i386
Eu também instalei os seguintes pacotes de 32 bits, já que a Brother não se incomoda em fornecer drivers de 64 bits:
glibc.i686
libgcc.i686
libstdc++.i686
nss-softokn-freebl.i686
Ambas as impressoras são detectadas corretamente pelo CUPS, mas nenhuma será impressa, seja lpr
, evince
, eog
, firefox
... A tarefa desaparece silenciosamente da fila, mas nada é impresso ea impressora nunca reage de fato.
Isso ocorre provavelmente porque o filtro da Brother falha silenciosamente, como sugerido pelos logs do CUPS no nível de depuração:
$ journalctl -u cups
…
juil. 23 17:14:24 Schenker cupsd[17868]: [Job 36] PID 17877 (/usr/lib/cups/filter/pdftops) exited with no errors.
juil. 23 17:14:24 Schenker cupsd[17868]: [Job 36] /usr/lib/cups/filter/brother_lpdwrapper_mfc9330cdw : ligne 133 : 17902 Erreur de segmentation /opt/brother/Printers/mfc9330cdw/cupswrapper/brcupsconfpt1 MFC9330CDW $PPDC $LOGCLEVEL \"$CUPSOPTION\" \"mfc9330cdw\" $BRPRINTERRCFILE >> $LOGFILE
juil. 23 17:14:24 Schenker cupsd[17868]: [Job 36] /opt/brother/Printers/mfc9330cdw/lpd/filtermfc9330cdw : ligne 63 : 17914 Fini eval cat $INPUT_TEMP
juil. 23 17:14:24 Schenker cupsd[17868]: [Job 36] 17915 | $PSCONV $PSCONV_OP
juil. 23 17:14:24 Schenker cupsd[17868]: [Job 36] 17916 Erreur de segmentation | $BRCONV $BRCONV_OP
juil. 23 17:14:24 Schenker cupsd[17868]: [Job 36] PID 17878 (/usr/lib/cups/filter/brother_lpdwrapper_mfc9330cdw) exited with no errors.
…
(Como você provavelmente adivinhou, "Erreur de segmentation" é o francês para "falha de segmentação").
Meu palpite é que o driver está tentando usar bibliotecas de 64 bits em vez das de 32 bits. Como faço para verificar isso e / ou o que eu poderia fazer para forçá-lo a usar bibliotecas de 32 bits?
Edit: Aparentemente eles usam as bibliotecas de 32 bits:
$ ldd /opt/brother/Printers/mfc9330cdw/cupswrapper/brcupsconfpt1
linux-gate.so.1 (0xf7ed4000)
libc.so.6 => /lib/libc.so.6 (0xf7d10000)
/lib/ld-linux.so.2 (0xf7ed6000)
Eu tenho que mencionar que eu li esta FAQ e que brother_lpdwrapper_mfc9330cdw
existe em ambos /usr/lib/cups/filter/
e /usr/lib64/cups/filter/
. O primeiro é realmente usado (na verdade, eu era capaz de alterar o nível de depuração).