Vou explicar em duas versões, uma curta e prática e uma mais longa, mostrando todo o processo passado (assim caso não funcione a curta pode-se seguir os meus passos e descobrir onde está o problema)
Caso descubra algo novo, comente o que fez ou um link para o teu post com os passos e afins (assim como o farei no blog do Rafael Sierra)
Versão Texto muito longo, nemli nemlerei:
- Instalar o driver da bematech (http://www.bematech.com.br/equipamentos/produto/mp-4200-th)
- Instalar libusb-0.1.so.4 32 bits, no caso do arch o pacote é libusb-compat, se o sistema for 64bits usar a versão do AUR (https://aur.archlinux.org/packages/lib32-libusb-compat)
- Alterar regra do udev de acordo com a dica do Rafael Sierra (http://blog.rafaelsdm.com/2013/08/configurando-impressora-bematech-mp.html)
- Caso o sistema seja 64bits: instalar libcups.so.2 e libcupsimage.so.2 32bits, no archlinux eles estão disponíveis no pacote lib32-libcups
Versão completa (contando como cheguei à esse caminho, a ordem não está bem de acordo com o que eu segui no dia, e sim na ordem que fica menos caótica):
Instalar cups normalmente
Instalar o driver da bematech (http://www.bematech.com.br/equipamentos/produto/mp-4200-th)
Se deseperar porque o cups não encontra a impressora (tô brincando, mas cheguei perto com o tempo =p)
Colocando o cups em modo debug e verificando o log (grep -i 'bema' /var/log/cups/error_log
) após um lpinfo -v
aparece:
D [11/Aug/2015:10:23:40 -0300] [cups-deviced] Started backend /usr/lib/cups/backend/usbbema (PID 800)
D [11/Aug/2015:10:23:40 -0300] [CGI] usbbema: error while loading shared libraries: libusb-0.1.so.4: cannot open shared object file: No such file or directory
E [11/Aug/2015:10:23:40 -0300] [cups-deviced] PID 800 (usbbema) stopped with status 127!
Ou seja, o driver depende do libusb-0.1.so.4, instalar o libusb-compat, lembrando que como o driver é 32bits o libusb deve ser 32 bits também
No caso do archlinux 64bits usar a versão do AUR (https://aur.archlinux.org/packages/lib32-libusb-compat/)
Após instalar libusb-compat a mensagem do log muda
D [11/Aug/2015:10:44:00 -0300] [cups-deviced] Started backend /usr/lib/cups/backend/usbbema (PID 3150)
D [11/Aug/2015:10:44:00 -0300] [CGI] Usage: usbbemalci (1.3.0) job-id user title copies options [file]
D [11/Aug/2015:10:44:00 -0300] [cups-deviced] PID 3150 (usbbema) exited with no errors.</pre>
Mas o lpinfo -v
continua não encontrando a impressora, isso acontece porque a regra do udev para esta impressora está desatualizada.
Seguindo a dica do Rafael Sierra (http://blog.rafaelsdm.com/2013/08/configurando-impressora-bematech-mp.html) deve-se alterar o arquivo /etc/udev/rules.d/69-bema.rules para o seguinte conteúdo (sim, apagar ou comentar tudo o que estiver lá e colocar isso)
#MP4000TH
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0b1b", ATTR{idProduct}=="0001", MODE="0777"
#MP4200TH
SUBSYSTEM=="usb", ACTION=="add", ATTR{idVendor}=="0b1b", ATTR{idProduct}=="0003", MODE="0777"
Na dica do Rafael fala p/ colocar o cdc_adm
na blacklist do modprobe, nos testes que eu fiz reconheceu a impressora mesmo sem fazer isso (caso continue sem reconhecer, teste colocar o cdc_adm
na blacklist)
Agora o lpinfo -v
reconhece a impressora
direct usbbema:/mp4200th/1
Seguir a instalação normalmente no cups
Caso o sistema seja 64bits irá aparecer “stopped Filter failed” como status da impressão de teste (ou qualquer impressão que tentares), novamente o motivo é o driver ser 32bits…
Seguindo a dica do William Merlotto (http://blog.rafaelsdm.com/2013/08/configurando-impressora-bematech-mp.html?showComment=1434564924587#c5009677282973103855) usei o ldd p/ ver as dependencias do rastertobema
ldd /usr/lib/cups/filter/rastertobema
linux-gate.so.1 (0xf76f5000)
libcups.so.2 => not found
libcupsimage.so.2 => not found
libpthread.so.0 => /usr/lib32/libpthread.so.0 (0xf76be000)
libc.so.6 => /usr/lib32/libc.so.6 (0xf7507000)
libm.so.6 => /usr/lib32/libm.so.6 (0xf74b8000)
/lib/ld-linux.so.2 (0xf76f6000)
Ambas as dependencias são sanadas com o lib32-libcups no caso do archlinux
Após a instalação do pacote testar a reimpressão, aqui funcionou normalmente desta forma
Para editar este post basta clicar aqui. comments powered by Disqus