AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / unix / Perguntas / 407432
Accepted
dspeyer
dspeyer
Asked: 2017-11-28 23:32:27 +0800 CST2017-11-28 23:32:27 +0800 CST 2017-11-28 23:32:27 +0800 CST

CUPS relata tudo com sucesso, mas nada é impresso na impressora USB Brother HL-2240 series

  • 772

Estou tentando fazer com que uma impressora Brother HL-2240 conectada por USB funcione no Linux (Ubuntu Xenial com cups 2.1.3-4ubuntu0.3).

Aumentei a depuração para o máximo e o log de erros do cups me disse muito detalhadamente que tudo foi bem-sucedido. O log da página simplesmente lista o trabalho como bem-sucedido.

Gerei o arquivo PCL manualmente, executei /usr/lib/cups/backend/usbsob strace e disse que foi bem-sucedido, sem erros aparentes nos ioctls (muitos USBDEVFS_REAPURBNDELAY=> EAGAIN, mas parece ser algum tipo de spinlock).

Mas nada imprime.

A impressora funciona fisicamente bem. Posso imprimir uma página de teste pressionando o botão "ir" na impressora.

Eu tentei isso com e sem usblp. Eu não tenho android-udev (uma fonte pensou que poderia ser relevante). Eu tentei reinstalar os copos.

Funcionou há séculos. Acho que poderia estar no Precise Pangolin na época. Sim, é muito tempo sem imprimir, e pode ter havido outras coisas relevantes nesse tempo também.

Não tenho certeza se os documentos PCL que estou gerando estão corretos. Existe uma maneira de testar isso? Ou uma fonte de documentos em boas condições para esta impressora?

Mas principalmente, alguém tem alguma ideia de como consertar isso?

(Eu ia postar o error_log e a saída do strace aqui, mas eles são muito longos. Eu os examinei bastante, mas se houver coisas estranhas para procurar, sugira-as.)

Edite para adicionar:

Tenho certeza de que está encontrando a impressora certa por causa de linhas no log como:

D [28/Nov/2017:00:06:11 -0500] [Job 19] envp[23]="DEVICE_URI=usb://Brother/HL-2240%20series?serial=B3N746940"

Esse é o mesmo número de série de dmesg.

Além disso, quando invoco /usb diretamente:

export DEVICE_URI=usb://Brother/HL-2240%20series?serial=B3N746940
/usr/lib/cups/backend/usb 25 dspeyer hello 1 "" < /etc/hosts

eu recebo

DEBUG: Loading USB quirks from "/usr/share/cups/usb".
DEBUG: Loaded 131 quirks.
DEBUG: Printing on printer with URI: usb://Brother/HL-2240%20series?serial=B3N746940
DEBUG: libusb_get_device_list=13
STATE: +connecting-to-device
STATE: -connecting-to-device
DEBUG2: Printer found with device ID: MFG:Brother;CMD:PJL,HBP;MDL:HL-2240 series;CLS:PRINTER;CID:Brother Laser Type1; Device URI: usb://Brother/HL-2240%20series?serial=B3N746940
DEBUG: Device protocol: 2
INFO: Sending data to printer.
DEBUG: Read 195 bytes of print data...
DEBUG: Wrote 195 bytes of print data...
DEBUG: Sent 195 bytes...
DEBUG: Waiting for read thread to exit...

(E coisas semelhantes se eu usar um arquivo PCL em vez de um arquivo de texto, mas mais longo.)

Se eu usar qualquer outro DEVICE_URI, recebo mensagens de erro.

E um strace no comando usb contém:

ioctl(10, USBDEVFS_GET_CAPABILITIES, 0xe4c198) = 0
write(2, "STATE: +connecting-to-device\n", 29STATE: +connecting-to-device
) = 29
ioctl(10, USBDEVFS_GETDRIVER, 0xbf941308) = -1 ENODATA (No data available)
timerfd_settime(9, TFD_TIMER_ABSTIME, {it_interval={0, 0}, it_value={3607344, 967184000}}, NULL) = 0
ioctl(10, USBDEVFS_SUBMITURB, 0xe65ea0) = 0

O que indica claramente que os dados estão passando por USB.

cups
  • 3 3 respostas
  • 5180 Views

