# 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 &lt;chipset&gt;.* **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: ```bash $ 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:* ```kernel 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] Example of discovering what firmware the kernel is probing with `journalctl` > ```sh > $ 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.*