解决Debian 9 iwlwifi固件缺失导致无法连接无线网络的问题
本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=692
前言:
本文介绍了解决Debian9安装完成后无法连接wifi的问题以及一些扩展知识。
问题描述:
安装Debian9的时候就提示缺少iwlwifi固件,但是我当时连接的是有线网络,因此跳过去该问题并没有影响我安装Debian。不过,以这种方式安装完成的Debian只能使用有线网络连接互联网,无法使用无线网络。当插入一个USB无线网卡时,我们会在网络连接页面看到“固件缺失”的提示:
图 1
操作环境:
系统:
Linux zd 4.9.0-6-amd64 #1 SMP Debian 4.9.82-1+deb9u3 (2018-03-02) x86_64 GNU/Linux
网络:
有线网络(用于下载安装包)和无线网络(用于验证问题是否解决)
解决过程:
1.连接上有线网络并切换到root用户。
2.备份一下Debian9的软件源配置文件:
cd /etc/apt/
cp sources.list sources.list.bak
2.打开Debian9的软件源配置文件:
leafpad /etc/apt/sources.list
注:用leafpad打开方面复制,Debian9默认没有安装leafpad.
3.将non-free添加到每个源的后面:
修改好之后是这样的:
#
# deb cdrom:[Debian GNU/Linux 9.4.0 _Stretch_ - Official amd64 DVD Binary-1 20180310-11:21]/ stretch contrib main
#deb cdrom:[Debian GNU/Linux 9.4.0 _Stretch_ - Official amd64 DVD Binary-1 20180310-11:21]/ stretch contrib main
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main non-free
deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch main non-free
deb <http://security.debian.org/debian-security stretch/updates> main contrib non-free
deb-src <http://security.debian.org/debian-security stretch/updates> main contrib non-free
# stretch-updates, previously known as 'volatile'
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main contrib non-free
deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ stretch-updates main contrib non-free
更新系统:
apt-get update
安装firmware-iwlwifi包:
apt-get install firmware-iwlwifi
iwlwifi模块可以被自动加载,当iwlwifi被自动加载时我们需要重新插入该模块以访问固件。
设置iwlwifi自动重新加载:
modprobe -r iwlwifi ; modprobe iwlwifi
之后我们就可以看到wifi连接的选项了:
图 2
扩展知识:
Debian是一个开源操作系统。因此,在安装Debian的时候,默认只安装自由软件,而非自由软件(non-free)则不会被默认安装。在Debian官方的wiki(https://wiki.debian.org/WiFi)中有关于wifi固件以及非开源的wifi驱动程序的说明,在这篇关于wifi的wiki里,有这样的描述:
”Currently there are only a few modern wifi chipsets readily available that work with free software systems. For USB wifi devices this list includes the Realtek RTL8187B chipset (802.11G) and the Atheros AR9170 chipset (802.11N). For Mini PCIe all cards with an Atheros chipset are supported.”.
翻译成中文就是:
“目前只有少数几个现代的WiFi芯片组可以与自由软件系统一起工作。对于USB WiFi设备,该列表包括RealTek RTL8187B芯片组(802.11g)和ActhOS AR9170芯片组(802.11n)。对于小型PCIe,所有具有AcICOS芯片组的卡都得到支持。”
也就是说并不是所有计算机中的wifi固件都支持自由软件,因此Debian9默认并没有启用对wifi的支持。但是 802.11n是支持自由软件的,所以我们需要安装iwlwifi Linux kernel driver(iwlwifi内核驱动程序)来启用对Intel 802.11n devices(Intel 802.11n设备)的支持。
参考资料:
1.Debian Wiki: WiFi:https://wiki.debian.org/WiFi
2.Debian Wiki: iwlwifi:https://wiki.debian.org/iwlwifi
3.iwlwifi - WikiDevi:https://wikidevi.com/wiki/Iwlwifi
4.802.11n_百度百科:https://baike.baidu.com/item/802.11n
解决Debian 9 iwlwifi固件缺失导致无法连接无线网络的问题的更多相关文章
- Android Studio 解决ADB检测不到手机导致无法连接的问题
ADB的全称是Android Debug Bridge,是用来管理模拟器和真机的通用调试工具. 开USB调试 方法:手机设置 - 开发人员选项 - USB调试 - 勾选(开发者调试被隐藏了,在关于手机 ...
- Centos无法连接无线网络解决办法
系统->管理->服务器设置->服务,将NetworkManager选项勾选,点击重启服务.然后就可以看到右上角已经有了网络连接.
- 【Debian学徒记事】记一次解决Debian开机1min30s
记一次解决Debian开机1min30s 打开我亲爱的Debian 欸,好像有点慢 [* * * * ] A start job is running for....(*/1min30s) [TIME ...
- 解决ie6不支持position: fixed;导致无法滚动的办法
<div id="im" style="top: 100px; position: fixed; left: 5px; border: 3px solid #006 ...
- 解决点击cell执行动画导致的重用问题
解决点击cell执行动画导致的重用问题 说明: 动画的细节都是裸露的,并没有封装,靠看官来优化了. 效果: 源码: https://github.com/YouXianMing/UITableView ...
- event.preventDefault() 解决按钮多次点击 导致页面变大
event.preventDefault() 解决按钮多次点击 导致页面变大
- 解决debian 9 重启nameserver失效问题
目录 解决debian 9 重启nameserver失效问题 安装resolvconf 编辑文件 测试 解决debian 9 重启nameserver失效问题 刚安装完debian9,用过之后会发现/ ...
- (转)https://wiki.debian.org/iwlwifi debian7下wifi intel 5100agn
https://wiki.debian.org/iwlwifi Debian 7 "Wheezy" Add a "non-free" component to ...
- SELinux导致PHP连接MySQL异常Can't connect to MySQL server的解决方法
原文摘自:http://www.jb51.net/article/52581.htm 这篇文章主要介绍了SELinux导致PHP连接MySQL异常Can't connect to MySQL serv ...
随机推荐
- Gradle 1.12用户指南翻译——第三十章. CodeNarc 插件
其他章节的翻译请参见: http://blog.csdn.net/column/details/gradle-translation.html 翻译项目请关注Github上的地址: https://g ...
- Android LruCache技术原理
概述 记得在很早之前,我有写过一篇文章Android高效加载大图.多图解决方案,有效避免程序OOM,这篇文章是翻译自Android Doc的,其中防止多图OOM的核心解决思路就是使用LruCache技 ...
- mtk camera 移植步骤
mtk camera 移植步骤: 1, Kernel层驱动代码文件添加 /mediatek/custom/doov92_wet_tdd/kernel/imgsensor/下添加imx179_mipi_ ...
- Advanced Pricing - How to source Pricing Attributes using QP_CUSTOM_SOURCE.Get_Custom_Attribute_Valu
详细内容需要参考文档:Oracle 11i Advanced Pricing-Don't Customize, Extend! utl:http://blog.csdn.net/cai_xingyun ...
- linux内核算法---hex_to_bin分享
这是我从内核抠出来的一段代码,用处就是传入一个字符,即可以用printf语句%d以十进制数的格式输出,同时也可以以%p地址的形式输出. 代码如下: #include <stdio.h> # ...
- android 资源文字ids的作用
ids.xml--为应用的相关资源提供唯一的资源id.id是为了获得xml中的对象而需要的参数,也就是Object = findViewById(R.id.id_name)中的id_name.这些值可 ...
- linux内核中访问共享资源
访问共享资源的代码区域称为临界区,临时以某种互斥机制加以保护.中断屏蔽.原子操作 自旋锁和信号量是Linux设备驱动中可采用的互斥途径. 在单CPU范围内避免竞态的一种简单方法是在进入临界区之前屏蔽系 ...
- 如何让DIV中的文字垂直居中
var h = $("div").innerHeight(); $("#text").css("font-size", h); $(&quo ...
- MapReduce编程模型详解(基于Windows平台Eclipse)
本文基于Windows平台Eclipse,以使用MapReduce编程模型统计文本文件中相同单词的个数来详述了整个编程流程及需要注意的地方.不当之处还请留言指出. 前期准备 hadoop集群的搭建 编 ...
- canvas元素
一.canvas元素的基础知识 canvas元素是html5中新增的一个重要的元素,专门用来绘制图形.在页面上放置了一个canvas元素,就相当于在页面上放置了一块"画布",可以在 ...