SSブログ

バーコードリーダが使えなくなった [プログラム]

8月下旬ころの話です。

蔵書管理のために、USB接続のバーコードリーダを使っているのですが、急に使えなくなりました。毎日のように使うものなので大変困ります。すぐに直さなければなりません。

そういえば、前日apt-getしたなぁ。そうそう、linuxカーネルもアップデートされたんだっけ。…もしや、と思って、古いカーネルで起動しなおすとちゃんとバーコードリーダが使えます。はぁ、linuxカーネルの問題ですか。相変わらずのSHITぶりです。

なにはともあれ、google先生にお伺いをたてたところ、次のページに驚愕の事実が!!!
http://groups.google.com/group/jlug.ml.users/browse_thread/thread/7ea2aede217a9223#
私の主観に基づいて超意訳すると、
「バーコードリーダのベンダIDとプロダクトIDが不正(複数のメーカが使用している)ので、
 linux開発者がカーネルのソースをいじくって無理やり使わせないように改造した」
というもの。linux開発者殿、相変わらずのSHITぶりです。

いや、そりゃ、バーコードリーダが勝手に他人のIDを使っている(らしい)のが悪いといえば全くそのとおりですが、でもね、人を罠にかけるかように「使えないようにしてやる」とは何事ですか。IDがどうであれ、使えることが第一じゃないんですか? コンピュータなんて使えてなんぼの世界なんです。それを、「今使えているものを使えなくしてやる」というのは、どう考えても(以下略)。

直すための方法はわかりましたが、忙しくて直している暇がありませんでしたので、今日まで古いカーネル2.6.26-2(debian)で動かしていました。

で、今日の話です。

どうも昨日のapt-getで何か問題が生じたらしく、Xを立ち上げるとGNOMEが非常に重くなりました。ちょっと調べてみると、何かがプロセスを起動しまくっているようで、プロセスIDがものすごいスピードで増えていきます。犯人を探そうと、次々とプロセスをkillして様子をみたのですが、結局わかりませんでした。で、試しにバーコードリーダが使えない2.6.30を起動してみると… gnomeは全く問題ありませんでした。2.6.26-2が使えなくなった(またかよ)ので、2.6.30以降に移行せざるをえませんが、debianのカーネル(2.6.30)は使えません。もう面倒なので、kernel本家から最新ソースを持ってきて、修正してしまいましょう。

で、先ほどのページの方と同じく、linuxカーネルを直しました。「動くように戻して」やります。大まかな手順は以下のとおり。debianなら簡単です。
  1. www.kernel.orgから最新のカーネルソース(2.6.31)をダウンロードして展開。
  2. hid-core.cの該当箇所1行をコメントアウト。
  3. /boot/config-2.6.26-2-686を.configとしてコピー。
  4. make oldconfigして、追加された部分などを答える(ほぼEnter、ときどきm Enter)。
  5. makeして終わるまで待つ。
  6. make install modules_installする。
  7. update-initramfs -c -k 2.6.31する。
  8. /boot/grub/menu.lstに追加する。
  9. reboot!
で、バーコードリーダをつないで試してみますと、うむ、動きました。
先のページの方に深く感謝致します。ありがとうございました。

共通テーマ:パソコン・インターネット

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。