Envíe datos sin procesar al puerto paralelo USB después de actualizar a 11.10

Envíe datos sin procesar al puerto paralelo USB después de actualizar a 11.10

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 lpno 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/SOMETHINGprobablemente seguiría escribiendo en él directamente.

Esto es lo que dmesgdice 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/lpXarchivos del dispositivo que busca los proporciona el usblpcontrolador. 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.confarchivo:

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

información relacionada