Wi-Fi

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Wi-Fi and the translation is 100% complete.
Resources

Ez a cikk egy Wi-Fi (vezeték nélküli) hálózati eszköz beállítását írja le.

Wi-Fi a telepítés közben

Ha Wi-Fi kapcsolatra van szükség a Gentoo telepítése közben, akkor vegye figyelembe, hogy a Gentoo minimális telepítő CD-n korlátozott számú illesztőprogram áll rendelkezésre, és csak a wpa_cli (és ne a wpa_gui) értéket adja meg a WPA/WPA2/Enterprise kapcsolatok beállításához.

Ha a minimális telepítő CD nem tartalmazza a szükséges illesztőprogramokat, vagy a wpa_supplicant grafikus felületét részesíti előnyben, akkor válasszon egy másik Live CD-t, például a System Rescue CD-t. Ne feledje, hogy ha nem Gentoo Live CD-t használ, akkor néhány speciális lépésre lehet szüksége.

Hardver észlelése

Először észlelni kell a Wi-Fi vezérlőket. Az lspci vagy az lsusb parancssori eszközök, amelyek használhatók ehhez a feladathoz.

Ha egy Linux (LiveCD/USB) van elindítva, ami Wi-Fi kapcsolatot létesít:

root #lspci -k

Az illesztőprogramot a Kernel driver in use: karakterlánccal kezdődő sorok egyike azonosítja.

Ha a beindított rendszer nem hoz létre Wi-Fi kapcsolatot, akkor szerezze be a hardverazonosítók teljes listáját az aktuális rendszerből. Ez a lista később felhasználható a megfelelő illesztőprogram azonosítására:

root #lspci -n

Másolja ki a PCIID listát amit a parancs előállított.

Az USB eszközök esetében hasonló megközelítés alkalmazható. Először szerezze meg a rendszeren észlelt USB-eszközök listáját:

user $lsusb

Ez a parancs előállítja a rendszerhez csatlakoztatott minden USB-eszköz PCI azonosítóját, gyártóját, gyártmányát, modelljét és/vagy lapkakészletét. Ezek közül a lapkakészlet (chipset) lehet a leghasznosabb információ. Gyakran a legrövidebb módszer az USB NIC illesztőprogram és firmware nevének megtalálására az interneten történő linuxwireless.org <chipset> keresés.

Alternatívaként az lshw használható a szükséges információk megszerzésére:

root #lshw | grep -i driver | perl -pe 's/^.*driver=(\S+).*$/$1/g;' | sort -u

Ez a parancs létrehozza az összes illesztőprogram listáját, függetlenül attól, hogy az eszköz PCI vagy USB alapú.

Kernel

Itt az ideje beállítani a Linux kernelt a beazonosított illesztőprogramokkal.

IEEE 802.11

Aktiválja legalább a cfg80211-et (CONFIG_CFG80211) és a mac80211-et (CONFIG_MAC80211)

KERNEL linux-4.19 example
[*] Networking support  --->
    [*] Wireless  --->
        <M>   cfg80211 - wireless configuration API
        [ ]     nl80211 testmode command
        [ ]     enable developer warnings
        [ ]     cfg80211 certification onus
        [*]     enable powersave by default
        [ ]     cfg80211 DebugFS entries
        [ ]     support CRDA
        [ ]     cfg80211 wireless extensions compatibility
        <M>   Generic IEEE 802.11 Networking Stack (mac80211)
        [*]   Minstrel
        [*]     Minstrel 802.11n support
        [ ]       Minstrel 802.11ac support
              Default rate control algorithm (Minstrel)  --->
        [ ]   Enable mac80211 mesh networking (pre-802.11s) support
        -*-   Enable LED triggers
        [ ]   Export mac80211 internals in DebugFS
        [ ]   Trace all mac80211 debug messages
        [ ]   Select mac80211 debugging features  ----

