如何让英特尔无线 3168 802.11ac 无线网卡工作?

Kus*_*hal 7 wireless intel-wireless 16.04

我最近买了HP Pavilion 15 AU113TX笔记本电脑,它配备了Intel Core i5 7200U Kaby Lake 处理器,我在上面安装了 Ubuntu GNOME 16.04.1,但无法检测到 WiFi 适配器。

  • 运行后lspci -nnk | grep -A2,我得到以下有关适配器的信息。

    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]
    
    Run Code Online (Sandbox Code Playgroud)
  • 但是运行时rfkill list all,我看到以下输出(那里缺少 WiFi)。

    0: hci0: Bluetooth
            Soft blocked: no
            Hard blocked: no
    
    Run Code Online (Sandbox Code Playgroud)
  • 这是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!
    
    Run Code Online (Sandbox Code Playgroud)
  • ls -al /lib/firmware | grep 3168在 Stock Kernel 4.4.0-36 和 Kernel 4.7.3 下的输出。

    -rw-r--r--  1 root root   33168 Jul 13 01:03 hfi1_pcie.fw
    
    Run Code Online (Sandbox Code Playgroud)

请注意,这台笔记本电脑使用 Windows 10 家庭版双启动,并且 WiFi 在那里工作正常。

现在,我不知道 Ubuntu 16.04 附带的 4.4 内核是否支持此适配器,或者它需要手动修复,因为我的笔记本电脑没有硬件开关来打开/关闭 WiFi。此外,这是 WiFi 和蓝牙的组合适配器,我可以很好地使用蓝牙。以太网也能工作。

在搜索了Intel® Dual Band Wireless-AC 3168 之后,我发现这个页面表明从内核 v4.6 开始添加了对该无线适配器的支持,并且由于 16.04 具有内核 4.4,我尝试了两件事。

1) 升级内核

我从kernel.ubuntu.com手动安装了 4.7.3 ,并启动了它,但 WiFi 仍然没有被检测到。

2) 为该适配器版本 (3168) 加载固件。

我搜索了.ucode这个适配器的文件,并在OpenELEC 的 GitHub 上找到了它。所以我复制iwlwifi-3168-21.ucodeiwlwifi-3168-22.ucode文件,/lib/firmware/并重新启动,但仍没有运气。


更新

这似乎是一个linux-firmware相关的错误,我已经在Launchpad上提交了报告。然而,Jeremy31给出的解决方法似乎修复了内核 4.7.4 下的 WiFi,但它破坏了在 Stock Kernel 4.4.0-38 下工作正常的蓝牙。我仍在寻找不会导致任何回归的正确修复(我可以升级到较新的稳定内核版本)。

Jer*_*y31 5

您有 4.7 内核设备的固件问题

wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/linux-firmware_1.161_all.deb
sudo dpkg -i linux-firmware_1.161_all.deb
Run Code Online (Sandbox Code Playgroud)

重新启动到 4.7 内核,您的无线应该可以正常工作