今天给自己的笔记本电脑安装了新的Ubuntu 16.04但是安装之后发现wifi无法启用。这里特说明解决过程。

首先,网上的大部分教程是 选择“系统设置”,点击“软件和更新”点击“附加驱动”,这时候系统会自动联网监测本机适用的附加驱动,其中就包括你的无线网卡驱动。

但是按照上述步骤,却并没有看到需要安装驱动的硬件。但是我在网上找到了这样的一篇博客:Ubuntu 16.04下无线网卡无法正常连网

一.分析:

1.使用ifconfig命令发现不会显示无线网卡,说明无线网卡被关闭,笔者输出的信息如下:

linuxidc@linuxidc:~$ ifconfig

eth0 Link encap:以太网 硬件地址 16:03:71:93:64:22
 inet 地址:192.168.100.3 广播:192.168.100.255 掩码:255.255.255.0
 inet6 地址: fe80::1a03:73ff:fe92:632e/64 Scope:Link
 UP BROADCAST RUNNING MULTICAST MTU:1500 跃点数:1
接收数据包:295308 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:208860 错误:1 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1000
接收字节:394951279 (394.9 MB) 发送字节:19510963 (19.5 MB)

lo Link encap:本地环回
inet 地址:127.0.0.1 掩码:255.0.0.0
 inet6 地址: ::1/128 Scope:Host
 UP LOOPBACK RUNNING MTU:65536 跃点数:1
接收数据包:943526 错误:0 丢弃:0 过载:0 帧数:0
发送数据包:943526 错误:0 丢弃:0 过载:0 载波:0
碰撞:0 发送队列长度:1
接收字节:464924375 (464.9 MB) 发送字节:464924375 (464.9 MB)

2.使用lshw命令输出信息(只贴出无线网卡相关的信息)如下:

linuxidc@linuxidc:~$ lshw

*-network DISABLED
 description: Wireless interface
 physical id: 2
 logical name: wlan0          1
 serial: 92 :31:e3:4a:75:f2
 capabilities: ethernet physical wireless
 configuration:
broadcast=yes driver=brcmsmac driverversion=4.1.0-78-generic
firmware=102.304 ip=192.168.100.131 link=no multicast=yes wireless=IEEE
802.11bgn

从第2点的"*-network DISABLED"这一行可以明确无线网卡在硬件上被禁止了

3.于是打开硬件开关,但尝试了很多次都没成功,通过rfkill的输出信息来判断:

linuxidc@linuxidc:~$ sudo rfkill list all
[sudo] linuxidc 的密码:
0: phy0: Wireless LAN
 Soft blocked: no
 Hard blocked: yes

从"Hard blocked: yes"这一行可以看出无线网卡在硬件上被block

如果是Soft blocked: yes , 可以通过 Fn+f2(笔记本) 打开

4.通过第3点开始怀疑无线网卡的驱动是否安装正确

二.安装无线网卡驱动:

1.卸载之前安装的无线网卡驱动(如果之前安装了的情况下,否则请无视):

sudo apt-get purge firmware-b43-installer

sudo apt-get purge bcmwl-kernel-source

2.获取无线网卡的PCI.ID (笔者的无线网卡品牌是broadcom,所以指定厂商代号为14e4)

linuxidc@linuxidc$ lspci -nn -d 14e4:
09:00.0 Network controller [0280]: Broadcom Corporation BCM4313 802.11bgn Wireless Network Adapter [14e4:4727] (rev 01)

从以上信息中获取到关键信息为:[14e4:4727] (rev 01)

-nn 选项是只显示指定的厂商代码对应的设备

-d 选项是显示厂商代号和设备代号,同时显示数字和名称

3.更新ubuntu的PCI.IDs列表:

3.1sudo apt-get update (首先更新软件包索引)

3.2sudo update-pciids (如果一直没有响应,那就将其中断),直接替换原来的/usr/share/misc/pci.ids文件,命令如下:

  cd /usr/share/misc/

  sudo mv pci.ids pci.ids.orig

   然后从http://pci-ids.ucw.cz/下载最新的pic.ids文件

  将下载好的pci.ids文件复制到/usr/share/misc/目录下(由于笔者认为目前的无线网卡硬件不是很新,因此无线网卡的信息在原来的pci.ids文件中是存在的,因此并没有手动去更新pci.ids文件)