Minstrel és 802.11n támogatása egy sebességvezérlő algoritmus. Engedélyezni kell egyes vezeték nélküli illesztőprogramokhoz.

Important
Ha a vezeték nélküli konfigurációs API (CONFIG_CFG80211) modul (<M>) helyett közvetlen a kernelbe van beépítve (<*>), akkor az illesztőprogram nem tudja betölteni a regulatory.db fájlt a /lib/firmware fájlból, ami a domain támogatás szabályozásának a meghibásodását eredményezi. Kérjük, állítsa be a CONFIG_CFG80211=m értéket, vagy adja hozzá a regulatory.db-t és a regulatory.db.p7s-t (a net-wireless/wireless-regdb-ből) a CONFIG_EXTRA_FIRMWARE-hez.

WEXT

A "cfg80211 vezeték nélküli bővítményekkel kompatibilitás" opció, más néven wext (wireless extensions), támogatja a régi vezeték nélküli eszközöket és az iwconfig-ot.

KERNEL
[*] Networking support  --->
    [*] Wireless  --->
        [*]     cfg80211 wireless extensions compatibility

Eszközmeghajtók

Ezután a megfelelő kernelbeállításokat kell engedélyezni a korábban észlelt illesztőprogramok és hardverek alapján. A javaslat az, hogy az illesztőprogramokat modulként kell lefordítani. Ha a vezeték nélküli hálózat WPA vagy WPA2 titkosítást használ, akkor mindenképpen engedélyezze az AES titkosítás támogatását a kernelben.

KERNEL
Device Drivers  --->
    [*] Network device support  --->
        [*] Wireless LAN  --->
 
            Select the driver for your Wifi network device, e.g.:
            <M> Broadcom 43xx wireless support (mac80211 stack) (b43)
            [M]    Support for 802.11n (N-PHY) devices
            [M]    Support for low-power (LP-PHY) devices
            [M]    Support for HT-PHY (high throughput) devices
            <M> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
            <M>    Intel Wireless WiFi DVM Firmware support                             
            <M>    Intel Wireless WiFi MVM Firmware support
            <M> Intel Wireless WiFi 4965AGN (iwl4965)
            <M> Intel PRO/Wireless 3945ABG/BG Network Connection (iwl3945)
            <M> Ralink driver support  --->
                <M>   Ralink rt27xx/rt28xx/rt30xx (USB) support (rt2800usb)
 
-*- Cryptographic API --->
    Accelerated Cryptographic Algorithms for CPU (x86)  --->
       <*> Ciphers: AES, modes: ECB, CBC, CTS, CTR, XTR, XTS, GCM (AES-NI)
Important
Abban az esetben, ha az illesztőprogram modulként (<M>) helyett a kernelbe van beépítve (<*>), akkor a firmware-t is be kell építeni a kernelbe. Ne felejtse el újraépíteni a rendszermagot a konfiguráció megváltoztatása után.

LED támogatás

A különböző csomagfogadási/csomagküldési események LED triggereinek engedélyezéséhez a kernelt a következő opciókkal fordítsa le:

KERNEL
Device Drivers  --->
    [*] LED Support  --->
        <*>   LED Class Support
 
[*] Networking support  --->
    [*] Wireless  --->
        [*] Enable LED triggers

Firmware

A kernel-illesztőprogramon kívül egyes lapkakészletekhez (főleg a modernekhez) firmware is szükséges. Ha szükséges, akkor keresse meg azt a következő listában, és telepítse:

