USBがUEFI / BIOSでは機能しますが、Linuxでは機能しないのはなぜですか?

USBがUEFI / BIOSでは機能しますが、Linuxでは機能しないのはなぜですか?

背景として、私は次のような最新のハードウェアを備えた新しいシステムを作成しました。

  • AMD FX-8350
  • ギガバイトGA-990FXA-UD3マザーボード
  • 16GBメモリ
  • Nvidia GTX 650 Ti
  • キングストンSSD

これを考慮して、SSDに様々なバージョンのLinuxをインストールしてみたが、ほぼ毎回失敗した。 USBサムドライブからArch、Debian stable、Debian sid、およびUbuntu 12.10をインストールしようとしましたが、BIOSがUSBドライブを確認して起動を開始すると、すべてのUSB機能(デバイスの起動を含む)が失われます。

最後にDVDを焼き、SSDにUbuntu 12.10をインストールしました。私のUSBキーボード(およびマウス)がAmerican Megatrends UEFI / BIOSで正しく機能していることに注意してください。 Live Ubuntu DVDのプレインストールメニューにある場合でも、キーボードは正しく機能します。

Linuxが起動すると(Live DVDまたはSSD)、すべてのUSB機能が消え、PS / 2キーボードのみを使用してOSをナビゲートできます。

dmesg / syslogに ""の数行が表示され、failed to load microcode amd_ucode/microcode_amd_fam15h.binUSBデバイスが初期化に失敗したことがわかります。

これにより、lsusbすべてのUSBホストコントローラを表示できますが、デバイスは表示できません。 1つを作成すると、lspci私が期待していたすべてのハードウェアが私に現れました。実行すると、lsmodUSBモジュールのロードは表示されません(usb_ehci例:)。

noapicブート文字列をカーネルに渡そうとしましたが、問題には何の影響もありませんでした。

マザーボードはUSB 3.0をサポートしますが、すべてのデバイスを通常のUSB 2.0ポートに接続します。

USB(およびオンボードネットワークカード)が機能しなくなったり妨害したりするものは非常に混乱しています。Linuxで。デバイスはBIOSで動作するのに問題がないようです。そして、動作していることをテストして確認できるWindowsインストールはありません。

マザーボードを一度RMAしましたが、2番目のマザーボードもまったく同じ動作を示したので、ハードウェアを排除できると思いました。 (動作が同じであるため、2つのマザーボードを受け取ったことは驚くべきことではないと思いました。同じ欠陥が大きい場合、これはLinuxの問題である可能性があります)。

USB(私のネットワークが望ましいが、今はUSBが利用できない)を動作させるために何を試すことができますか?

編集#1:

インターネットがないので、dmesgここでは興味深いものだけを話すことができます。

興味深いのdmesgは、11個のUSBホストコントローラ(OHCI、EHCI、xHCI)があることです。私のUSBデバイスを検出した後、次のようにすぐに失敗します。

usb 3-1: new high-speed USB device number 2 using ehci_hcd
usb 3-1: device descriptor read/64, error -32

OHCIコントローラに置き換えられるまで数字を増やして別のUSBホストコントローラを試すことを何度も繰り返しましたが、やはり追加のメッセージで失敗しました。

usb 8-1: device not accepting address 4, error -32

私のネットワークの問題は、私のルーターでIPv6を有効にしていないことに関連しているようです。これは問題のようです。

eth1: no IPv6 routers present

編集#2:

lspci -vvv私のネットワークアダプタ(オンボードと拡張)がそれぞれRTL8111 / 8168BとRTL8169 / 8110であることを示しています。私のUSBコントローラはEtron Technology EJ168(xHCI)とAMD nee ATI SB7x0 / SB8x0 / SB9x0(EHCI&OHCI)です。

Debian wheezyを実行すると、、、、、、およびすべてがロードされ、正常に実行されていることがmodprobeわかります。usb_commonusbcorexhci_hcdehci_hcdohci_hcd

ベストアンサー1

この投稿で答えを見つけました(http://ubuntuforums.org/showthread.php?t=2114055)ubuntuforums.orgから。

最新のGigabyteマザーボードには、(少なくとも)IOMMU Controller「デフォルトで無効」と呼ばれるBIOSオプションがあるように見えます。

この設定を有効にして「魔法のように」再起動すると、64ビットLinuxオペレーティングシステム(どのオペレーティングシステムに関係なく)のすべてのUSBおよびネットワークの問題を復元できます。

私はこの簡単な解決策を見つけるのに時間がかかりすぎたという事実に非常にショックを受けてうれしかったです。

皆さんの助けと助言に感謝します。他の人もこの内容が役立つことを願っています。

修正する:現在のBIOS設定には、IOMMUコントローラに加えてXHCI HandoffとEHCI Handoffの有効化が含まれていることを追加したいと思います。他の人もこれについて言及し、両方のトグルを有効にすると、USB 3.0ポートが正しく機能します。

おすすめ記事