Como faço para que os drivers de impressora Brother funcionem no Fedora?

1

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).

    
por Skippy le Grand Gourou 23.07.2018 / 17:38

1 resposta

1

Na verdade, a questão não tem nada a ver com a arquitetura. Por "acaso" meu laptop congelou e eu encontrei-me em um "Falha ao carregar Política de SELinux. Congelamento. " situação na inicialização, então com o SELinux desativado sem jeito a impressora funcionou.

Aparentemente, sabe-se que o SELinux impede que os drivers da impressora Brother executem seu trabalho desde o Fedora 21.

A solução é bem simples. Citando o comentário de fechamento do relatório de bug vinculado acima:

There is a boolean for this.

setsebool -P cups_execmem 1
    
por 24.07.2018 / 17:07