navody:hw_a_ovladace

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
navody:hw_a_ovladace [2005/12/12 21:57] covexnavody:hw_a_ovladace [2022/11/14 12:25] (aktuální) – upraveno mimo DokuWiki 127.0.0.1
Řádek 1: Řádek 1:
 +====== Jak rozpoznávat hardware a ovladače ======
  
 +**V Linuxu a především ve Fedoře**
 +
 +**__ZLATÉ PRAVIDLO HARDWARU PRO LINUX__**\\
 +V první řadě je potřeba si uvědomit, že podpora hardwaru od výrobců pro Linux není všeobecně běžná. Proto již **před koupí hardwaru je potřeba se o podporu v Linuxu zajímat** a ověřit si, že hardware v Linuxu funguje. Uživatelský katalog HW je např. na [[http://www.abclinuxu.cz/hardware|ABCLinuxu]].
 +
 +Pokud se vám dostane do rukou HW o kterém nevíte, jak to s podporou vypadá, první a nejlepší je pokusit se zeptat [[http://linux.google.com/|Googlu]]. Přesto se může stát, že pod tímto hledáním nic užitečného nenajdete. Často je to jen tím, že Linux podporuje "vnitřnosti" HW, ale nezná ho pod obchodním jménem toho kterého výrobce.
 +
 +**Každé HW zařízení má v sobě nějaký "chipset".** Ten tvoří základ celého zařízení. Chipsetů je zpravidla omezené množství a různí výrobci prodávají často vnitřně stejné zařízení jen s jiným jménem.
 +
 +===== PCI zařízení =====
 +
 +V případě, že **hledáme podporu** PCI zařízení stačí zařízení přidat do počítače a po nastartování Linuxu se podívat do výpisu příkazu
 +
 +   lspci
 +
 +
 +   00:00.0 Host bridge: Intel Corp. 430HX - 82439HX TXC [Triton II] (rev 03)
 +   00:07.0 ISA bridge: Intel Corp. 82371SB PIIX3 ISA [Natoma/Triton II] (rev 01)
 +   00:07.1 IDE interface: Intel Corp. 82371SB PIIX3 IDE [Natoma/Triton II]
 +   00:0a.0 Network controller: Harris Semiconductor: Unknown device 3873 (rev 01)
 +   **00:0b.0 Ethernet controller: Unknown device 168c:0013 (rev 01)**
 +   00:0c.0 Network controller: Harris Semiconductor: Unknown device 3873 (rev 01)
 +
 +V seznamu jsem označil PCI zařízení které Linux nerozpoznal. Co je podstatné, vypsal jeho PCI ID: 168c:0013. Hledáním tohoto čísla už můžeme získat přesnější představu o jaký HW se jedná.
 +
 +
 +Pokud Linux zařízení zná výpis bude vypadat pro toto zařízení zhruba následovně:
 +
 +    00:0b.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
 +
 +Např. PCI wifi karta s tímto chipsetem se ovšem prodává pod minimálně třemi obchodními označeními:
 +
 +   Sweex 54/104Mbps wireless PCCARD11A+B+G
 +   NEC WL54AG
 +   WNC CB9-EXT CardBus 802.11a/b/g
 +
 +==== Pokud Linux zařízení zná ====
 +neměl by již být problém nalézt pro toto zařízení ovladač. Je ovšem potřeba hledat identifikaci z výstupu příkazu ''lspci'', nikoli obchodní označení.
 +
 +=== Jestliže existuje ovladač přímo v Linuxovém kernelu ===
 +a není automaticky zaveden, máme vyhráno a stačí jej zavést příkazem 
 +
 +   modprobe jmeno_ovladace
 +
 +
 +=== Jestliže neexistuje ovladač přímo v Linuxovém kernelu ===
 +ovšem obecně ovladač existuje máme dvě možnosti
 +
 +  -  Pokusit se najít, zda někdo ovladač již nepřipravil pro Fedoru
 +  -  Zkompilovat ovladač pro náš běžící systém
 +
 +Zda je **ovladač pro Fedoru** dostupný zjistíme např. na [[http://rpm.pbone.net/]] zadáním jména ovladače, který hledáme. Pro PCI ID 168c:0013 je to ''madwifi''. Nalezený balíček pak buď stáhneme a nainstaluje nebo zkusíme použít 
 +
 +   yum search madwifi
 +
 +a podle výsledku pak např.
 +
 +   yum install madwifi
 +
 +**Kompilace ovladače**
 +
 +  - V první řadě se ujistěte, že máte nainstalovány vývojové nástroje - kompilátor a pomocné utilty (Sekce Development Tools (Vývojové nástroje) v Add/Remove programs (Přidat/Odebrat programy).
 +  - pravděpodobně budete potřebovat i hlavičkové soubory kernelu (jádra) - kernel-devel
 +  - rozblate archiv ovladače, pokud je tam soubor configure spustte
 +
 +  ./configure
 +
 +jinak pokračujete
 +
 +  make
 +  make install
 +
 +TBD
 +
 +----
 +Po použití ''modprobe'' by se měl na konci výstupu příkazu ''dmesg'' objevit výpis kernelu oznamující, že kernel si s hardwarem rozumí. Např.:
 +
 +   ath_hal: 0.9.14.9 (AR5210, AR5211, AR5212, RF5111, RF5112, RF2413)
 +   ath_pci: 0.9.6.0 (EXPERIMENTAL)
 +   ath0: 11a rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 +   ath0: 11b rates: 1Mbps 2Mbps 5.5Mbps 11Mbps
 +   ath0: 11g rates: 1Mbps 2Mbps 5.5Mbps 11Mbps 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 +   ath0: turbo rates: 6Mbps 9Mbps 12Mbps 18Mbps 24Mbps 36Mbps 48Mbps 54Mbps
 +   ath0: 802.11 address: 00:22:33:44:55:66
 +   ath0: Atheros 5212: mem=0x10800000, irq=9
 +
 +==== Neznámá zařízení ====
 +
 +To, že Linux o zařízení prohlašuje, že je neznámé (''Unknown device''), ještě neznamená, že musíme hodit flintu do žita. Je dost dobře možné, že ovladač existuje, jen kernel o něm vůbec neví. Pak je záhodno vyzkoušet postup **Jestliže neexistuje ovladač přímo v Linuxovém kernelu**.