Wi-Fi during installation

What does the Minimal Installation CD have to allow for Wi-Fi connections?
To allow for Wi-Fi connections, the Minimal Installation CD has a limited number of drivers available.

What is the only utility the Minimal Installation CD has for configuring WPA, WPA2, and Enterprise connections?
The only utility the Minimal Installation CD has for configuring WPA, WPA2, and Enterprise connections is the wpa_cli.

What should you do if the Minimal Installation CD doesn't have the required drivers for your network or you want the graphical frontend for wpa_supplicant?
If the Minimal Installation CD doesn't have the required drivers for the network or you want the graphical frontend for wpa_supplicant, you can use a different live CD such as the System Rescue CD.

Hardware detection

What is the first step in setting up Wi-Fi on Gentoo?
The first step in setting up Wi-Fi on Gentoo is detecting the Wi-Fi controllers.

What two programs can you use to detect the Wi-Fi controllers?
The two programs you can use to detect the Wi-Fi controllers are:

  1. lspci.
  2. lsusb.

If you're using a Linux LiveCD / USB which is booted and it makes a Wi-Fi connection, how do you find which driver is being used?
If you're using a Linux LiveCD / USB which is booted and it makes a Wi-Fi connection, you can find which driver is being used by:

  1. Running lspci -k.
  2. Finding the line starting with Kernel driver in use: which identifies the driver.

If the booted system doesn't make a Wi-Fi connection, how do you find the hardware identifier for the Wi-Fi controller to identify the appropriate driver later?
If the booted system doesn't make a Wi-Fi connection, you can find the hardware identifier for the Wi-Fi controller to identify the appropriate driver later by:

  1. Running lspci -n.
  2. Copying the list of PCI ID's that the command produces.

What does the lsusb command output?
The lsusb command outputs the PCI ID, manufacturer, make, model and/or chipset of every USB device attached to the system.

What is the most useful piece of information for finding the appropriate driver for a USB Network Interface Controller (NIC)?
The most useful piece of information for finding the appropriate driver for a USB NIC is the chipset.

What can you search for online to find a USB Network Interface Controller (NIC) driver and firmware name for a chipset?
To find a USB NIC driver and firmware name for a chipset, you can search online for linuxwireless.org <chipset>.

What other command can you run to find the drivers being used for Wi-Fi controllers regardless of if they're PCI or USB based?
The other command you can run to find the drivers being used for Wi-Fi controllers regardless of if they're PCI or USB based is:

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

IEEE 802.11

What are the two kernel configuration options you should have activated at least?
The two kernel configuration options you should have activated at least are:

  1. cfg80211 (CONFIG_CFG80211).
  2. mac80211 (CONFIG_MAC80211).

What two kernel configuration options might some wireless drivers need activated and why?
Two kernel configuration options that some wireless drivers might need activated are Minstrel and its 802.11n support because it's a rate control algorithm.

What do you need to do if the wireless configuration API (CONFIG_CFG80211) is built into the kernel (<*>) instead of as a module (<M>) and why?
If the wireless configuration API (CONFIG_CFG80211) is built into the kernel (<*>) instead of as a module (<M>), you need to set CONFIG_CFG80211=m or add regulatory.db and regulatory.db.p7s from the net-wireless/wireless-regdb package to CONFIG_EXTRA_FIRMWARE because the driver won't be able to load regulatory.db from /lib/firmware, leading to broken regulatory domain support.

WEXT

What kernel configuration option will allow support for old wireless-tools and iwconfig?
The kernel configuration option that allows support for old-wireless tools and iwconfig is cfg80211 wireless extensions compatibility.

Device drivers

The recommendation is to build drivers as ...
The recommendation is to build drivers as modules.

What kernel configuration option should you activate if the wireless network you want to connect to uses WPA or WPA2 encryption?
If the wireless network you want to connect to uses WPA or WPA2 encryption, the kernel configuration option you should activate is Ciphers: AES.

How does the firmware need to be built if the driver is built into the kernel (<*>) instead of as a module (<M>)?
If the driver is built into the kernel (<*>) instead of as a module (<M>), the firmware needs to be built into the kernel as well.

Don't forget to do what after changing the kernel's configuration?
After changing the kernel's configuration, don't forget to rebuild it.

LED support

How do you enable LED triggers for different packet receive/transmit events?
To enable LED triggers for different packet receive/transmit events, compile the kernel with the following options:

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

Firmware

What do some chipsets require in addition to the appropriate kernel driver?
In addition to the appropriate kernel driver, some chipsets require firmware.

Todo

This section lists all of the different Wi-Fi devices and what packages you should emerge in order to get the firmware for them.

How do you get the firmware for a Wi-Fi controller if there's no package in the Gentoo repository for it?
If there's no package in the Gentoo repository for the firmware for a Wi-Fi controller, you can get the firmware by downloading it manually and placing it in /lib/firmware.

Network device names

...

Wireless supplicant

What needs to be used if a wireless network is set up with WPA or WPA2?
If a wireless network is set up with WPA or WPA2, a wireless supplicant like wpa_supplicant or iwd needs to be used.

Where can you go for more information about configuring wireless networking in Gentoo?
To learn more about configuring wireless networking Gentoo, go to the Wireless networking chapter in the Gentoo handbook.

Testing

What are the four methods for testing if the Wi-Fi controller is detected after a reboot with the new kernel or after loading the modules?
The five methods for testing if the Wi-Fi controller is detected after a reboot with the new kernel or after loading the modules are:

  1. Using sysfs.
  2. Using the ip command.
  3. Using the ifconfig config.
  4. Using the iw command.
  5. Using the dmesg command.
Todo

This section shows how to perform the five methods for testing if the Wi-Fi controller is detected.

Find missing firmware

What will the kernel attempt to do at system boot?
At system boot, the kernel will attempt to probe firmware as appropriate for each card.

How can you discover the firmware that the kernel is probing?
You can discover the firmware that the kernel is probing by searching the output of dmesg (or journalctl for systemd) from the current boot.

Example of discovering what firmware the kernel is probing with journalctl
$ 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

Wi-Fi adapter cannot find and connect to a 5 GHz network

What might some networks with WPA or WPA2 be using which can prevent some computers from connecting to them?
Some networks with WPA or WPA2 might be using the legacy TKIP protocol instead of AES, which can prevent some computers from connecting to them.

How do you ensure that wpa_supplicant can connect to networks which use the TKIP protocol?
To ensure that wpa_supplicant can connect to networks which use the TKIP protocol, emerge net-wireless/wpa_supplicant with the tkip USE flag and reboot.