I bought a new laptop, removed the internal hard drive from my old laptop and put it into the new one. Ubuntu 16 in general works fine but it does not recognize the Wi-Fi network adapter in the new computer. Connecting to the internet with an Ethernet cable works fine. Neither the network manager nor the network settings seem to be aware that the laptop has a wireless antenna.

Dual booting in Windows shows the wireless hardware works fine. Booting Ubuntu from a USB stick also finds the wireless and connects without problems. From the Ubuntu wireless troubleshooting, if I use lspci -v, it finds the network controller, device name is “Intel Dual BandWireless-AC 3168 802.11 ac 1x1 WiFi + BT 4.0 Combo Adapter”, but nmcli dev shows only the Ethernet controller but nothing Wi-Fi related.

How can I tell Ubuntu to look through the hardware, find the Wi-Fi network controller, and if needed load the drivers for it?

  • Please edit here by adding the output of uname -a
    – GAD3R
    Nov 10, 2017 at 12:48
  • 1
    Also show the output of rfkill list all.
    – defalt
    Nov 10, 2017 at 13:16

2 Answers 2


To get the wifi working for Intel Dual Band Wireless-AC 3168 you should:

1) Upgrade your kernel version to a kernel version >= 4.6+

2) Download a copy the firmware to your /lib/firmware

wget https://wireless.wiki.kernel.org/_media/en/users/drivers/iwlwifi-3168-ucode-22.361476.0.tgz
tar xvf iwlwifi-3168-ucode-22.361476.0.tgz
cd iwlwifi-3168-ucode-22.361476.0
sudo cp iwlwifi* /lib/firmware
sudo modprobe -v iwlwifi

Intel website: Intel® Dual Band Wireless-AC 3168

  • 1
    This worked, thanks. Had to google how to do a kernel upgrade and then go through the command line to do it. Is there a better way (ie graphic user interface) to do it? Also had to add a 'sudo' for the last two lines of step 2) to get admin rights.
    – quarague
    Nov 10, 2017 at 13:41

Boot from USB, figure out what module it's using with lsmod, then reboot and modprobe that. If it works, you can make it load automatically by creating a file in /etc/modprobe.d, see man modprobe.d for how to do that.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .