Epsonのスキャナ(DS-310)をLinux(Ubuntu)で使う

はじめに

TL;DR

Epson公式でLinux向けのドライバーが提供されているので、それとsaneをインストールすれば使える

経緯

マニュアルなどの書類を手軽にデータ化して捨てられるよう、スキャナを導入することにした。

問題は筆者がLinuxをメインで使っていること。Linuxでスキャナを使うにはSANEというライブラリを使うのだが、例によってハードウェアのサポート状況はまちまち。SANEのサポート機器のリスト確認しながら買ったのだが、案の定簡単には動かなかった。

買ったもの

A4コンパクト ドキュメントスキャナー DS-310(公式HP/Amazon広告

購入の決め手は以下

PC情報

$ uname -a
Linux unau 5.19.0-26-generic #27-Ubuntu SMP PREEMPT_DYNAMIC Wed Nov 23 20:44:15 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
$ $ scanimage --version
scanimage (sane-backends) 1.1.1-debian; backend version 1.1.1

なお、手順1まではRaspberry pi Debianでも検証したが、saneだけでは認識が安定しないのは同様だった。

手順1: Saneのインストール

sudo apt install sane sane-utils

まずは普通にsaneをインストール

scanimage -Lで認識しているデバイスを確認できる。

$ scanimage -L
device `epsonds:libusb:004:004' is a Epson DS-310 ESC/I-2

この時点では無事認識している。

スキャナのフロントエンドはGnome標準のDocument Scannerがインストールされていたため、それで試しにスキャンをしたところ動いた。

無事動いて一安心、と思いきや、まともに動いたのは最初だけ。気づくとスキャナが認識されなくなっていた。

再度scanimage -Lを実行すると、見つからなくなっている。

$ scanimage -L

No scanners were identified. If you were expecting something different,
check that the scanner is plugged in, turned on and detected by the
sane-find-scanner tool (if appropriate). Please read the documentation
which came with this software (README, FAQ, manpages).

sane-find-scannerという別のコマンドをみると、USBスキャナとして認識自体はできている模様。

$ sudo sane-find-scanner 
# 略
found possible USB scanner (vendor=0x04b8, product=0x0159 [DS-310]) at libusb:004:005
# 略

scanimage -Lは対応するドライバがないと見つけられないらしいので、epsondsのサポートが不完全で安定しない模様。

USBの抜き差しや不要なドライバのコメントアウトなどを試したが、何度やっても認識するのはUSBをつなぎなおした直後のみ。スキャン中にデバイスが認識できなくなるためか、Document Scannerが落ちてまともにスキャンができない。最初の一回目が成功したのは奇跡だったらしい。

ArchWikiによるとEpsonには他にも2つ、iscan/epkowa imagescan/utsushiというパッケージがsaneのバックエンドとして使えるとのこと。 とはいえUbuntuには該当のパッケージはなく、そもそもDS-310はどちらのサポート対象にも記載されていない。公式のドライバーも、公式のダウンロードページを見る限りはLinuxはサポートしていない。さてどうしたものか。

公式のドライバー

とりあえずArchwikiにあったパッケージの代替がDebian系に無いか探してみた2ら、DebianのWikiのScannerのページ(英語)に普通に情報が載っていた。

上記の公式のダウンロードページの他にもエプソン公式と思われるページ3があり、こちらで提供されているのが使えるとのこと。実際にDS-310も探したらあった。

X64のDebian系とdebやRedhat系のrpmに加え、Raspbian用のパッケージなどもあり、なければソースからコンパイルしろとのこと、見つかりにくい割にサポートはしっかりされている印象。

さっそくダウンロードして、解凍、インストールをする。

$ tar zvxf  ~/Downloads/epsonscan2-bundle-6.7.0.0.x86_64.deb.tar.gz
$ cd ~/Downloads/epsonscan2-bundle-6.7.0.0.x86_64.deb
$ sh install.sh 
Selecting previously unselected package epsonscan2.
(Reading database ... 325956 files and directories currently installed.)
Preparing to unpack .../epsonscan2_6.7.0.0-1_amd64.deb ...
Unpacking epsonscan2 (6.7.0.0-1) ...
Selecting previously unselected package epsonscan2-non-free-plugin.
Preparing to unpack .../epsonscan2-non-free-plugin_1.0.0.5-1_amd64.deb ...
Unpacking epsonscan2-non-free-plugin (1.0.0.5-1) ...
Setting up epsonscan2 (6.7.0.0-1) ...
Setting up epsonscan2-non-free-plugin (1.0.0.5-1) ...
Processing triggers for desktop-file-utils (0.26-1ubuntu4) ...
Processing triggers for mailcap (3.70+nmu1ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu3) ...

特にエラーなどもなくインストールが完了。 さっそく認識されているか確認してみる。

$ scanimage -L
device `epsonds:libusb:004:005' is a Epson DS-310 ESC/I-2
device `epsonscan2:DS-310:004:005:esci2:usb:ES013E:345' is a EPSON DS-310:004:005 flatbed scanner

epsonscan2という新しいドライバが認識された。ただ、うまく動かないほうのepsondsも検出されてしまっているので、削除しておく。

  # /etc/sane.d/dll.conf
  # エプソン関係と思われるドライバをコメントアウトして無効化
  # 略
- epjitsu
+ #epjitsu
  #epson
- epson2
+ #epson2
- epsonds
+ #epsonds
  # 略
$ scanimage -L
device `epsonscan2:DS-310:004:005:esci2:usb:ES013E:345' is a EPSON DS-310:004:005 flatbed scanner

これで普通に使えるようになった。

余談

マニュアルとかカタログとか、いつか必要になるかもしれないけど原本を持っておく必要もない資料を簡単に取り込んで捨てられるのは非常に良い。これで書類の断捨離が捗る…捗ったらいいなあ4


  1. 対応するドライバーがunmaintainedとなっていたので、正直イヤな予感はしていた。 ↩︎

  2. ディストリビューションごとに収録パッケージが違うのはもちろんだが、パッケージ名が違うので見つからないだけというケースもあったりなかったりする。 ↩︎

  3. 他のエプソンのページ(corporate.epsonepson.jp)とドメインが違うが、これらのサイトマップ中にepson.netドメインのページが含まれているため、公式であるのは間違いなさそう。ドメイン移行前の旧サイトかとも思ったが、2022年時点で更新はされている模様。 ↩︎

  4. このタイミングで大掃除ほっておいてこの記事を書いている時点で、年末年始中の整理はまず無理そうという…。 ↩︎