Canon「MP610」のスキャナ機能をLinux(CentOS)のsaneで利用する – 1

実家のプリンターはCanonのMP610を使用しています。この家の中にある3台のPCからMP610を使うために、MP610をUSBでLinuxサーバに接続し、CUPSを利用してLinuxをプリントサーバに仕立てています。これに関する情報はたくさん公開されているけど、MP610のスキャナ機能をLinuxから使うことはできるのかな?と。

結論から言うとできました。Linuxのスキャナ関連ツールであるsaneを利用しました。ただ、デフォルトのsaneではMP610を動作させることは出来ず・・・。

いろいろ調べているうちにこのページにたどり着きました。ちょっと前の出来事になるので記憶をたどりながら^^;手順を記載してみます。

MP610を接続したときの、/var/log/messagesのログはこんな感じ。

Nov 4 13:15:01 silvia kernel: usb 1-6: new high speed USB device using
ehci_hcd and address 6
Nov 4 13:15:01 silvia kernel: usb 1-6: configuration #1 chosen from 1 choice
Nov 4 13:15:01 silvia kernel: drivers/usb/class/usblp.c: usblp0: USB
Bidirectional printer dev 6 if 1 alt 0 proto 2 vid 0x04A9 pid 0x1725
Nov 4 13:15:01 silvia kernel: scsi5 : SCSI emulation for USB Mass Storage devices
Nov 4 13:15:06 silvia kernel: Vendor: Canon Model: MP610 series Rev: 1050
Nov 4 13:15:06 silvia kernel: Type: Direct-Access
ANSI SCSI revision: 02
Nov 4 13:15:06 silvia kernel: sd 5:0:0:0: Attached scsi removable disk sdb
Nov 4 13:15:06 silvia kernel: sd 5:0:0:0: Attached scsi generic sg1 type 0
Nov 4 13:16:46 silvia kernel: usb 1-6: USB disconnect, address 6
Nov 4 13:16:46 silvia kernel: drivers/usb/class/usblp.c: usblp0: removed
Nov 4 13:16:48 silvia kernel: usb 1-6: new high speed USB device using ehci_hcd and address 7
Nov 4 13:16:48 silvia kernel: usb 1-6: configuration #1 chosen from 1 choice
Nov 4 13:16:48 silvia kernel: drivers/usb/class/usblp.c: usblp0: USB
Bidirectional printer dev 7 if 1 alt 0 proto 2 vid 0x04A9 pid 0x1725
Nov 4 13:16:48 silvia kernel: scsi6 : SCSI emulation for USB Mass Storage devices
Nov 4 13:16:53 silvia kernel: Vendor: Canon Model: MP610 series
Rev: 1050
Nov 4 13:16:53 silvia kernel: Type: Direct-Access
ANSI SCSI revision: 02
Nov 4 13:16:53 silvia kernel: sd 6:0:0:0: Attached scsi removable disk sdb
Nov 4 13:16:53 silvia kernel: sd 6:0:0:0: Attached scsi generic sg1 type 0

lsusb実行結果は、

[root@silvia ~]# lsusb
Bus 001 Device 007: ID 04a9:1725 Canon, Inc. MP610 ser
Bus 001 Device 001: ID 0000:0000
Bus 001 Device 002: ID 045e:0728 Microsoft Corp.
Bus 003 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 005 Device 001: ID 0000:0000

kernelには認識されている?ってことでしょうかね。

saneのパッケージを確認します。

# rpm -qa | grep -i sane
sane-backends-libs-1.0.18-5.el5
xsane-0.991-5.el5
sane-backends-1.0.18-5.el5
xsane-gimp-0.991-5.el5
libsane-hpaio-1.6.7-4.1.el5.4
sane-frontends-1.0.14-1.2.2

このページにある手順にしたがってsaneのライブラリ?を入替えます↓。

http://sourceforge.net/projects/mp610linux/files/
より、mp150-0.14.0u.tar.bz2を入手します。

# tar xvjf mp150-0.14.0u.tar.bz2
# cd xvjf mp150-0.14.0u
# make

スキャンできるか試してみる。

$ ./scan -x 10 -y 15 -w 51 -h 25 -1 -d 20 -W pixmascan.pnm

これでスキャナがウィーンと動いて、pixmascan.pnmに画像がスキャンされました。

動作が確認できたら、同じディレクトリにあるlibsane-pixma.soで、saneのデフォルトのライブラリを置き換える。

# mv /usr/lib/sane/libsane-pixma.so.1.0.18 /usr/lib/sane/libsane-pixma.so.1.0.18.old
# cp libsane-pixma.so /usr/lib/sane/libsane-pixma.so.1.0.18

続きます。