Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

barcode reader (USB) と 2.6.30 kernel

15 views
Skip to first unread message

L.Takashi ISHIOKA

unread,
Jul 2, 2009, 9:10:20 PM7/2/09
to
いしおかです.

2.6.25位のカーネルで USB接続のバーコードリーダを使っていたのですが,
2.6.30 にあげたところ使えなくなってしまいました.
とりあえずカーネルを書き換えて使えるようにはなったので困ってはいない
のですが 顛末を書いておきます.

まず確認したのは
- 古いカーネルで立ち上げると 使えるので 機械の故障では無い
- syslog をみていると usbhid が組み込まれているが,
input として認識されていない.
- 他の USB keyboard は動いた.
- hal か udev でなんかやってるんだっけか でゴソゴソ.
この辺仕組みを理解してないのがいかんのですが... > 自分.

でこの後 google様に聞いてみたところ, VendorID:ProductID = 0x1130:0x0001 の
機器は ID がぶつかっていて drivers/hid/hid-core.c で blacklistに入って
いるとのこと( 2.6.28 あたりで入ったとか )
# なんじゃそりゃー

既に blacklist に入ってるものを whitelist に入れる方法がわからなかった
ので 該当部分をコメントアウトしてカーネル再構成したら動作しました.

正しくはどうするんでしょうねー.
a) usbhid のquirks オプションをつかって 非HIDとして認識させて別ドライバ
読み込ませることをちょっと考えましたが, 力量を越えるのでパス.

キーワードはこの辺.
% grep USB_VENDOR_ID_TENX *
hid-core.c: { HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY1) },
hid-core.c: { HID_USB_DEVICE(USB_VENDOR_ID_TENX, USB_DEVICE_ID_TENX_IBUDDY2) },
hid-ids.h:#define USB_VENDOR_ID_TENX 0x1130
--
(ishi)

0 new messages