渡辺一寛です。

スキャナ・プリンタ複合機の Canon PIXUS MP810 を 9-CURRENT +
linux_base-f10 で動作確認してみたので報告します。先に書いてしまうと、
プリンタ/スキャナ/メモリカードスロットともに動作します。


 1. プリンタ

キヤノンからは MP810 に正式に対応したプリントフィルタが提供されていま
せんが、PIXUS MP610 用のフィルタで動作しました。ただし厳密にはプリンタ
ヘッドのノズル数が異なるので、何らかの不具合が出る可能性はあるかもしれ
ません。

導入手順ですが、これはパッチも含めて以前

 Canon PIXUS iP3100 を CUPS 経由で使う
 http://tabochan.f2g.net/pixus.html

というページで公開されていたものをもとにしています。現在このページはな
くなってますが、作者様には感謝です。


 1.1. 準備

まず /etc/make.conf に

 OVERRIDE_LINUX_BASE_PORT=f10
 OVERRIDE_LINUX_NONBASE_PORTS=f10

と書き、さらに /etc/make.conf に

 linux_enable="YES"

と書いて再起動した上で、以下のソフトウェアを ports からインストール
します (依存関係で他にも色々インストールされますが省略)。

print/cups
japanese/font-std
emulators/linux_base-f10
graphics/linux-f10-jpeg
graphics/linux-f10-tiff
graphics/linux-f10-png

また CUPS 用フィルタのコンパイルと実行のために、以下のソフトウェアも
ports からインストールします。

devel/autotools
shells/bash

そして /usr/ports/print/cups-base/pkg-message に従って 
/etc/devfs.rules と /etc/rc.conf を設定し、
さらに /etc/rc.conf に以下の行を追加しておきます。

 cupsd_enable="YES"

また /etc/fstab に以下の行を追加した上で、再起動します。

 linprocfs /compat/linux/proc linprocfs rw 0 0

今回の印刷フィルタに関してはこの記述なしでも動作しますが、Linux 用ソフ
トウェアによってはこれがないと動かないものがあるとのことなので、書いて
おくのが良いと思います。

linux_base-f10 の導入に関しては、後藤大地さんの記事を参考にさせていた
だきました。

 http://gihyo.jp/admin/clip/01/fdt/200908/17


 1.2. プリントフィルタのインストールと動作テスト
 1.3. CUPS 用フィルタのインストールとテスト

 [FreeBSD-users-jp 91344] Re: 動作報告 Canon PIXUS MP810 ( スキャナ・プリンタ複合機)
 http://home.jp.freebsd.org/cgi-bin/showmail/FreeBSD-users-jp/91344

と同じなので、省略します。


 2. メモリカードスロット

umass ドライバでアタッチされます。SD メモリカードを挿してみましたが、
読み書きも特に問題なく行えました。


 3. スキャナ

SANE (ports/graphics/sane, http://www.sane-project.org/) の開発版を使
用しますが、スキャナが動作したのは FreeBSD 9-CURRENT のみでした。開発
版は daily snapshot を取得するのが簡単です。私がテストに使用したものは 
sane-backends-git20091204.tar.gz です。

次のようにコンパイルします。なお最低限、ports の sane-backends に含ま
れるパッチファイルの patch-sanei_sanei_usb.c を当てないとコンパイルで
きないので注意してください。

$ tar zxf /PATH/TO/sane-backends-git20091204.tar.gz
$ cd sane-backends-git20091204
$ patch < /usr/ports/graphics/sane-backends/files/patch-sanei_sanei_usb.c
$ CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib" \
  BACKENDS="pixma" ./configure --prefix=/usr/local --mandir=/usr/local/man
$ gmake
$ su
Password:
# gmake install

これで例えば root 権限で

# scanimage -x 20 -y 20 --format=tiff --resolution 600 > image.tiff

とすれば、20mm 四方を 600dpi でカラースキャンします。

スキャンはモノクロ/カラーで 75dpi から 2400dpi まで可能です。本来なら 
4800dpi も可能ですが、画像が乱れるので今のところ実用ではありません。
レポートと画像は sane-devel メーリングリストに提出 (ずいぶん前ですが) 
しているので、そのうち修正されるかも知れません (GIMP の画像修正プラグ
インを書いてしまった方もいるようです)。

なお 7.2-RELEASE + libusb という組合せでは SANE の開発版でも動作しませ
んでした。

また 9-CURRENT + ports のリリース版の場合、コマンドが Segmentation
fault で落ちます。実はこれに対応するパッチがあり [1]、開発版はすでに修
正済みです。ひょっとするとこのパッチを当てればリリース版でも動作するか
も知れません。

8.0-RELEASE では 9-CURRENT と同様に動作すると思いますが未確認です。

[1] 
http://lists.freebsd.org/pipermail/freebsd-current/2009-September/011528.html

---
WATANABE Kazuhiro (cqg00...@nifty.ne.jp)

メールによる返信