root #emerge --ask sys-kernel/linux-firmware
Wi-Fi eszköz Driver Firmware Megjegyzés
Atheros AR9271 & AR7010 ath9k_htc sys-kernel/linux-firmware
Broadcom 43xx wireless support b43 / b43legacy sys-firmware/b43-firmware Aircrack-ng ready, most probably the best choice when a bcm43xx device is supported
Broadcom PCIe and SDIO/USB devices brcmsmac / brcmfmac sys-kernel/linux-firmware Lacks powersaving, LED support and other features
Broadcom 43xx wireless support wl net-wireless/broadcom-sta Proprietary, no AP or Monitor modes, Comparison of bcm43xx drivers
Intel PRO/Wireless 2200BG ipw2200 sys-firmware/ipw2200-firmware
Intel PRO/Wireless 3945ABG/BG iwlegacy sys-kernel/linux-firmware
Intel Wireless WiFi 4965AGN iwl4965 sys-kernel/linux-firmware
All other Intel Wireless devices iwlwifi sys-kernel/linux-firmware See the iwlwifi article for detailed instructions.
Qualcomm Atheros QCA6174 ath10k_pci ath10k-firmware See Qualcomm Atheros QCA6174
Ralink/MediaTek USB devices e.g. rt2800usb sys-kernel/linux-firmware
Realtek RTL8191SE & RTL8192SE rtl8192se sys-kernel/linux-firmware
Realtek 8723AU/8723BU/8191EU/8192EU/8188EU/8188RU rtl8xxxu sys-kernel/linux-firmware May need the CONFIG_RTL8XXXU_UNTESTED kernel option to find all devices. Only those verified by kernel developers are enabled by default.

Ha az illesztőprogram firmware-t igényel, de nem jelenik meg a listán, akkor manuálisan kell letöltenie és elhelyezni a /lib/firmware mappába.

Hálózati eszközök nevei

Warning
This section is obsolete. See Udev#Optional: Disable_or_override_predictable_network_interface_naming for updated instructions.

Network device names such as eth0 or wlan0 as provided by the kernel are normally changed on system boot (see dmesg) by the /lib/udev/rules.d/80-net-name-slot.rules udev rule.

To keep the classic naming this rule can be overwritten with an equally named empty file in the /etc/udev/rules.d directory:

root #touch /etc/udev/rules.d/80-net-name-slot.rules

Wireless supplicant

Ha a vezeték nélküli hálózat WPA-val vagy WPA2-vel van levédve, akkor olyan wireless supplicant-ot kell használni, mint például a wpa_supplicant vagy az iwd. További információért a vezeték nélküli hálózat konfigurálásával kapcsolatban a Gentoo Linux rendszerben olvassa el a Gentoo kézikönyv vezeték nélküli hálózatokról szóló fejezetét.


Testing

After a reboot with the new kernel or after loading the modules, the device can be checked for availability by using following methods:

/sys file system

Get the device name by listing the /sys/class/net directory contents using ls -al or the tree command (provided by the app-text/tree package):

user $tree /sys/class/net
/sys/class/net/
├── enp2s14 -> ../../devices/pci0000:00/0000:00:1e.0/0000:02:0e.0/net/enp2s14
├── lo -> ../../devices/virtual/net/lo
├── sit0 -> ../../devices/virtual/net/sit0
└── wlp8s0 -> ../../devices/pci0000:00/0000:00:1c.0/0000:08:00.0/net/wlp8s0

ip command

To obtain the device name and verify that the wireless card is detected, execute the following ip command:

user $ip addr
3: wlan0:   ...

ifconfig command

The ifconfig command is provided through the sys-apps/net-tools package. Use ifconfig -a to list all detected network cards, even those that are not enabled/active yet:

user $ifconfig -a
wlan0     ...

A network card can be activated as follows:

root #ifconfig -v wlan0 up
SIOCSIFFLAGS: Operation not possible due to RF-kill
WARNING: at least one error occurred. (-1)

In this example, enabling the wireless card failed as a radio frequency kill state is set (usually to keep power consumption at bay and not connect by accident to a wireless network).

iw command

If the wireless network card driver supports the nl80211 stack, then the iw command as offered by the net-wireless/iw package can show the detected wireless cards:

root #iw dev
   phy#0
	Interface wlan0
		ifindex 4
		type managed

