升级到Ubuntu 16.04后无法查看WiFi网络。

我在从14.04升级到Ubuntu 16.04后无法查看任何WiFi网络。尝试升级到Ubuntu 15.10时也出现了这个问题。以下是我的网络窗口的样子:

enter image description here

我在“软件和更新”窗口中启用了Broadcom: enter image description here 此外,在右上角的下拉菜单中没有WiFi选项。这些截图是来自Ubuntu GNOME,但对于标准Ubuntu也不起作用。如何启用WiFi网络? lspci -knn | grep Net -A2的输出:
07:00.0 Network controller [0280]: Broadcom Corporation BCM43142 802.11b/g/n [14e4:4365] (rev 01)
    Subsystem: XAVi Technologies Corp. BCM43142 802.11b/g/n [1b9a:3002]
    Kernel modules: bcma, wl

执行sudo apt-get install bcmwl-kernel-source的输出结果为:
Reading package lists... Done
Building dependency tree       
Reading state information... Done
bcmwl-kernel-source is already the newest version (6.30.223.248+bdcom-0ubuntu8).
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

sudo apt-get install --reinstall bcmwl-kernel-source的输出:

Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 1 reinstalled, 0 to remove and 0 not upgraded.
Need to get 0 B/1,515 kB of archives.
After this operation, 0 B of additional disk space will be used.
(Reading database ... 153417 files and directories currently installed.)
Preparing to unpack .../bcmwl-kernel-source_6.30.223.248+bdcom-0ubuntu8_amd64.deb ...
Removing all DKMS Modules
Done.
Unpacking bcmwl-kernel-source (6.30.223.248+bdcom-0ubuntu8) over (6.30.223.248+bdcom-0ubuntu8) ...
Setting up bcmwl-kernel-source (6.30.223.248+bdcom-0ubuntu8) ...
Loading new bcmwl-6.30.223.248+bdcom DKMS files...
Building only for 4.4.0-21-generic
Building for architecture x86_64
Building initial module for 4.4.0-21-generic
Done.

wl:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/4.4.0-21-generic/updates/dkms/

depmod....

DKMS: install completed.
modprobe: ERROR: could not insert 'wl': Required key not available
update-initramfs: deferring update (trigger activated)
Processing triggers for initramfs-tools (0.122ubuntu8) ...
update-initramfs: Generating /boot/initrd.img-4.4.0-21-generic
sudo modprobe wl的输出结果为:
modprobe: ERROR: could not insert 'wl': Required key not available

请编辑您的问题并添加lspci -knn | grep Net -A2终端命令的输出。 - Pilot6
2在终端中运行以下命令:sudo apt-get install --reinstall bcmwl-kernel-source - Pilot6
已经安装好了。请查看编辑后的帖子以获取输出结果。 - Nathan Bierema
尝试重新安装它。我更新了命令。然后运行 sudo modprobe wl - Pilot6
输出了一个错误。详见编辑部分的细节。 - Nathan Bierema
4我编辑了BIOS以关闭安全模式,现在Wi-Fi可以正常工作了。有没有更好的方法来做这个? - Nathan Bierema
4我是指Secure Boot而不是安全模式。 - Nathan Bierema
目前16.04还存在一些不明确的问题。 - Pilot6
禁用安全启动可能会解决问题。 - user534017
1可能是安装Broadcom无线驱动程序的重复问题。 - David Foerster
我有同样的问题,但是在我的4.2.0内核启动时它起作用了。然而,在我尝试重新安装bcmwl-kernel-source之后,那个工作的模块消失了,现在什么都不起作用了。 - user1603472
整天都在处理重要问题,但没有得到任何可接受的答案,也没有找到有效的解决方案。他们说Ubuntu有很好的在线帮助,真是让人摇头不已。 - user10089632
8个回答

我认为这是网络管理器的问题。我曾经遇到过Intel Wireless-AC 7260的同样问题。
我执行了`iwconfig`命令,发现网卡存在但是处于关闭状态(`iwlist scan`失败),所以我手动运行了以下命令来启动它:
sudo ifconfig wlp4s0 up
service network-manager restart

而且它在gnome中出现得就像魔术一样。

4是的。这确实有效 :) 太棒了。但是,挂起后,我必须一遍又一遍地重复这个步骤。有没有办法可以永久解决这个问题? - C.S.
3我只发现重新启动network-manager就足够了-所以确实,我希望有人能帮忙找出原因,因为我没有看到任何错误(cat /var/log/syslog | grep NetworkManager)。 - Marek Vavrečan
1我刚刚必须执行 $ service network-manager restart。 - Brock Vond

modprobe: ERROR: could not insert 'wl': Required key not available
你需要关闭安全启动。
“安全启动”是由PC行业成员开发的安全标准,旨在确保您的计算机仅使用PC制造商信任的软件启动。
  1. 关闭安全启动

  2. 移除 bcmwl-kernel-source

    sudo apt-get purge bcmwl-kernel-source
    
  3. 重新安装 bcmwl-kernel-source 和内核头文件:

    sudo apt-get install linux-generic bcmwl-kernel-source
    
  4. 重启计算机


