GNU/Linux >> Linux の 問題 >  >> Linux

Debian ARM および Brother DCP195C と CUPS

短い: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 に制限されません)


Linux
  1. Linuxでの印刷にCUPSを使用するためのヒントとコツ

  2. Debian8でmod_pagespeedとMemcachedを使用してApacheを高速化する

  3. Apache を使用して Debian 11 に phpMyAdmin をインストールする

  1. LvmとDm-cryptでトリミングしますか?

  2. Ubuntu/Debianでmod_fcgidを使用してApacheとPhpをセットアップします

  3. Debian ARM および Brother DCP195C と CUPS

  1. Debian9でApacheを使用してphpMyAdminをインストールして保護する方法

  2. Ubuntu18.04とDebianにEasyEngineでWordPressをインストールする方法

  3. Debian9でApacheを使用してDrupalをインストールおよび構成する方法