dmesg

Ellenőrizze a dmesg kimenetet.

user $dmesg | grep -i -E 'xx:xx.x|wlan|iwl|80211'

Feltétlenül cserélje ki:

Hibaelhárítás

Hiányzó firmware keresése

Rendszerindításkor a kernel minden egyes kártyához megpróbálja megvizsgálni a firmware-t. Ezt lehet felfedezni, ha a dmesg vagy a journalctl (systemd) kimenetét megfigyeljük az aktuális rendszerindításkor.

user $journalctl -b 0 --dmesg | grep -i firmware
Oct 05 14:51:09 maffbook kernel: Spectre V2 : Enabling Restricted Speculation for firmware calls
Oct 05 14:51:09 maffbook kernel: ACPI: [Firmware Bug]: BIOS _OSI(Linux) query ignored
Oct 05 14:51:09 maffbook kernel: sgx: [Firmware Bug]: Unable to map EPC section to online node. Fallback to the NUMA node 0.
Oct 05 14:51:09 maffbook kernel: i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/kbl_dmc_ver1_04.bin (v1.4)
Oct 05 14:51:09 maffbook kernel: ACPI: video: [Firmware Bug]: ACPI(PEGP) defines _DOD but not _DOS
Oct 05 14:51:09 maffbook kernel: iwlwifi 0000:00:14.3: loaded firmware version 46.6b541b68.0 9000-pu-b0-jf-b0-46.ucode op_mode iwlmvm
Oct 05 14:51:09 maffbook kernel: psmouse serio1: elantech: assuming hardware version 4 (with firmware version 0x5f2001)
Oct 05 14:51:09 maffbook kernel: Bluetooth: hci0: Firmware revision 0.1 build 6 week 12 2021
Oct 06 17:26:26 maffbook kernel: Bluetooth: hci0: Minimum firmware build 1 week 10 2014
Oct 06 17:26:26 maffbook kernel: Bluetooth: hci0: Found device firmware: intel/ibt-17-16-1.sfi
Oct 06 17:26:28 maffbook kernel: Bluetooth: hci0: Waiting for firmware download to complete
Oct 06 17:26:28 maffbook kernel: Bluetooth: hci0: Firmware loaded in 1484394 usecs
Oct 06 17:26:28 maffbook kernel: Bluetooth: hci0: Firmware revision 0.1 build 6 week 12 2021

A Wi-Fi adapter nem találja az 5 GHz-es hálózatot és nem csatlakozik hozzá

Egyes WPA vagy WPA2 hálózatok továbbra is az régebbi, elavult TKIP protokollt használják az AES helyett a internetes csatlakozáshoz. Próbálja meg telepíteni a net-wireless/wpa_supplicant csomagot a tkip USE flag használatával, és indítsd újra a rendszert.

Fórumbejegyzések

Fórumbejegyzés: A vezeték nélküli LAN nem tudja megkapni az IP-t a hozzáférési ponttól, ami azt magyarázza, hogy a 169.254.x.x (link local címek) nem jó IP-címek.

További olvasnivaló a témában

  • Handbook:AMD64/Networking/Wireless
  • AC1200 Wireless Adapters - AC1200 vezeték nélküli adapterek.
  • Iproute2 — a tool developed to unify network interface configuration, routing, and tunneling for Linux systems. - Egy eszköz, amelyet a Linux alapú rendszerek hálózati interfész konfigurációjának, útválasztásának és alagútkezelésének egységesítésére fejlesztettek ki.
  • Iwlwifi — the wireless driver for Intel's current wireless chips. - Az Intel jelenlegi vezeték nélküli chipjeinek vezeték nélküli illesztőprogramja.
  • Qualcomm Atheros QCA6174 — a 802.11ac Wireless Network Adapter which is used in some laptops. - Vezeték nélküli hálózati adapter, amelyet egyes laptopokban használnak.