提前吐槽,这两天真是被Ubuntu的网络管理坑哭了>_< 给人的感觉还是太脆弱并且没有关于网络的诊断与自我恢复机制,全靠使用者来折腾实在是费时费力~
最近在折腾Ubuntu系统作为日常使用系统,这篇依然是折腾过程的记录,方便以后做个回顾,能帮到别人就更好了。
0x00 问题回顾
昨天下班时候貌似是不小心点了挂起或者就是强制关机,导致重启后右上角任务栏网络连接中无线网络不可用,直接灰选。在系统设置-》网络中,无线不能开启(飞行模式已关闭),点击按钮开启后立马有恢复为关闭。
0x01 折腾一之开启网卡硬开关
首先在网上查了Ubuntu系统下不能打开无线网络的问题,发现有人说是由于显卡硬件开关被关闭,导致在系统中不能开启。这个对于笔记本很好办,也就是在bios中开启无线网卡,然后进入系统后使用快捷键fn + F2手工开启网卡即可。
按照方法做了,在我这里没有效果,依然不能开启无线网络
0x02 折腾二之开启系统网卡开关
然后呢,又在网上查到,在Ubuntu系统里还有系统网卡开关一说,可以使用rfkill进行设置。
1. 看一下现在开关状态 rfkill list all
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: yes
2.可以看到 hard blocked是yes状态,可以命令开启
rfkill unblock all
3.然后可以看到,网卡已经开启了
0: phy0: Wireless LAN
Soft blocked: no
Hard blocked: no
4.重启网络管理
sudo service network-manager restart
按照这个方法操作之后呢,在系统网络设置中可以开启无线网络了,可是呢,在任务栏却依然搜索不出来任何附近的Wifi热点,这。。。。。。
0x03 折腾二之查看系统网卡状态
既然开启了无线网卡的软♂硬开关依然解决不了问题,那就只能继续折腾咯
之后在网上查到,可以使用下面的命令查看网卡状态sudo lshw -C network
sudo lshw -C network DISABLED
*-network
description: Wireless interface
product: AR9485 Wireless Network Adapter
vendor: Qualcomm Atheros
physical id: 0
bus info: pci@0000:03:00.0
logical name: wlan0
version: 01
serial: 00:00:00:00:00:00
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress bus_master cap_list rom ethernet physical wireless
configuration: broadcast=yes driver=ath9k driverversion=4.2.0-36-generic firmware=N/Alink=yes multicast=yes wireless=IEEE 802.11bgn
resources: irq:17 memory:f7800000-f787ffff memory:f7880000-f788ffff
*-network
description: Ethernet interface
product: RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller
vendor: Realtek Semiconductor Co., Ltd.
physical id: 0
bus info: pci@0000:04:00.0
logical name: eth0
version: 07
serial: 00:00:00:00:00:00
size: 10Mbit/s
capacity: 1Gbit/s
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress msix vpd bus_master cap_list ethernet physical tp mii 10bt 10bt-fd 100bt 100bt-fd 1000bt 1000bt-fd autonegotiation
configuration: autonegotiation=on broadcast=yes driver=r8169 driverversion=2.3LK-NAPI duplex=half firmware=rtl8168e-3_0.0.4 03/27/12 latency=0 link=no multicast=yes port=MII speed=10Mbit/s
resources: irq:26 ioport:d000(size=256) memory:f2104000-f2104fff memory:f2100000-f2103fff
我去,明明我都把网卡开了,怎么这里还是disable呢,这里面一定有问题。于是呢,就继续查无线网卡disable的问题。
然后在网上看到有人说可以看下系统日志,查看下无线网络出了什么问题,那么开搞
/var/log/syslog | grep NetworkManager
Jun 7 22:35:10 NetworkManager[942]: message repeated 5 times: [ <info> Unmanaged Device found; state CONNECTED forced. (see http://bugs.launchpad.net/bugs/191889)]
从系统日志还真发现,这里出现问题了,系统检查出来有没有被管理的无线网卡,还提示了bug的地址,这是人性化(呵呵哒,到最后问题解决时发现,这里就是个摆设没有帮助好吧)。
然后赶紧查一下http://bugs.launchpad.net/bugs/191889 ,呵呵哒,这里说的是在N久之前ubuntu8时代的一个bug,导致网络管理界面显示不正常而已,跟我们的问题不符呀,至此,此路不通,再寻他路。。。。
0x04 设置网络管理以及网络接口的配置
昨天哪些个好费了我一晚上时间的折腾最终以失败告终。今天呢,依旧不死心咯,继续折腾。。。
昨天折腾后有一个有效的信息,那就是unManaged ,对,就是在任务栏点击时也会显示的,当前Wifi处于 未托管状态。
然后在网上查看ubuntu系统下网卡处于未托管状态的处理方法,参考http://www.linuxdiyf.com/linux/11328.html。
1.在/etc/network/interfaces文件,增加 auto wlan0,结果呢,还是不行
2.在/etc/NetworkManager/nm-system-settings.conf文件,结果呢,依然不行呀,这个文件新加后重启连有线网络都不能连了好吧
3.在/etc/NetworkManager/NetworkManager.conf中将 managed=false改为true,结果呢,依然不行啊摔。。。
改到这里,我快要失去耐心了,同时呢 ,看网上说的interfaces的配置方式与NetworkManager的配置方式居然是冲突的你敢信,这我也是醉了。
0x05 问题解决
折腾到上面的情况,我已经没招了。然后呢,我想静静。。。。
就在我静静的看看这些配置文件的时候,我发现了在NetworkManager.conf里最后2行,居然手动定义了不去管理某个mac的设备,这。Are You Kidding?
如下:我看了一下,那个mac就是我无线网卡的mac好吧,这下抓到问题了
cat NetworkManager.conf
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq
[ifupdown]
managed=true
[keyfile]
unmanaged-devices=mac:00:00:00:00:00:00
果断把那句unmanaged-devices行首加#注释掉,然后重启,exceting,熟悉的wifi又回来了,而且可以找到附近的热点了,至此,问题解决
0x06 吐槽
没错,就这2天折腾个无线网络,我有槽要吐(不要告诉我用linux就是要折腾,这是桌面发行版,使用方便性是要考虑的)!
1.你说无线网络一般笔记本都有开关了,你搞个系统层面的开关是要闹哪样?
2.你说网络作为一个基础设置,Ubuntu系统就不能健壮一点,提供一个恢复默认配置或者检查问题的组件?
3.你说你搞个interfaces和NetworkManager这2套有冲突东西去管理网络是几个意思?
4.那么问题来了 NetworkManager.conf文件里不管理无线网卡这段是谁加的,你别让我查出来,看我打不死你>_<
0x06 总结
仅从无线网卡这个问题以及解决的过程,很明显感觉到ubuntu在这一块有很多能改进的。
比如网络驱动,你直接搞个简易的安装方法,这样在出问题时大不了重装一下,一切回到初始状态就好
比如网络管理完全可以加上恢复默认配置/自动配置/检查问题的能力,这样遇到问题根本不用这么折腾了