4.安装对应的无线网卡驱动,从下表即可获得对应驱动的软件包名
PCI.ID              16.04 LTS                        17.10+
------------------------------------------------------------------------------------
14e4:0576          Special Case #1                  UNKNOWN     
14e4:4301          firmware-b43-installer            firmware-b43-installer     
14e4:4306          firmware-b43-installer            firmware-b43-installer     
14e4:4306 rev 02    firmware-b43-installer            firmware-b43-installer     
14e4:4306 rev 03    firmware-b43-installer            firmware-b43-installer     
14e4:4307          firmware-b43-installer            firmware-b43-installer     
14e4:4311          firmware-b43-installer            firmware-b43-installer     
14e4:4311 rev 01    firmware-b43-installer            firmware-b43-installer     
14e4:4312          firmware-b43-installer            firmware-b43-installer     
14e4:4313          firmware-b43-installer            firmware-b43-installer             
14e4:4315          firmware-b43-installer            firmware-b43-installer     
14e4:4315 rev 01    firmware-b43-installer            firmware-b43-installer
14e4:4318          firmware-b43-installer            firmware-b43-installer               
14e4:4318 rev 02    firmware-b43-installer            firmware-b43-installer               
14e4:4319          firmware-b43-installer            firmware-b43-installer             
14e4:4320 rev 02    firmware-b43-installer            firmware-b43-installer             
14e4:4320 rev 03    firmware-b43-installer            firmware-b43-installer           
14e4:4321          firmware-b43-installer            firmware-b43-installer 
14e4:4324          firmware-b43-installer            firmware-b43-installer       
14e4:4325          firmware-b43-installer            firmware-b43-installer     
14e4:4328          firmware-b43-installer            firmware-b43-installer       
14e4:4329          bcmwl-kernel-source              bcmwl-kernel-source       
14e4:432a          bcmwl-kernel-source              bcmwl-kernel-source       
14e4:432b          bcmwl-kernel-source              bcmwl-kernel-source       
14e4:432c          bcmwl-kernel-source              bcmwl-kernel-source       
14e4:432d          bcmwl-kernel-source              bcmwl-kernel-source     
14e4:4331          firmware-b43-installer            firmware-b43-installer         
14e4:4335          firmware-b43-installer            firmware-b43-installer     
14e4:4350          firmware-b43-installer            firmware-b43-installer 
14e4:4353          Special Case #1                  UNKNOWN       
14e4:4353 rev 01    Special Case #1                  UNKNOWN               
14e4:4357          Special Case #1                  UNKNOWN       
14e4:4358          bcmwl-kernel-source              bcmwl-kernel-source
14e4:4359          bcmwl-kernel-source              bcmwl-kernel-source     
14e4:4360          bcmwl-kernel-source              bcmwl-kernel-source   
14e4:4365          bcmwl-kernel-source              bcmwl-kernel-source     
14e4:4365 rev 01    bcmwl-kernel-source              bcmwl-kernel-source     
14e4:43a0          bcmwl-kernel-source              bcmwl-kernel-source
14e4:43ae rev 02    UNKNOWN                          UNKNOWN   
14e4:43b1          bcmwl-kernel-source              bcmwl-kernel-source       
14e4:43b1 rev 03    bcmwl-kernel-source              bcmwl-kernel-source             
14e4:43c3 rev 04    UNKNOWN                          Special Case #2                   
14e4:4727          bcmwl-kernel-source              bcmwl-kernel-source       
14e4:4727 rev 01    bcmwl-kernel-source              bcmwl-kernel-source       
14e4:a962          firmware-b43-installer            firmware-b43-installer     
------------------------------------------------------------------------------------
4.1从上表中可以看到bcmwl-kernel-source与14e4:4727 rev 01对应,因此安装命令如下:
sudo apt-get install bcmwl-kernel-source
4.2重新启动

个人觉得是上述红色的字体是主要的。

sudo apt-get update

sudo update-pciids

上述两步完成后,再进行选择“系统设置”,点击“软件和更新”点击“附加驱动”,这时候系统会自动联网监测本机适用的附加驱动,其中就包括你的无线网卡驱动。

就可以看到需要安装驱动的硬件了,点击安装即可。

