レーザーカッターを汎用USB-パラレルアダプター経由で接続しています。レーザーカッターはたまたまHPGLを話しますが、これはプロッターではなくレーザーカッターであるため、カットの順序、速度、方向などが気になるので、通常は自分でHPGLを生成します。
Ubuntuの以前のバージョンでは、HPGLファイルを対応するUSB「lp」デバイスに直接コピーすることでカッターに印刷することができました。例えば:
cp foo.plt /dev/usblp1
さて、Ubuntu 11.10にアップグレードしたところです。/devに「lp」デバイスが見つかりません。ど!
Ubuntuのパラレルポートに生データを送信するための好ましい方法は何ですか?システム設定>印刷> +追加を試しました。デバイスを何らかの「生のプリンター」ドライバーに関連付けて、次のようなコマンドで印刷できることを期待しています
lp -d LaserCutter foo.plt
しかし、USB-パラレルアダプターはリストに表示されないようです。表示されるのは、HP Color LaserJet、2つのUSBシリアルアダプター、「Enter URI」および「Network Printer」です。
一方、/ devには、2つのUSB-to-serialアダプター用の/ dev/ttyUSB0および/ dev/ttyUSB1デバイスがあります。 HPプリンター(アップグレード前は/ dev/usblp0でした)に対応する明白なものは、汎用USBのものを除いては見当たりません。たとえば、Sudo find /dev | grep lp
は出力を生成しません。ただし、HPプリンターで問題なく印刷できるようです。プリンターのセットアップGUIでは、「hp:」で始まるデバイスURIが提供されますが、これはパラレルアダプターにはあまり役立ちません。
CUPS管理者ガイドでは、parallel:/dev/SOMETHING
という形式のデバイスURIをフィードする必要があるように聞こえますが、もちろん/dev/SOMETHING
があれば、直接書き込みを続けます。
USBポートからデバイスを取り外して再接続した後のdmesg
の内容は次のとおりです。
[ 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
そして、これが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)
/dev/usb/lpX
デバイスファイルは、usblp
ドライバーによって提供されます。ただし、Ubuntu 11.10では、このドライバーはブラックリストに載っているようです。 /etc/modprobe.d/blacklist-cups-usblp.conf
ファイルを参照してください。
# cups talks to the raw USB devices, so we need to blacklist usblp to avoid
# grabbing them
blacklist usblp
それでもデバイスに直接データを送信する場合は、modprobe usblp
を使用して一時的にドライバーをロードできます(ブラックリストはドライバーの自動ロードを防止するだけです)。完了したら、modprobe -r usblp
を使用してアンロードできます。