GNU/Linux >> Linux の 問題 >  >> Linux

Linux – Uefi / biosで動作するのにUsbがLinuxで動作しないのはなぜですか?

背景として、次のような最新のハードウェアを備えた新しいマシンを構築しました。

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

それを踏まえて、SSDにさまざまなバージョンのLinuxをインストールしようとしましたが、ほぼ毎回失敗しました。 Arch、Debian安定版、Debian sid、Ubuntu 12.10をUSBサムドライブからインストールしようとしましたが、BIOSがUSBドライブを認識して起動し始めたときに、OSがUSBデバイスを列挙しようとすると、すべてのUSB機能が失われました。 (ブートデバイスを含む)。

最終的に私はDVDを作成し、Ubuntu12.10をSSDにインストールしました。 American Megatrends UEFI / BIOSを使用している間は、USBキーボード(およびマウス)が正常に動作することに注意してください。 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ホストコントローラーは表示されますが、デバイスは表示されません。 lspciを実行する 期待するすべてのハードウェアを表示します。そして、lsmodを実行します USBモジュールがロードされていません(usb_ehci たとえば)。

noapicを渡してみました カーネルのブート文字列に変更しましたが、この問題には影響しませんでした。

マザーボードはUSB3.0をサポートしていますが、通常のUSB2.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

これは、数を増やして他のUSBホストコントローラーを試すことを数回繰り返し、OHCIコントローラーにフォールバックします。OHCIコントローラーも失敗しますが、追加のメッセージが表示されます。

関連:Linux – switch_rootではなくpivot_rootをいつ使用しますか?

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

私のネットワークの問題は、ルーターでIPv6が有効になっていないという事実に関係していると思いますが、それは問題のようです

eth1: no IPv6 routers present

編集#2:

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

現在Debianwheezymodprobeを実行しています usb_commonを表示します 、usbcorexhci_hcdehci_hcd 、およびohci_hcd すべてロードされ、機能しています。

承認された回答:

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

新しいギガバイトのメインボードでは(少なくとも)IOMMU Controllerと呼ばれるBIOSオプションがあるようです。 これはデフォルトで無効になっており、それが何のためにあるのかについての手がかりや指示を与えません。

この設定を有効にして「魔法のように」再起動すると、64ビットLinux OSのUSBとネットワークの問題がすべて復元されます(どちらでも構いません)。

こんなに簡単な修正を長い間探していたので、私はかなりショックを受けて大喜びしました。

あなたの助けと提案をみんなに感謝します。うまくいけば、他の人がこれが役立つと思うでしょう。

更新: 現在のBIOS設定には、IOMMUコントローラーに加えてXHCIハンドオフとEHCIハンドオフの有効化も含まれていることを付け加えたいと思います。他の人もこれについて言及しており、これら2つのハンドオフを有効にすると、USB3.0ポートが期待どおりに機能するようになります。


Linux
  1. Linux で SOCK_SEQPACKET の MSG_EOR が表示されないのはなぜですか?

  2. PYTHONPATH が GNU/Linux の sudo で機能しない (root で機能)

  3. Linux の limit.conf が機能しない?

  1. LinuxMint17でSkypeマイクが機能しない[クイックヒント]

  2. Linux コマンド 'll' が機能しない

  3. Linux の日付コマンドが機能しない

  1. Linux – -9プロセスを強制終了すべきではないのはいつですか?

  2. Linux –なぜSuだけでなくSuを使用するのですか?

  3. 起動可能なLinuxUSBスティックを作成するときに同期が非常に重要なのはなぜですか?