NetBSDからCanon LBP3100に印刷する

この記事は、NetBSD Advent Calendar 2024の2日目の記事です。

Canon LBP3100というプリンターについて

Canon LBP3100というプリンターは。Canonの安価なwinprinterです。 私は2015年3月に5,580円で購入しました。 トナーカートリッジはしばらく前になくなってしまいましたが、2,280円でサードパーティーのリサイクルトナーカートリッジを買ったので、まだしばらく使えればと思っています。

LBP3100はwinprinterだと書きましたが、実際にはCAPT (Canon Advanced Printing Technology)というページ記述言語を受け付けてくれます。 ただ、単純にCAPTフォーマットのデータをLBP3100に送ったら印刷されるという訳ではないようです。

CUPSで印刷する準備をする

CUPSは、今はPrinter ApplicationというIPSを受け付けて独自のプリンターへ出力する仕組みを推進しているようですが、今回はこれまで通りのフィルターコマンドを 使ってみます。 今回は、CAPTをリバースエンジニアリングして作られたcaptdriver 0.1.4.2-GxBというのを 使ってみることにします。

captdriverをビルドする

まず以下のようにして、https://github.com/mounaiban/captdriver/tree/0.1.4.2-GxB からソースコードをcloneします。

$ git clone git@github.com:mounaiban/captdriver.git
$ cd captdriver
$ git checkout 0.1.4.2-GxB

その上で、以下のように実行すれば、ビルドできます。

$ autoreconf -fi
$ ./configure
$ make

こうすると、src/rastertocaptというバイナリーファイルができます。

フィルタープログラムをインストールする

CUPSで印刷するには、フィルタープログラムとppdファイルが必要です。以下のようにインストールすれば良いでしょう。

# cp src/rastertocapt /usr/pkg/libexec/cups/filter
# mkdir /usr/pkg/share/cups/model

ppdファイルは0.4.2-GxBブランチには存在しないので、以下のようにブランチを切り替えてppdファイルを入手します。

$ git checkout master
# cp ppd/CanonLBP-2900-3000.ppd ppd/CanonLBP-3010-3018-3050.ppd /usr/pkg/share/cups/model

LBP3100で使うのはCanonLBP-3010-3018-3050.ppdの方です。

印刷する準備をする

次に、必要なパッケージをインストールしておきます。 以下のようにすれば良いでしょう。

# cd /usr/pkgsrc/print/cups-filters
# make install

cups-filtersは必須です。これがないと、captdriverはエラーになり利用することができません。

他にもCUPSを利用して印刷するプログラムが必要です。今回はpkgsrc/www/firefox-133.0を使うことにします。 (firefox-133.0はまだpkgsrc treeにcommitされていません。)

CUPS daemonを起動させ、プリンターを追加する

LBP3100はUSB接続しかないプリンターです。 Canon LBP3100をつなぐと、ulpt(4)として認識されます。 ですが、ugen(4)として認識されないとうまくプリンターとして認識されないようです。 /boot.cfgに以下のように追記して、再起動後にultp(4)を無効化するように設定します。

$ cat /boot.cfg
userconf=disable ulpt*

続いて、cupsdをNetBSD起動時に起動させるようにします。

$ cat /etc/rc.conf
(snip)
cupsd=YES
(snip>

ここまで設定できたら、NetBSDを再起動させます。

プリンターを追加する

ウェブブラウザーでhttp://localhost:631/を開きます。Administrationを選択します。ログインが求められたらNetBSDへのログイン情報を入力します。

LBP3100とNetBSDマシンをUSB A to Bケーブルで接続し、LBP3100の電源を入れた上で、 Add Printerボタンを押します。

Local PrinterのCanon LBP3100/LBP3108/LBP3150 (Canon LBP3100/LBP3108/LBP3150)を選択します。

私はプリンター名は単に「LBP3100」と変更しました。

インストールしてあるPPDファイルを選択するため、MakeではCanon Incを選択します。

PPDは「Canon Inc LBP3010/LBP3018/LBP3050 r2c, 0.1.4 (en, en)」を選択します。

無事、LBP3100をプリンターとして追加することができました。

印刷してみる

例えばFirefoxだと、下図のように印刷することができます。画質も悪くなさそうです。

0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。

plgarc/wip/llama.cppでpkgsrcのBLASサポートを探る

この記事は、 NetBSD Advent Calendar 2024 の13日目の記事です。 llama.cppを使ってみる 以前に、 NetBSD/amd64でllama.cppを使ってみる という記事で llama.cpp を使ってみていました。 あれか...