背景として、私は次のような最新のハードウェアを備えた新しいシステムを作成しました。
- 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.bin
USBデバイスが初期化に失敗したことがわかります。
これにより、lsusb
すべてのUSBホストコントローラを表示できますが、デバイスは表示できません。 1つを作成すると、lspci
私が期待していたすべてのハードウェアが私に現れました。実行すると、lsmod
USBモジュールのロードは表示されません(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_common
usbcore
xhci_hcd
ehci_hcd
ohci_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ポートが正しく機能します。
答え2
GA-990FXA-UD7を使用している間、USB 2.0およびUSB 3.0コントローラとオンボードイーサネットコントローラがLinux(Mint 17.1を使用している)で正常に動作するには、BIOSで次の設定を指定する必要があることを学びました。 :
- xHCIスイッチング - 有効
- EHCIスイッチング - 有効
- IOMMUコントローラ - 有効
UEFIを無効にし、すべての起動オプションを「レガシーのみ」に変更することを忘れないでください。
2.2TB以上の容量HDDから起動する必要がある場合は、他の問題が発生する可能性があります。
私は256 GB SSDをブートドライブとして使用し、mdadmを使用して3 TB HDDペアのRAID 1(ミラー)アレイを構成することで/ homeを管理します。
Gigabyteマザーボードを定期的に使用しながら、990FXA-UD5および990FXA-UD3マザーボードのBIOSが非常に似ていることがわかっているため、そのマザーボードにも同様に適用される可能性が高いです。
答え3
この手順は、Ubuntu 15.04を実行しているGIGABYTE 970A-DS3PおよびAMD-FX-8320に適用されます。
- xHCIスイッチング - 有効
- EHCIスイッチング - 有効
- IOMMUコントローラ - 有効
- UEFI - 無効
- すべての起動オプション - レガシーバージョンのみ
答え4
奇妙なことに、ほぼ同じ設定(同じマザーボード、FX8350プロセッサ)を使用してもIOMMUを有効にしても違いはありません。それでもUSB、ネットワークなどはありません。
何したしかし、役に立つのは、カーネルコマンドラインに "iommu = soft"を追加することです。これですべてがうまくいきます(ロジクールゾーンタッチマウスが機能しない奇妙な理由を除いて)。