Wifi/en

This article describes the setup of a Wifi network device.

Wifi during installation
If a Wifi connection is needed while installing Gentoo, note that the Gentoo minimal install CD has a limited number of drivers available, and provides only wpa_cli (and not wpa_gui) for configuring for WPA/WPA2/Enterprise connections.

If the minimal install CD does not contain the required drivers or the graphical frontend to wpa_supplicant is preferred, choose a different live CD such as the System Rescue CD. Be aware that some special steps may be required when using a non-Gentoo live CD.

Hardware detection
First detect the Wifi controllers. or are command-line tools that can be used for this task.

If a Linux (LiveCD/USB) is booted that makes a Wifi connection:

The driver will be identified with.

If the booted system does not make a Wifi connection, then obtain a full list of hardware identifiers from the current system. This list can be used to identify the proper driver later:

Copy the list of PCIID's that the command produces and paste it at http://kmuto.jp/debian/hcl/.

For USB devices, a similar approach can be taken. First obtain the list of detected USB devices on the system:

This command produces the PCI ID, manufacturer, make, model, and/or chipset of every USB device attached to the system. Of these, the chipset may be the most useful information. Googling linuxwireless.org  is often the shortest way to find a USB NIC driver and firmware name.

Alternatively, can be used to obtain the necessary information:

This command produces a list of all drivers, regardless of the device being PCI or USB based.

Kernel
With the drivers identified, it is time to configure the Linux kernel.

WEXT
The "cfg80211 wireless extensions compatibility" option aka WEXT will support old wireless-tools & iwconfig.

Device drivers
Next the right set of corresponding kernel options need to be enabled, based on the drivers and hardware detected previously. The recommendation is to build drivers as modules. Also be sure to enable AES cipher support in the kernel if the wireless network uses WPA or WPA2 encryption.

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

Firmware
In addition to the kernel driver, some chipsets also require firmware. If required, locate it on the following list and install it:

If the driver requires firmware but does not appear on the list, it will be necessary to download it manually and place it in.

Testing
After a reboot with the new kernel or after loading the modules, the device can be checked for availability by using using one of following methods:
 * Using the file system
 * Using the command
 * Using the command
 * Using the command

If none of these methods work be sure to check output for errors. It is likely a kernel driver or module has not been loaded properly:

/sys file system
Get the device name by listing the directory using the  command :

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

ifconfig command
The command is provided through the ) package. Use  to list all detected network cards, even those that are not enabled/active yet:

A network card can be activated as follows:

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).

iwconfig command
The command is provided by the  package. This command works if the kernel has the wireless extensions stack enabled. Non-wireless interfaces will be listed with "no wireless extensions":

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

Troubleshooting

 * Forum thread: wireless lan can't get ip from access point which explains about 169.254.x.x (link local address) being a wrong IP address
 * Forum thread: iwlwifi fails to load after upgrade to 3.17.0
 * Forum thread: Where is my network !?

External resources

 * Wireless extensions on the Linux kernel wiki, wireless section