解决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 ...
随机推荐
- 【OpenCV学习】Kmean均值聚类对图片进行减色处理
#include <cv.h> #include <highgui.h> #include <iostream> #define MAX_CLUST ...
- 苹果新的编程语言 Swift 语言进阶(四)--字符串和收集类型
一.字符串( String )和字符类型(Character) 字符串是一种字符的带次序的收集类型(相当于数组),字符是字符串中的元素. 在Swift 语言中,字符串是编码独立的Unicode字符的 ...
- 做自己的软件的Gallery(一)
先上效果图: 如图,android默认也有Gallery,很多软件在调用时,都是使用自己的Gallery,一方面好维护,另外一方面可以做优化.要做成以上样式,图片加载类起至关重要,一不小心,就好OOM ...
- vs 2010调用matlab dll显示窗口核心代码
matlab代码: figure('NumberTitle','off','menubar','none','toolbar','none','name','Topo Image'); x=0:pi/ ...
- Mac OS X下64位汇编与Linux下64位汇编的一些不同
1 首先系统调用号大大的不同:mac64和linux32的系统调用号也不同(虽然局部可能有相同) 2 mac64的系统调用号在: /usr/include/sys/syscall.h 可以查到,但是调 ...
- ubuntu12.04:Mysql数据库:自动安装
打开终端,输入下面命令: 1 sudo apt-get install mysql-server 2 sudo apt-get install mysql-client 一旦安装完成,MySQL 服务 ...
- mybatis中autoCommit自动提交事务
今天学习了下mybatis, 对其中的autoCommit自动提交事务比较好奇, 研究了下,把配置和代码都放上 mapper.xml如下: <?xml version="1.0&quo ...
- JeeSite中Excel导入导出
在各种管理系统中,数据的导入导出是经常用到的功能,通常导入导出以Excel.CSV格式居多.如果是学习的过程中,最好是自己实现数据导入与导出的功能,然而在项目中,还是调用现成的功能比较好.近期一直使用 ...
- .net core2.0添加json文件并转化成类注入控制器使用
上一篇,我们介绍了如何读取自定义的json文件,数据是读取出来了,只是处理的时候太麻烦,需要一遍一遍写,很枯燥.那么有没有很好的办法呢?经过钻研,办法有了. 既然一个一个读取比较麻烦,那么可以把它放入 ...
- VueJs(12)---vue-router(导航守卫,路由元信息)
vue-router(导航守卫,路由元信息) 之前泄露两篇有关vue-router博客: VueJs(10)---vue-router(进阶1) VueJs(11)---vue-router(进阶2) ...