JF Linux Kernel 3.x/2.6 Documentation: /usr/src/linux/Documentation/x86/usb-legacy-support.txt

x86/usb-legacy-support.txt

USB レガシーサポート [プレインテキスト版]


USB レガシーサポート
~~~~~~~~~~~~~~~~~~~~


Vojtech Pavlik <vojtech@suse.cz>, January 2004


BIOS セットアップメニューで "USB キーボード" や "USB マウスサポート" として
知られているのは、USB マウスや USB キーボードを、あたかも昔ながらの PS/2
マウスや PS/2 キーボードであるかのように使うための機能です。これは、たとえば
LILO でタイプするのに USB キーボードを使えるということを意味します。

しかしながら、幾つかの欠点があります。

1) 幾つかのマシンでは、USB マウスがなく本当の PS/2 マウスが存在する場合でも、
   PS/2 マウスのエミュレーションがおこなわれます。この場合、実際の PS/2 マウス
   の追加機能 (ホイール、追加ボタン、タッチパッドモード) は使用できなくなる
   ことがあります。

2) CONFIG_HIGHMEM64G が有効になっている場合、PS/2 マウスエミュレーションは
   システムクラッシュを引き起こすことがあります。というのも、SMM BIOS は
   PAE モードになることを想定していないからです。Intel E7505 は、この問題が
   発生する典型的なマシンです。

3) AMD64 64 ビットモードが有効になっていると、これまたシステムクラッシュが
   頻発します。というのも、SMM BIOS は CPU が 64 ビットモードになることを
   想定していないからです。BIOS 製作者は Windows のみでテストしており、
   Windows はまだ 64 ビットではないのです。

解決方法

問題 1) は、PS/2 マウスドライバをロードする前に USB ドライバをロードすることに
より解決できます。2.6 では、PS/2 マウスドライバは無条件にカーネルに組み込まれて
コンパイルされるので、USB ドライバも組み込む必要があるということになります。

問題 2) は現在のところ、カーネル設定で HIGHMEM64G を無効にするか、BIOS で USB
レガシーサポートを無効にするかのどちらかでしか解決できません。BIOS アップデート
でうまくいくかもしれませんが、今までのところそのようなアップデートは存在しません。

問題 3) は通常 BIOS アップデートにより解決されます。ボード製作者の Web サイトを
チェックしてください。アップデートが得られない場合は、BIOS の USB レガシーサポート
を無効にしてください。これだけで問題が解決しない場合は、カーネルコマンドラインに
idle=poll を追加してみてください。HLT 命令時と同様に BIOS は SMM になるかもしれ
ません。

------------------------------------------------------------
翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
翻訳者:   川崎 貴彦 <takahiko(a)hakubi.co.jp>
翻訳日:   2004/02/07

Linux カーネル 3.x/2.6 付属文書一覧へ戻る