lspci -nnk | grep -A2, I'm getting following information about adapter.
028005:00.0 Network controller : Intel Corporation Device [8086:24fb] (rev 10) DeviceName: Intel Dual BandWireless-AC 3168 802.11 ac 1x1 WiFi + BT 4.0 Combo Adapter Subsystem: Intel Corporation Device [8086:2110]
rfkill list all, I see following output (WiFi missing there).
0: hci0: Bluetooth Soft blocked: no Hard blocked: no
And here's the output for
dmesg | grep iwl.
[ 13.570633] iwlwifi 0000:05:00.0: Unsupported splx structure [ 13.635662] iwlwifi 0000:05:00.0: Direct firmware load for iwlwifi-3168-21.ucode failed with error -2 [ 13.650761] iwlwifi 0000:05:00.0: Direct firmware load for iwlwifi-3168-20.ucode failed with error -2 [ 13.650765] iwlwifi 0000:05:00.0: no suitable firmware found!
ls -al /lib/firmware | grep 3168Under both Stock Kernel 4.4.0-36 & Kernel 4.7.3.
-rw-r--r-- 1 root root 33168 Jul 13 01:03 hfi1_pcie.fw
Please note that this laptop is dual booted with Windows 10 Home, and WiFi is working fine there.
Now, I don't know if this adapter is supported by 4.4 kernel that Ubuntu 16.04 ships with, or it requires manual fix, as my laptop doesn't have hardware switch to turn on/off WiFi. Also, this being a combo adapter for both WiFi and Bluetooth, I can use Bluetooth just fine. Ethernet works too.
After searching around Intel® Dual Band Wireless-AC 3168 I found this page which suggests that support for this Wireless Adapter was added starting Kernel v4.6, and since 16.04 has Kernel 4.4, I tried two things.
1) Upgrade Kernel
I manually installed 4.7.3 from kernel.ubuntu.com, and booted into it but WiFi still remains undetected.
2) Loading firmware for this adapter version (3168).
I searched for
.ucode files for this adapter and found it on OpenELEC's GitHub. So I copied
iwlwifi-3168-22.ucode files to
/lib/firmware/ and rebooted, but still no luck.
This seems to be a
linux-firmware related bug, and I have filed the report on Launchpad. However, workaround given by Jeremy31 seems to fix WiFi under Kernel 4.7.4, but it breaks Bluetooth which was working fine with Stock Kernel 4.4.0-38. I'm still looking for a proper fix which doesn't cause any regressions (I'm fine with upgrading to newer stable Kernel release).