GNU/Linux >> Znalost Linux >  >> Linux

Proč USB nefunguje v Linuxu, když funguje v UEFI/BIOS?

Našel jsem odpověď z tohoto vlákna (http://ubuntuforums.org/showthread.php?t=2114055) na ubuntuforums.org.

Zdá se, že u novějších základních desek Gigabyte (alespoň) existuje možnost BIOSu nazvaná IOMMU Controller který je ve výchozím nastavení zakázán a neposkytuje žádné vodítko ani náznak toho, k čemu slouží.

Povolení tohoto nastavení a restartování "magicky" obnoví všechny mé problémy s USB a sítí v 64bitovém operačním systému Linux (nezáleží na tom, který).

Jsem spíše šokován a potěšen, že to bylo tak dlouhé hledání tak jednoduché opravy.

Děkuji všem za pomoc a návrhy. Doufám, že to ostatním bude užitečné.

Aktualizace: Jen bych rád dodal, že moje aktuální nastavení BIOSu zahrnuje kromě IOMMU Controller také povolení XHCI Handoff a EHCI Handoff. Jiní to také zmínili a povolení těchto dvou předání také umožní mým portům USB 3.0 fungovat podle očekávání.


Právě jsem se s GA-990FXA-UD7 dozvěděl, že pro správné fungování řadičů USB 2.0 a USB 3.0 a integrovaného ethernetového řadiče v Linuxu (používám Mint 17.1) je třeba provést následující nastavení v BIOSu:

  • xHCI předání – povoleno
  • Předání EHCI – povoleno
  • Řadič IOMMU – povoleno

Nezapomeňte deaktivovat UEFI a změnit všechny možnosti spouštění na „Pouze starší“.

Pokud opravdu potřebujete zavést systém z HDD s kapacitou>2,2 TB, můžete mít jiný problém.

Používám 256GB SSD pro svůj spouštěcí disk a pár 3TB HDD v poli RAID 1 (zrcadlené) pomocí mdadm pro můj /home a vše funguje dobře.

Jelikož jsem hodně pracoval s deskami Gigabyte, vím, že desky 990FXA-UD5 a 990FXA-UD3 mají velmi podobný BIOS, takže je pravděpodobné, že to samé bude platit i pro tyto desky.


Pro informaci, technické důvody, proč Linux nemůže používat zařízení "přes" BIOS:jakmile operační systém přejde do "chráněného režimu" (32-bit) nebo "dlouhého režimu" (64-bit), již nemůže odesílat přerušení do BIOSu. V "reálném režimu" (16bitový, při spouštění) může volat přerušení BIOSu, aby bylo možné číst disky, vstup z klávesnice atd.

Ale má to i stinné stránky. Jednak nemáte ani megabajt adresovatelné paměti. Moderní operační systém se tedy vypne z reálného režimu téměř jako první věc. (Vlastně věřím, že se grub přepne do chráněného režimu ještě předtím, než vůbec načte jádro).

Další podrobnosti:http://wiki.osdev.org/Real_Mode http://wiki.osdev.org/Protected_Mode


Linux
  1. Linux – Kdy nemám zabít -9 A proces?

  2. Linux – proč používáme Su – a nejen Su?

  3. Proč je synchronizace tak důležitá při vytváření zaváděcího USB klíče pro Linux?

  1. Linux – Proč USB nefunguje v Linuxu, když funguje v Uefi/bios?

  2. Linux – Proč detekce USB Stick trvá tak dlouho?

  3. Linux – LED dioda Caps Lock na konzoli Linux nefunguje?

  1. PYTHONPATH nefunguje pro sudo na GNU/Linux (funguje pro root)

  2. Linuxový příkaz 'll' nefunguje

  3. Příkaz data v Linuxu nefunguje