Ubuntu系统下电脑驱动的安装(wifi无线网卡)的更多相关文章

  1. ubuntu系统下Python虚拟环境的安装和使用

    ubuntu系统下Python虚拟环境的安装和使用        前言:进行python项目开发的时候,由于不同的项目需要使用不同的资源包和相关的配置,因此创建多个python虚拟环境,在虚拟环境下开 ...

  2. Ubuntu系统下完全卸载和安装Mysql

    删除 mysql sudo apt-get autoremove --purge mysql-server-5.0 sudo apt-get remove mysql-server sudo apt- ...

  3. Tex_安装_在Ubuntu系统下

    $\LaTeX$是一个强大的排版软件,在数学公式.表格.甚至是科学绘图方面有着独特优势.本文在Ubuntu系统下,整理Tex安装相关的操作,以为备忘.所引链接都未同作者商量,如有不妥望及时告知. 命令 ...

  4. Ubuntu系统下OpenDaylight源码编译安装

    操作系统:Linux x64 / Ubuntu 14.04 研究领域:软件定义网络SDN (Software-defined Networking) 开发组件:OpenDaylight 声明:转载请注 ...

  5. linux 系统下IntelliJ IDEA的安装及使用

    由于刚刚进入研究生阶段,通过几个月对大数据的学习,从java到hadoop,再到scala到spark.在这我写一下我在ubuntu系统下intelliJ IDEA的安装和配置.首先我的ubuntu系 ...

  6. Ubuntu系统---安NVIDIA 驱动后 CUDA+cuDNN 安装

    Ubuntu系统---安NVIDIA 驱动后  CUDA+cuDNN 安装 --------------------------------------------@20190726--------- ...

  7. CentOS和Ubuntu系统下安装 HttpFS (助推Hue部署搭建)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  8. Ubuntu系统下安装并配置hive-2.1.0

    说在前面的话 默认情况下,Hive元数据保存在内嵌的Derby数据库中,只能允许一个会话连接,只适合简单的测试.实际生产环境中不使用,为了支持多用户会话, 则需要一个独立的元数据库,使用MySQL作为 ...

  9. ubuntu系统下安装pyspider:搭建pyspider服务器新手教程

    首先感谢“巧克力味腺嘌呤”的博客和Debian 8.1 安装配置 pyspider 爬虫,本人根据他们的教程在ubuntu系统中进行了实际操作,发现有一些不同,也出现了很多错误,因此做此教程,为新手服 ...

随机推荐

  1. 什么,kafka能够从follower副本读数据了 —kafka新功能介绍

    最近看了kafka2.4新版本的一些功能特性,不得不说,在kafka2.0以后,kafka自身就比较少推出一些新的feature了,基本都是一些修修补补的东西.倒是kafka connect和kafk ...

  2. 基于CefSharp开发(三)浏览器头部优化

    一.上文回顾 上编实现了简单的网页加载功能包括URL输入.打开空标签页.网页链接中新页面处理等 本编将对网页的Title绑定.前进.后退.刷新等事件处理 二.Title绑定处理 当打开网页时Title ...

  3. 因为一个Docker问题,我顺手整理从安装到常用命令操作手册

    今天,自己写了一部分业务代码,是常规代码的另外一种方式,不能在公司的服务器上测试,就自己在PC端搭建了一套和公司集群一样的模板,因为公司的业务模块的测试有单独的服务器(这一块还是我很稀罕的),但是,第 ...

  4. Zookeeper(5)---分布式锁

    基于临时序号节点来实现分布式锁 为什么要用临时节点呢?如果拿到锁的服务宕机了,会话失效ZK自己也会删除掉临时的序号节点,这样也不会阻塞其他服务. 流程: 1.在一个持久节点下面创建临时的序号节点作为锁 ...

  5. 第8.20节 Python中限制动态定义实例属性的白名单:__slots__

    一. 引言 按照<第7.10节 Python类中的实例变量定义与使用>.<第7.14节Python类中的实例方法解析>中的介绍,当定义了一个类,并且创建了该类的实例后,可以给该 ...

  6. PHP代码审计分段讲解(5)

    11 sql闭合绕过 源代码为 <?php if($_POST[user] && $_POST[pass]) { $conn = mysql_connect("**** ...

  7. 利用神经网络算法的C#手写数字识别(二)

    利用神经网络算法的C#手写数字识别(二)   本篇主要内容: 让项目编译通过,并能打开图片进行识别.   1. 从上一篇<利用神经网络算法的C#手写数字识别>中的源码地址下载源码与资源, ...

  8. easyui textbox validatebox 默认显示tip提示

    easyui验证是不显示tip提示的,验证不通过时只将输入框变红,要触发一个mouse(鼠标放上去)的事件才会显示tip. 现在想要验证不通过时直接显示提示,给用户更加直观的错误提示. 找到源代码中验 ...

  9. Java内存模型(MESI、内存屏障、volatile和锁及final内存语义)

    JMM (Java内存模型) Java线程的实现 实现线程主要有三种方式,Java线程从JDK1.3后采用第一种方式实现: 使用内核线程实现(1:1实现) 使用用户线程实现(1:N实现) 使用用户线程 ...

  10. Missing Private key解决方案——IOS证书 .cer 以p12文件以及配置方案

    一个苹果证书怎么多次使用--导出p12文件 为什么要导出.p12文件 因为苹果规定 .cer证书只能存在于一台机器上,因此 如果另一台电脑想要用的话,需要导出为.p12 file ,安装到另一台没有安 ...