短い:Linux ドライバーから ppd ファイルを抽出する必要があります
長い:
最初
- Brothers Driver の Web サイトに移動し、DCP195 を検索してください:http://support.brother.com
- Linux deb バージョンの「CUPSwrapper プリンター ドライバー (deb パッケージ)」をダウンロード
- 圧縮ツールで deb ファイルを開き、「dcp195ccupswrapper-1.1.3-1.i386/opt/brother/Printers/dcp195c/cupswrapper」までのパスをたどります
- 「brother_dcp195c_printer_en.ppd」ファイルを抽出します
秒
https://192.168.1.2:631/admin
経由でカップの Web インターフェイスを開きます [IP を pi に置き換えます]- [プリンタの追加] をクリックします。[Brother DCP-195C (Brother DCP-195C)] を選択し、[続行] をクリックします。
- 必要に応じて今後の情報を編集し、[共有プリンター] をオンにして [続行] をクリックします
- 「または PPD ファイルを提供する」で、抽出された「brother_dcp195c_printer_en.ppd」ファイルを参照してアップロードします。次の手順に従います...完了
その後、プリンターは使用可能になりましたが、「ファイル "/usr/lib/cups/filter/brlpdwrapperdcp195c" は使用できません」というエラーが表示されました。Ubuntu ラップトップにドライバーをインストールしたため、/ のラップトップからファイルをコピーするだけで済みました。 usr/lib/cups/filter/ を pi に
この後、私のラップトップはプリンターを見つけることができました
Raspberry Pi の命令セットが異なっていても、エミュレーションによって i386 ドライバーを Raspberry Pi で動作させることができます。非常に遅く、印刷物が届くまで数分かかりますが、機能します。
このフォーラムの投稿でヒントを見つけました:https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=15526&start=25#p708038
ステップ 1:ブラザーのドキュメントの指示に従ってドライバーをインストールします
/opt/brother/Printers/dcp195c/lpd
のようなディレクトリが必要です フィルタ バイナリ brdcp195cfilter
を使用 .このバイナリは filterdcp195c
によって呼び出されます 同じディレクトリのすぐ隣にあるシェルスクリプト。
彼らは今インストールスクリプトを提供していると思いますが、私はそれなしでそれをしました。プリインストールが必要なものはどこかに説明があります。
ステップ 2:i386 エミュレーションを機能させる
これは https://wiki.debian.org/QemuUserEmulation
の手順に従っています
ステップ 2 の最後で、通常のバイナリと同じように i386 バイナリを実行できるはずです。 ps ax
で 、表示されます
Qemu をインストール
パッケージ qemu
をインストールします 、 binfmt-support
そして qemu-user-static
.
update-binfmts --display
を実行 サポートされているバイナリ形式を確認するには、Raspbian と Debian で自動的に有効にする必要があります。
x86 サポート ライブラリのインストール
Raspbian では、次のような行を /etc/apt/sources.list
に追加します :
## Debian i386
deb [arch=i386] http://http.debian.net/debian stable main contrib non-free
別の Debian リポジトリでも構いません。
Raspbian リポジトリには x86 バイナリがないため、[arch=armhf]
を追加します 行を deb
で始まる既存の行に . deb-src
で始まる行 そのまま保持できます。
i386 パッケージを含むマルチアーキテクチャ システムが必要であることを Raspbian に伝え、i386 libc を入手します。 update
の場合 この手順を実行するには、パッケージ管理のために Debian GPG キーをインポートして信頼する必要があります。
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install libc6:i386
この時点で、brdcp195cfilter
を実行できるはずです。 ドライバーに付属するバイナリ:
$ ./brdcp195cfilter
ERROR: ld.so: object '/usr/lib/arm-linux-gnueabihf/libarmmem.so' from /etc/ld.so.preload cannot be preloaded (cannot open shared object file): ignored.
Error: invalid option !!
この出力が表示されれば、うまくいきました。 Error: invalid option !!
行は brdcp195cfilter
です 引数を渡すべきだったと不平を言っています。
オプション:ld.so
を削除します エラー メッセージ
Raspbian は /etc/ld.so.preload
を使用します libarmmem
をプリロードする ライブラリをすべてのプロセスに追加します。このライブラリは、一部の高価なメモリ ルーチンを ARM アセンブリで記述されたより高速なルーチンに置き換えますが、Raspbian を実行するために厳密に必要というわけではありません。
警告を無視しても安全ですが、 /etc/ld.so.preload
からその行を削除またはコメントアウトしても安全です .無効にしないと、CUPS エラー ログに警告が表示されます。
ステップ 3:CUPS でこれを機能させる
Brother Web サイトの指示に従って、CUPS をインストールする必要があります。
不安定な USB 接続
私のラズベリーでは、dmesg
ログは、ある時点でこれらの行をすばやく切り替えていました:
[58981.586842] usblp0: removed
[59222.794260] usblp 1-1.3:1.0: usblp0: USB Bidirectional printer dev 8 if 0 alt 0 proto 2 vid 0x04F9 pid 0x0222
私にとってそれを修正したのは、 localhost:631
に行くことでした (CUPS Web インターフェイス) を使用し、「プリンター」セクションでプリンターを変更して、usb://dev/usb/lp0
ではなく CUPS 認識の USB デバイスを使用するようにします。
プリンタが通常の速度でデータを受信できるようにする
brdcp195cfilter
巨大な入力ビットマップを受け取り、それを後でプリンターデバイスにパイプされるものに変換する印刷プロセスのステップです。ページ上部の単純な「Hello world」メッセージの入力サイズを測定したところ、最大 90MB でした。
Raspberry でのエミュレーションは、プリンターにデータを供給するのに十分な速さではありません。印刷は機能しますが、データを待機している間、プリンター モーターがアクティブになっているため、異常なノイズが聞こえました。
これを修正するには、ユーティリティ sponge
をインストールしてください moreutils
から filterdcp195c
をパッケージ化して編集します $BRCONV $BRCONV_OP
の出力が (別名 brdcp195cfilter
) は sponge
を介してパイプされます .ファイルの末尾にある「PostScript」、「PDF」、および「*」のケース内に、... | $BRCONV $BRCONV_OP | sponge
で終わる 3 行が必要です。 .
これが行うことは、実行時間の長いコンバーター プロセスからのすべての出力をむさぼり食い、コンバーターが完了したときにのみ一度にプリンターに送信することです。そうすれば、印刷が開始されるまでに時間がかかりますが、プリンターは通常のペースでデータを受信しています。
(sponge
バッファリングしたデータを一時ディレクトリに保存するため、Raspberry Pi の RAM に制限されません)