
Eu tenho um cortador a laser conectado através de um adaptador USB genérico para paralelo. O cortador a laser fala HPGL, por acaso, mas como se trata de um cortador a laser e não de uma plotadora, geralmente quero gerar o HPGL sozinho, pois me preocupo com a ordem, velocidade e direção dos cortes e assim por diante.
Nas versões anteriores do Ubuntu, eu conseguia imprimir na cortadora copiando um arquivo HPGL diretamente para o dispositivo USB “lp” correspondente. Por exemplo:
cp foo.plt /dev/usblp1
Bem, acabei de atualizar para o Ubuntu 11.10 onírico e não consigo mais encontrar nenhum dispositivo "lp" em/dev. Ah!
Qual é a forma preferida de enviar dados brutos para uma porta paralela no Ubuntu? Eu tentei Configurações do sistema> Impressão> + Adicionar, esperando poder associar meu dispositivo a algum tipo de driver de "impressora bruta" e imprimir nele com um comando como
lp -d LaserCutter foo.plt
Mas meu adaptador USB para paralelo não parece aparecer na lista. O que vejo são minha HP Color LaserJet, dois adaptadores USB para serial, "Enter URI" e "Network Printer".
Enquanto isso, em/dev, vejo dispositivos/dev/ttyUSB0 e/dev/ttyUSB1 para os 2 adaptadores USB para serial. Não vejo nada óbvio correspondente à impressora HP (que era /dev/usblp0 antes da atualização), exceto coisas USB genéricas. Por exemplo, sudo find /dev | grep lp
não produz saída. Parece que consigo imprimir perfeitamente na impressora HP. A GUI de configuração da impressora fornece um URI de dispositivo começando com "hp:", o que não ajuda muito para o adaptador paralelo.
O guia do administrador do CUPS faz parecer que talvez eu precise alimentá-lo com um URI de dispositivo no formato parallel:/dev/SOMETHING
, mas é claro que se eu tivesse um, /dev/SOMETHING
provavelmente continuaria escrevendo diretamente nele.
Aqui está o que dmesg
diz depois de desconectar e reconectar o dispositivo da porta USB:
[ 924.722906] usb 1-1.1.4: USB disconnect, device number 7
[ 959.993002] usb 1-1.1.4: new full speed USB device number 8 using ehci_hcd
E é assim que aparece em lsusb -v:
Bus 001 Device 008: ID 1a86:7584 QinHeng Electronics CH340S
Device Descriptor:
bLength 18
bDescriptorType 1
bcdUSB 1.10
bDeviceClass 0 (Defined at Interface level)
bDeviceSubClass 0
bDeviceProtocol 0
bMaxPacketSize0 8
idVendor 0x1a86 QinHeng Electronics
idProduct 0x7584 CH340S
bcdDevice 2.52
iManufacturer 0
iProduct 2 USB2.0-Print
iSerial 0
bNumConfigurations 1
Configuration Descriptor:
bLength 9
bDescriptorType 2
wTotalLength 32
bNumInterfaces 1
bConfigurationValue 1
iConfiguration 0
bmAttributes 0x80
(Bus Powered)
MaxPower 96mA
Interface Descriptor:
bLength 9
bDescriptorType 4
bInterfaceNumber 0
bAlternateSetting 0
bNumEndpoints 2
bInterfaceClass 7 Printer
bInterfaceSubClass 1 Printer
bInterfaceProtocol 2 Bidirectional
iInterface 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x82 EP 2 IN
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 0
Endpoint Descriptor:
bLength 7
bDescriptorType 5
bEndpointAddress 0x02 EP 2 OUT
bmAttributes 2
Transfer Type Bulk
Synch Type None
Usage Type Data
wMaxPacketSize 0x0020 1x 32 bytes
bInterval 0
Device Status: 0x0000
(Bus Powered)
Responder1
Os /dev/usb/lpX
arquivos do dispositivo que você procura são fornecidos pelo usblp
driver. Parece no Ubuntu 11.10 que este driver foi colocado na lista negra. Veja o /etc/modprobe.d/blacklist-cups-usblp.conf
arquivo:
# cups talks to the raw USB devices, so we need to blacklist usblp to avoid
# grabbing them
blacklist usblp
Se você ainda quiser enviar dados diretamente para o dispositivo, poderá carregar temporariamente o driver com modprobe usblp
(a lista negra apenas impede que o driver seja carregado automaticamente). Quando terminar, você pode descarregá-lo com modprobe -r usblp
.