
Tengo una cortadora láser conectada mediante un adaptador USB a paralelo genérico. Da la casualidad de que la cortadora láser habla HPGL, pero como se trata de una cortadora láser y no de un trazador, normalmente quiero generar el HPGL yo mismo, ya que me importa el orden, la velocidad y la dirección de los cortes, etc.
En versiones anteriores de Ubuntu, podía imprimir en la cortadora copiando un archivo HPGL directamente al dispositivo USB "lp" correspondiente. Por ejemplo:
cp foo.plt /dev/usblp1
Bueno, acabo de actualizar a Ubuntu 11.10 onírico y ya no puedo encontrar ningún dispositivo "lp" en/dev. ¡Oh!
¿Cuál es la forma preferida de enviar datos sin procesar a un puerto paralelo en Ubuntu? Probé Configuración del sistema > Impresión > + Agregar, con la esperanza de poder asociar mi dispositivo con algún tipo de controlador de "impresora sin formato" e imprimir en él con un comando como
lp -d LaserCutter foo.plt
Pero mi adaptador USB a paralelo no parece aparecer en la lista. Lo que sí veo son mi HP Color LaserJet, dos adaptadores de USB a serie, "Ingresar URI" e "Impresora de red".
Mientras tanto, en /dev, veo los dispositivos /dev/ttyUSB0 y /dev/ttyUSB1 para los 2 adaptadores USB a serie. No veo nada obvio correspondiente a la impresora HP (que era /dev/usblp0 antes de la actualización), excepto elementos USB genéricos. Por ejemplo, sudo find /dev | grep lp
no produce ningún resultado. Sin embargo, parece que puedo imprimir bien con la impresora HP. La GUI de configuración de la impresora le proporciona un URI de dispositivo que comienza con "hp:", lo cual no es de mucha ayuda para el adaptador paralelo.
La guía del administrador de CUPS hace que parezca que podría necesitar proporcionarle un URI de dispositivo del formato parallel:/dev/SOMETHING
, pero, por supuesto, si tuviera uno, /dev/SOMETHING
probablemente seguiría escribiendo en él directamente.
Esto es lo que dmesg
dice después de desconectar y volver a conectar el dispositivo del puerto 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
Y así es como aparece en 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)
Respuesta1
Los /dev/usb/lpX
archivos del dispositivo que busca los proporciona el usblp
controlador. Sin embargo, parece que en Ubuntu 11.10 este controlador ha sido incluido en la lista negra. Ver el /etc/modprobe.d/blacklist-cups-usblp.conf
archivo:
# cups talks to the raw USB devices, so we need to blacklist usblp to avoid
# grabbing them
blacklist usblp
Si aún desea enviar datos directamente al dispositivo, puede cargar temporalmente el controlador modprobe usblp
(la lista negra solo evita que el controlador se cargue automáticamente). Una vez que haya terminado, puede descargarlo con modprobe -r usblp
.