如果我将其与原始设备制造商的Windows 10操作系统双启动,会怎么样? - WhiZTiM
1如何关闭安全启动? - user1603472
1@user1603472 从BIOS设置开始 - GAD3R
3谢谢。但是为什么会这样呢?为什么它能解决问题,而没有其他方法可以修复呢? - user1603472
1在禁用安全启动后,您无需重新安装bcmwl-kernel-source - Pilot6
我已经禁用了安全启动,但仍然出现modprobe: ERROR: could not insert 'wl': Invalid argument的错误提示。 - lino

对我来说,这个命令有效:
sudo /etc/init.d/network-manager restart

我曾经需要这个命令来解决我的Chromebook在从挂起状态中恢复时的问题。它来自于某个帖子

编辑:

所以这只是一个临时解决方案。为了使其永久有效,我将其放在某个脚本中(对我来说是~/bin/fixwifi),然后将该脚本的符号链接重命名为S06fixwifi并放在/etc/rc2.d目录下。

换句话说

在某个地方创建一个包含此文本的脚本:

#!/usr/bin/env bash
/etc/init.d/network-manager restart

使用以下命令使其可执行

chmod a+x <scriptname>

在脚本名字里填入刚刚创建的脚本名称。

然后将其建立符号链接到启动项中。

sudo ln -s  </path/to/scriptname> /etc/rc2.d/S06fixwifi

对我来说,重新安装驱动程序足以解决问题,首先重新启动服务使其正常工作。
service network-manager restart
sudo apt-get purge bcmwl-kernel-source
sudo apt-get update
sudo apt-get install bcmwl-kernel-source

我正在将HP DV4从14.04升级到16.04。

这不就跟这个答案差不多吗? - David Foerster
我总结了一下,让它更直接,去掉了所有我不关心的内容,并添加了网络重启的步骤,这样你就可以真正地开始整个过程。还添加了我使用的具体电脑和我进行的具体升级。这样下一个遇到同样问题的人就能得到一个直接的答案(这是我希望找到的答案)。 - Damian kober
1我会允许的。;-) - David Foerster

当我今天升级到官方的16.04 Ubuntu时(使用一个Apple PowerMac 13" 2015),我遇到了相同的问题 - 使用Unity界面。之前我使用的是最新的16.04预览版。

所以我认为有两个问题。首先,最新的16.04内核(4.4.0-21-generic)在初始启动时使得Broadcom 43602 WIFI芯片无法工作(就我理解来说,这是固件的问题)。在挂起恢复或重新启动后就可以正常工作。

 sudo rmmod brcmfmac
 sudo modprobe brcmfmac

修复了问题。
对于感兴趣的人: 然而,暂停和恢复功能不再起作用,因为盒子在2-3秒后自动恢复。这似乎是一个常见的问题。 详细描述请参见https://bugzilla.kernel.org/show_bug.cgi?id=101681。 在我的位置上。
 sudo cat > /etc/rc.local <<EOF
 echo LID0 > /proc/acpi/wakeup
 echo XHC1 > /proc/acpi/wakeup
 EOF

做到了。

GUI-only:这对我有用,尽管我不知道为什么。
我正在使用一台联想B570,这是一台配置较低的笔记本电脑,配备了最小化的Phoenix BIOS和Broadcom 4313无线网卡。在使用16.04的LiveUSB时,专有的wifi可以直接使用,但在安装后就无法连接wifi了。因此,我认为这是我的硬件配置出现了问题。
为了安装和激活专有驱动程序(尽管如上所述存在问题),我需要通过笔记本电脑的开关手动关闭无线网卡,然后在“附加驱动”选项卡中进行操作。只有这样,附加驱动工具才能将默认的开源内核wifi驱动程序更改为专有驱动程序。重新启动后,我可以以正确的速度连接到互联网,但在Ubuntu网络设置中显示为以太网连接,因此无法显示wifi热点。它只能手动输入wifi配置文件。
我进入了BIOS设置。我唯一能改变的是wifi开关和设备/操作系统的启动顺序。我打开和关闭了wifi开关,并保存了设置。我将Ubuntu从第一位移动到第二位,并将网络卡设置为第一位,仿佛我要设置网络引导一样。然后我重新启动了电脑。几秒钟后,网络引导失败,然后正常地进入了Ubuntu加载界面。在启动后立即发现,专有wifi在16.04上完美地工作了。这可能是电源问题、网络硬件问题还是BIOS的bug?还是一个巧合的未知修复呢?

我曾经遇到过与英特尔无线网卡相同的错误,我不得不关闭安全启动并按照答案中给出的指示进行操作,即:
sudo apt purge 'oem-wifi-intel.*'
sudo apt install linux-generic-hwe-16.04
reboot