web-dev-qa-db-ja.com

USB-パラレルポートアダプターを介して接続されているプリンターをインストールする方法

私は Sabayon Linux(x86_64)を実行しています。

$ uname -a
Linux qdoe 3.7.0-sabayon #1 SMP Thu Dec 20 07:12:55 UTC 2012 x86_64 Intel(R) Core(TM) i7-3930K CPU @ 3.20GHz GenuineIntel GNU/Linux

HP LaserJet 1100プリンターを持っていますが、これはデフォルトで25ピンパラレルプリンターポート( DB25 )を介して接続されています。現在、このようなポートのない新しいコンピューターを使用していて、プリンターを直接接続できません。

そのため、USB-to-DB25コネクタを購入し、プリンタをインストールしようとしました。

USB-to-DB25-connector

しかし、ここで問題が始まります。 SabayonまたはGentooには、HPプリンター用の hplip と呼ばれるツールボックスがあります。これは非常に使いやすいです。プリンターを接続し、hplipで検出すると、準備が整います行く。

hplip

ここでの問題は、hplipソフトウェアがプリンターを認識しないことです。 USB経由でもパラレルポート(LPT)経由でもない。ただし、ポートは機能するようです。

# lsusb
(...)
Bus 002 Device 006: ID 067b:2305 Prolific Technology, Inc. PL2305 Parallel Port

USBアドレスを手動で入力しようとしました067b:2305 into hplip-成功しませんでしたが、プリンターが認識されません。

他に何ができますか?プリンタでこのポートを機能させるために必要な、その他のポートエミュレーションソフトウェアやドライバはありますか?

3
Afr

http://en.gentoo-wiki.com/wiki/CUPS

USB-> Parallelアダプタを使用している場合は、次のことを行う必要があります。

Add your printer by selecting a different connection type (since usb and parallel will not be listed)
Edit the file /etc/cups/printers.conf
Change the DeviceID line to read: DeviceID = parallel:/dev/usb/lp0
...actually, it looks like the proper line is now: DeviceURI parallel:/dev/usb/lp0 

注:「パラレル:」ではなく「usb:」であることに注意してください。USB部分はUSBドライバーによって処理されます。 CUPSには、パラレルポートとして表示されます。 CUPSはUSB-> Parallelアダプターを探すことを認識していませんが、手動で設定すると機能します

3
Sandro kensan

どうやら、hplipはUSBからパラレルアダプターをサポートしていません。例を参照してください http://www.mail-archive.com/[email protected]/msg02858.html

@Sandro kensanの説明に従ってprinters.confファイルを手動で編集することで、あなたのようなPL2305アダプターを介してCUPSで動作するようにパラレルプリンターを接続できました-今、CUPSの「プリンターテストページ」を表示しているので、 Sandro kensanの方法が機能することを確認します。

あなたのマシンにprinters.confが存在しないということは、CUPSがインストールされていないことを意味していると思います。このファイル全体を最初から作成しないことをお勧めします。それは単一の行よりもはるかに多く構成されています。

HPLIPについて-PL2305を介して接続されている自分のLaserJet 2100を認識させることができませんでした。以下は、時間を節約できることを願って、これまでに試した内容です。

まず、hp-setupのコマンドラインにPL2305のUSBバス:デバイス番号を指定してみました。その結果、hp-setupがUSBデバイスツリー全体を歩き、USBデバイスからデータを読み取ってから再び閉じ、最後に出力します。

error: No device selected/specified or that supports this functionality.

ゼロ以外のステータスで終了します。私はそれがHPプリンターのように臭いがするかどうかを確かめるために各デバイスを盗聴し、どれもそうではないと判断し、あきらめたのではないかと思います。

次に、プリンタをパラレルプリンタとして設定しようとしました。オンラインの他の場所でのコメントは、これはうまくいかないと言いましたが、USBはすでに失敗したので、それを試すことにしました。

このアプローチで発生する最初の問題は、hp-setupがデバイスノードに使用するように指示されるのではなく、スキャンすることです。これを無効にするには、コマンドラインから実行して、引数としてデバイスノードを指定する必要があります。

次の問題は、hp-setupが/ dev/partport [0-9の形式の場合、コマンドライン引数をパラレルポートデバイスノード(たとえば、USBバス:デバイスIDではなく)としてのみ認識することです。 ]。私はそれを打ち負かしました:

Sudo ln -s /dev/usb/lp1 /dev/parport1

カスタムudevルールを使用して永続化することもできますが、これは醜いハックです。

次の問題は、HPLIPツールが(正しく)/ dev/parport1がlpデバイスであると想定し、PPGETMODESなどの並列固有のioctlを発行することです。 PL2305のカーネルドライバーは、これらを理解するのに十分な「並列処理」ではないため、次のようなより不可解で役に立たない診断を出力するプロセスでHPLIPツールがそのデバイスノードをスキップするエラーコードを返します。

Invalid device URI

私の知る限り、HPLIPは次のいずれかを見たいと考えています。

  1. HPブランドのプリンターであるUSBデバイス(プリンターの背後にあるアダプター/ブリッジではありません);または
  2. パラレル固有のioctlをすべてサポートする、パラレルポートを表す「lp」のようなデバイスノード。

PL2305を接続したときに取得される/ dev/usb/lp [0-9]デバイスノードはこれらのいずれでもありません。また、HPLIPはそれ自体を処理できず、柔軟性がないため、私が見ることができない方法を提供します。正しいことをするように強制する。

1

最近開いた バグレポート 、Debianの最近のバージョン用に動作する/etc/cups/printers.confを添付:

# Printer configuration file for CUPS v1.5.3
# Written by cupsd
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<Printer HP_LaserJet_1100>
UUID urn:uuid:e2fd8b09-9e4e-3f96-79ac-f16946700768
Info 
Location 
MakeModel HP LaserJet 1100 - CUPS+Gutenprint v5.2.9
DeviceURI parallel:/dev/usb/lp1
State Idle
StateTime 1454272978
Type 4116
Accepting Yes
Shared No
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>

このファイルを編集/置換/作成する前に、CUPSを停止する必要があることに注意してください。

私のデバイスはlp1だと思います。このPCにも実際のパラレルポートがあるからです(/dev/lp0)。いずれの場合も、次の方法で適切なデバイスを見つけることができます。

# ls /dev/usb/lp*
0
Stemby