Important: You are required to change your passwords used for Gentoo services and set an email address for your Wiki account if you haven't done so. See the full announcement and Wiki email policy change for more information.

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 if a wifi connection is needed for installation:

Use a livecd/usb other than the Gentoo Minimal Install CD. The Minimal CD does not support WPA/WPA2/Enterprise, nor does it include external oem firmware required by many current Network Interface Cards (NIC). Probably the most current (and gentoo based option) is the System Rescue CD: http://sysresccd.org/Download http://sysresccd.org/Sysresccd-manual-en_How_to_install_SystemRescueCd_on_an_USB-stick

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. linuxwireless.org is at least semiauthoritative and semi-up-to-date.

Kernel

You need to activate the following 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 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, 5300AGN, 5350AGN iwlwifi sys-firmware/iwl5000-ucode or sys-kernel/linux-firmware
Intel Wireless WiFi 5150AGN iwlwifi sys-firmware/iwl5150-ucode or 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 iwlwifi sys-firmware/iwl2000-ucode or sys-kernel/linux-firmware
Intel Centrino Wireless-N 2230 iwlwifi sys-firmware/iwl2030-ucode or 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 # iwconfig
wlan0     ...
root # iw dev
   phy#0
	Interface wlan0
		ifindex 4
		type managed

If not, check dmesg for errors:

user $ dmesg

Configuration

Advanced Configuration