Wifi

From Gentoo Wiki
Jump to: navigation, search
This page contains changes which are not marked for translation.

External resources

This article describes the setup of a Wifi network device.

Gentoo Wifi Installation

Gentoo Install via WIFI

If installing Gentoo and a wifi connection is needed for installation:

The Gentoo minimal install CD has a limited set of wifi drivers available, and will require manual wpa_supplicant setup for WPA/WPA2/Enterprise connections. If your card is not supported there, or you would prefer an interactive frontend to configure wpa_supplicant[1], you should use an alternative livecd. A good example is the System Rescue CD (http://sysresccd.org/Download), but be sure to take note of the special steps that may be needed for installing from non-Gentoo livecds: https://wiki.gentoo.org/wiki/Installation_alternatives#Installation_from_non-Gentoo_LiveCDs .

WIFI

Hardware Detection

First detect the Wifi controllers. You can use lspci or lsusb for this task. If a linux (livecd/usb) is booted that makes a wifi connection:

root # lspci -k

The driver will be identified at "Kernel driver in use:". If a linux is booted that does not make a wifi connection:

root # lspci -n

The driver may be identified by copying the list of PCIID's that the command produces and pasting at http://kmuto.jp/debian/hcl/ .

user $ lsusb

may produce pciid manufacturer make model chipset. Of these, the chipset may be the most useful information. Googling linuxwireless.org <chipset> is often the shortest way to find a usb NIC driver and firmware name.

Kernel

IEEE 802.11

Dependent on your hardware you need to activate the corresponding kernel options:

Kernel configuration

[*] Networking support  --->
    [*] Wireless  --->
        <*> cfg80211 - wireless configuration API
        <*> Generic IEEE 802.11 Networking Stack (mac80211)

    Device Drivers  --->
    [*] Network device support  --->
        [*] Wireless LAN  --->

            Select the driver for your Wifi network device, e.g.:
            <*> Broadcom 43xx wireless support (mac80211 stack) (b43)
            [*]    Support for 802.11n (N-PHY) devices
            [*]    Support for low-power (LP-PHY) devices
            [*]    Support for HT-PHY (high throughput) devices
            <*> Intel Wireless WiFi Next Gen AGN - Wireless-N/Advanced-N/Ultimate-N (iwlwifi)
            <*>    Intel Wireless WiFi DVM Firmware support                             
            <*>    Intel Wireless WiFi MVM Firmware support
            <*> Intel Wireless WiFi 4965AGN (iwl4965)
            <*> Intel PRO/Wireless 3945ABG/BG Network Connection (iwl3945)
            <*> Ralink driver support  --->
                <*>   Ralink rt27xx/rt28xx/rt30xx (USB) support (rt2800usb)

WEXT

To enable wireless extensions, compile your kernel with the following option (this will support old wireless-tools & iwconfig):

Kernel configuration

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

LED Support

To enable LED triggers for different packet receive/transmit events, compile your kernel with the following options:

Kernel configuration

    Device Drivers  --->
    [*] LED Support  --->
        <*>   LED Class Support

[*] Networking support  --->
    [*] Wireless  --->
        [*] Enable LED triggers

Firmware

Besides the kernel driver, you will also need firmware, expand section to see firmware/hardware table and notes of supported devices:

Wifi device Driver Firmware Note
Broadcom 43xx wireless support b43 / b43legacy sys-firmware/b43-firmware aircrack-ng ready, most probably the best choice if your bcm43xx device is supported
Broadcom 43xx wireless support (e.g. 4313) brcmsmac / brcmfmac sys-kernel/linux-firmware no powersave, LED support and other features
Broadcom 43xx wireless support wl net-wireless/broadcom-sta proprietary, no AP or Monitor modes, comparision of bcm43xx drivers
Atheros AR9271 & AR7010 ath9k_htc sys-kernel/linux-firmware
Intel PRO/Wireless 3945ABG/BG iwl3945 sys-kernel/linux-firmware
Intel Wireless WiFi 4965AGN iwl4965 sys-kernel/linux-firmware
Intel Wireless WiFi 5100AGN, 5150AGN, 5300AGN, 5350AGN iwlwifi sys-kernel/linux-firmware
Intel Centrino Wireless-N 1000 iwlwifi sys-firmware/iwl1000-ucode or sys-kernel/linux-firmware
Intel Centrino Ultimate-N 6300, Advanced-N 6200 iwlwifi sys-firmware/iwl6000-ucode or sys-kernel/linux-firmware
Intel Centrino Advanced-N + WiMAX 6250, Wireless-N + WiMAX 6150 iwlwifi sys-firmware/iwl6050-ucode or sys-kernel/linux-firmware
Intel Centrino Advanced-N 6205 iwlwifi sys-firmware/iwl6005-ucode or sys-kernel/linux-firmware
Intel Centrino Advanced-N 6230, Wireless-N 1030, Wireless-N 130 iwlwifi sys-firmware/iwl6030-ucode or sys-kernel/linux-firmware
Intel Centrino Wireless-N 2200, 2230 iwlwifi sys-kernel/linux-firmware
Intel Centrino Wireless-N 100, 105, 135 iwlwifi sys-kernel/linux-firmware
Intel Wireless 3160 iwlwifi sys-firmware/iwl3160-ucode or sys-kernel/linux-firmware Requires kernel parameter Device-Drivers->Network device support->Wireless LAN->Intel Wireless WiFi MVM Firmware support
Intel Wireless 7260 iwlwifi sys-firmware/iwl7260-ucode or sys-kernel/linux-firmware Requires kernel parameter Device-Drivers->Network device support->Wireless LAN->Intel Wireless WiFi MVM Firmware support
Ralink driver support e.g. rt2800usb sys-kernel/linux-firmware

b43

Install the required package, e.g for sys-firmware/b43-firmware:

root # echo "sys-firmware/b43-firmware" >> /etc/portage/package.accept_keywords
root # echo "sys-firmware/b43-firmware Broadcom" >> /etc/portage/package.license
root # emerge --ask b43-firmware

linux-firmware

Install the required package, e.g for sys-kernel/linux-firmware:

root # emerge --ask linux-firmware

If there is no package, you have to download the firmware and move it to /lib/firmware yourself.

Testing

After a reboot with the new kernel or after loading the modules, check that the device is ready using one of following methods:

Note
The name of the device may be different, e.g. eth1 or ath0 or a name as described in Predictable Network Interface Names if you use >=sys-fs/udev-200 with default configuration
user $ ip addr
3: wlan0:   ...
user $ ifconfig -a
wlan0     ...
root # ifconfig -v wlan0 up
SIOCSIFFLAGS: Operation not possible due to RF-kill
WARNING: at least one error occured. (-1)
  • Using net-wireless/wireless-tools if your driver supports the wireless extensions stack. Non-wireless interfaces will be listed with "no wireless extensions":
root # iwconfig
wlan0     IEEE 802.11abg  ESSID:"..."  
          Mode:Managed  Frequency:2.462 GHz  Access Point: ..:..:..:..:..:..   
          ...   
          Link Quality=52/70  Signal level=-58 dBm  
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:434   Missed beacon:0

lo        no wireless extensions.
sit0      no wireless extensions.
eth0      no wireless extensions.
root # iw dev
   phy#0
	Interface wlan0
		ifindex 4
		type managed

If not, check dmesg for errors:

user $ dmesg

Configuration

Advanced Configuration

References