I have recently bought HP Pavilion 15 AU113TX laptop, which comes with Intel Core i5 7200U Kaby Lake processor, I have installed Ubuntu GNOME 16.04.1 on it, and it is unable to detect WiFi adapter.
Upon running
lspci -nnk | grep -A2
, I'm getting following information about adapter.028005:00.0 Network controller [0280]: 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]
But running
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!
Output for
ls -al /lib/firmware | grep 3168
Under 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-21.ucode
and iwlwifi-3168-22.ucode
files to /lib/firmware/
and rebooted, but still no luck.
Update
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).
dmesg | grep iwl
ls -al /lib/firmware | grep 3168