質問: usbがuefi / biosで動作するのにlinuxで動作しないのはなぜですか? 背景として、次のような最新のハードウェアを備えた新しいマシンを構築しました。 amd fx-8350 ギガバイトga-990fxa-ud3マザーボード 16gb ram nvidia gtx 650 ti キングストンssd そのため、ssdにさまざまなバージョンのlinuxをインストールしようとすると、ほぼ毎回失敗しました。 usbサムドライブからarch、debian安定版、debian sid、ubuntu 12.10をインストールしてみましたが、biosがusbドライブを認識し、そこから起動を開始しましたが、osがusbデバイスを列挙しようとするとすぐに、すべてのusb機能が失われました(起動デバイスを含む)。最終的に私はdvdを焼き、ubuntu 12.10をssdにインストールしました。 american megatrends uefi/biosでusbキーボード(およびマウス)が正常に動作することに注意してください。ライブ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を渡してみましたが、この問題には影響がありませんでした。マザーボードはusb 3.0をサポートしていますが、私が接続したすべてのデバイスは通常のusb 2.0ポートに接続されています。usb(およびオンボードネットワークカード)が動作しないようにする方法に困惑していますlinuxの場合。 biosで動作するこれらのデバイスには何の問題もないようで、テストして機能するかどうかを確認できるwindowsのインストールがありません。私はすでにマザーボードを1回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は、私のネットワークアダプター(オンボードと拡張の両方)がrealtek semiconductor(驚きではない)であることを示しています。それぞれ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がすべてロードされ、機能していることが示されます。
回答: opensuse 13.1を使用して、同じfx8350をgigabyte 990fxa-ud3で実行しています。私にとってうまくいった解決策は、yast、デフォルトの選択(または私の場合はopensuse 13.1をロードするために使用している選択)、「quiet showopts」の後に「iommu = pt」を使用してブートローダーを編集することでした。例えば: 「resume =/dev/disk/by-id/ata-hitachi_hds721010cla332_jp2921hq1076na-part2 splash = silent quiet showopts iommu = pt」 これで、すべてのusbポート2.0および3.0が機能し、インターネットネットワーキングも機能します。また、biosでiommuが有効になっていることを確認してください。