3 respostas

  • Voted
  1. Best Answer
    Shivaram Lingamneni
    2017-12-01T03:44:04+08:002017-12-01T03:44:04+08:00

    Eu tive esse problema com um irmão HL-L2320D. Eu estava fazendo algumas coisas incorretamente. Esta postagem ajudou:

    Re: Recomendações de marcas de impressoras | lists.debian.org

    1. Eu estava sendo muito esperto e tentando instalar a impressora diretamente pela interface web do CUPS, usando o .ppdarquivo e o filtro CUPS. O filtro CUPS realmente invoca o filtro LPD, então ambos são necessários. Acabei apenas instalando os pacotes Debian fornecidos pela Brother ( hll2320dlpr-3.2.0-1.i386.debe hll2320dcupswrapper-3.2.0-1.i386.deb).
    2. Eu precisava de suporte para binários de 32 bits. A sugestão aqui do pacote Ubuntu gcc-multilibfuncionou para mim.

    Quanto ao que causa o modo de falha silenciosa, acho que são várias partes do pipeline de filtro falhando sem relatar corretamente a falha ao CUPS; a impressora recebe um arquivo vazio ou inválido e o CUPS obtém sucesso. Os filtros de nível superior são scripts Perl que chamam outros scripts e binários com a função do sistema ou backticks, sem verificar os códigos de saída.

    • 5
  2. dspeyer
    2017-12-13T00:00:42+08:002017-12-13T00:00:42+08:00

    Expandindo a resposta de Shivaram Lingamneni...

    A instalação dos drivers do site da Brother funcionou. Tanto quanto eu posso rastrear a partir dos logs, se você enviar dados para uma impressora Brother em algo diferente de PCL perfeito, a impressora simplesmente não fará nada. Muito irritante.

    • 0
  3. scrutari
    2020-07-06T05:56:05+08:002020-07-06T05:56:05+08:00

    Apenas para esclarecer a resposta de @Shivaram Lingamneni acima: como os drivers Linux para impressoras Brother são i386, eles exigem que as bibliotecas de 32 bits sejam executadas. No caso do CentOS basta instalar glibc.i686.

    • 0

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Matriz JSON para bash variáveis ​​usando jq

    • 4 respostas
  • Marko Smith

    A data pode formatar a hora atual para o fuso horário GMT? [duplicado]

    • 2 respostas
  • Marko Smith

    bash + lê variáveis ​​e valores do arquivo pelo script bash

    • 4 respostas
  • Marko Smith

    Como posso copiar um diretório e renomeá-lo no mesmo comando?

    • 4 respostas
  • Marko Smith

    conexão ssh. Conexão X11 rejeitada devido a autenticação incorreta

    • 3 respostas
  • Marko Smith

    Como baixar o pacote não instalá-lo com o comando apt-get?

    • 7 respostas
  • Marko Smith

    comando systemctl não funciona no RHEL 6

    • 3 respostas
  • Marko Smith

    rsync porta 22 e 873 uso

    • 2 respostas
  • Marko Smith

    snap /dev/loop em 100% de utilização -- sem espaço livre

    • 1 respostas
  • Marko Smith

    chave de impressão jq e valor para todos no subobjeto

    • 2 respostas
  • Martin Hope
    EHerman Matriz JSON para bash variáveis ​​usando jq 2017-12-31 14:50:58 +0800 CST
  • Martin Hope
    Christos Baziotis Substitua a string em um arquivo de texto enorme (70 GB), uma linha 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Drux A data pode formatar a hora atual para o fuso horário GMT? [duplicado] 2017-12-26 11:35:07 +0800 CST
  • Martin Hope
    AllisonC Como posso copiar um diretório e renomeá-lo no mesmo comando? 2017-12-22 05:28:06 +0800 CST
  • Martin Hope
    Steve Como as permissões de arquivo funcionam para o usuário "root"? 2017-12-22 02:46:01 +0800 CST
  • Martin Hope
    Bagas Sanjaya Por que o Linux usa LF como caractere de nova linha? 2017-12-20 05:48:21 +0800 CST
  • Martin Hope
    Cbhihe Altere o editor padrão para vim para _ sudo systemctl edit [unit-file] _ 2017-12-03 10:11:38 +0800 CST
  • Martin Hope
    showkey Como baixar o pacote não instalá-lo com o comando apt-get? 2017-12-03 02:15:02 +0800 CST
  • Martin Hope
    youxiao Por que os diretórios /home, /usr, /var, etc. têm o mesmo número de inode (2)? 2017-12-02 05:33:41 +0800 CST
  • Martin Hope
    user223600 gpg — o comando list-keys gera uid [ desconhecido ] depois de importar a chave privada para uma instalação limpa 2017-11-26 18:26:02 +0800 CST

Hot tag

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve