Ubuntu – No wifi option on Ubuntu (18.04 and 16.04)


I have recently installed Ubuntu 18.04 LTS, but I wouldn't get connected to the wifi as there was no wifi option. I checked /lib/firmware and my Intel AC 9260 wifi driver ucode was there, I tried downloading another one from Intel too but that didn't make a difference.

nvan@R2700x:~$ lspci -nnk | grep 0280 -A3`
    06:00.0 Network controller [0280]: Intel Corporation Device [8086:2526] (rev 29)
        Subsystem: Intel Corporation Device [8086:0014]
        Kernel driver in use: iwlwifi
        Kernel modules: iwlwifi

nvan@R2700x:~$ dmesg | grep iwl
[    4.583006] iwlwifi 0000:06:00.0: enabling device (0000 -> 0002)
[    4.596295] iwlwifi 0000:06:00.0: loaded firmware version 34.0.0 op_mode iwlmvm
[    4.615392] iwlwifi 0000:06:00.0: Detected Intel(R) Dual Band Wireless AC 9260, REV=0x324
[    4.622171] kernel BUG at /build/linux-5s7Xkn/linux-4.15.0/drivers/net/wireless/intel/iwlwifi/pcie/rx.c:425!
[    4.622216] Modules linked in: snd_hda_intel amd64_edac_mod(-) snd_hda_codec iwlmvm(+) snd_hda_core edac_mce_amd kvm_amd(-) snd_hwdep mac80211 kvm snd_pcm irqbypass crct10dif_pclmul crc32_pclmul ghash_clmulni_intel pcbc snd_seq_midi snd_seq_midi_event snd_rawmidi iwlwifi aesni_intel aes_x86_64 crypto_simd glue_helper cryptd wmi_bmof snd_seq cfg80211 input_leds btusb snd_seq_device btrtl snd_timer btbcm btintel snd bluetooth soundcore ccp k10temp ecdh_generic mac_hid shpchp sch_fq_codel parport_pc ppdev lp parport ip_tables x_tables autofs4 hid_generic usbhid hid nouveau mxm_wmi video ttm drm_kms_helper syscopyarea sysfillrect sysimgblt fb_sys_fops igb drm dca i2c_piix4 i2c_algo_bit ptp nvme ahci pps_core libahci nvme_core gpio_amdpt wmi gpio_generic
[    4.622335] RIP: 0010:iwl_pcie_rxq_alloc_rbs+0x1d0/0x1f0 [iwlwifi]
[    4.622403]  _iwl_pcie_rx_init+0x252/0x710 [iwlwifi]
[    4.622414]  iwl_pcie_rx_init+0x2d/0x3c0 [iwlwifi]
[    4.622436]  ? iwl_mvm_nic_config+0xeb/0x120 [iwlmvm]
[    4.622448]  iwl_trans_pcie_start_fw+0x2a1/0x6c0 [iwlwifi]
[    4.622462]  iwl_mvm_load_ucode_wait_alive+0xec/0x2b0 [iwlmvm]
[    4.622490]  iwl_run_init_mvm_ucode+0x8e/0x330 [iwlmvm]
[    4.622500]  ? iwl_run_init_mvm_ucode+0x8e/0x330 [iwlmvm]
[    4.622510]  ? iwl_wait_init_complete+0x20/0x20 [iwlmvm]
[    4.622523]  iwl_op_mode_mvm_start+0x649/0x920 [iwlmvm]
[    4.622536]  ? iwl_op_mode_mvm_start+0x649/0x920 [iwlmvm]
[    4.622546]  _iwl_op_mode_start.isra.10+0x4c/0xa0 [iwlwifi]
[    4.622556]  iwl_opmode_register+0x75/0xe0 [iwlwifi]
[    4.622573]  iwl_mvm_init+0x38/0x1000 [iwlmvm]
[    4.622739] RIP: iwl_pcie_rxq_alloc_rbs+0x1d0/0x1f0 [iwlwifi] RSP: ffffadbfc23fb8a8

Thank you for your help!
Nick V

Update 1:
I have tried to install the BackPort from this site backport-iwlwifi
. However, I'm unable to install it due to lack of gcc. I also tried to install build-essential package, but without an internet connection, I'm clueless about how to proceed.

Best Answer

Please start with:

sudo apt update
sudo apt install build-essential git

Now do:

git clone https://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi.git
cd backport-iwlwifi
sudo make
sudo make install

The ‘make’ step takes a few moments; please be patient.

Now, we’ll write a conf file:

sudo -i
echo “options iwlwifi disable_msix=1”  >>  /etc/modprobe.d/iwlwifi.conf

Reboot and tell us if the wireless is now working.

EDIT: You have compiled the driver for your currently running kernel version only. When Update Manager installs a newer kernel version, after the requested reboot, recompile:

cd backport-iwlwifi
sudo make clean
sudo make
sudo make install


Please retain the files and these instructions for that time.

Related Question