我有一台联想 ThinkPad Edge E520 笔记本电脑(型号 1143-3BU)。无论是运行 Ubuntu 14.04 还是 Linux Mint 17 Cinnamon,其无线热键 Fn-F9 都能正确生成 XF86WLAN 键符并可靠地切换 rfkill wlan 软阻止状态。问题是网络设置 GUI 显示 Fn-F9 正在切换“飞行模式”而不是“无线”状态。这意味着如果 GUI 已用于禁用“无线”,则用户无法使用她正确想象的无线热键 (Fn-F9) 来启用无线。
据我所知,网络管理器对无线状态的理解记录在/var/lib/NetworkManager/NetworkManager.state
“WirelessEnabled”参数中。然而,nm-applet 会将无线状态显示为“On”仅有的如果该参数为真和“飞行模式”已关闭(并非总是如此)。但飞行模式的确切定义是什么?该状态记录在哪里?
我目前的假设是,飞行模式只不过是一种简单的状态,反映了全部RF 设备被硬或软阻止。问题是这台笔记本电脑只有一RF 设备(即 Wi-Fi)。没有蓝牙。如果我没记错的话,只有一个设备由 rfkill 管理,这意味着 XF86WLAN 实际上变成了飞行模式控制,而不是无线局域网控制应该是这样的。
在下面不在什么情况下切换 Fn-F9 会改变中的“WirelessEnabled”参数/var/lib/NetworkManager/NetworkManager.state
。
这台笔记本电脑没有无线硬件开关,绝不rfkill 报告了硬阻塞。
无论是否连接以太网电缆都不会对这个问题产生影响。
我该如何解决这个问题,以便 Fn-F9(XF86WLAN)实际上切换 WLAN 状态而不是飞机状态?
一些附加信息:
##### kernel ############################
Linux 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
##### lspci #############################
08:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8188CE 802.11b/g/n WiFi Adapter [10ec:8176] (rev 01)
Subsystem: Realtek Semiconductor Co., Ltd. Device [10ec:8195]
Kernel driver in use: rtl8192ce
##### lsmod #############################
rtl8192ce 53550 0
rtl_pci 26690 1 rtl8192ce
rtlwifi 63475 2 rtl_pci,rtl8192ce
rtl8192c_common 53172 1 rtl8192ce
mac80211 626489 3 rtl_pci,rtlwifi,rtl8192ce
cfg80211 484040 2 mac80211,rtlwifi
##### NetworkManager.state ##############
[main]
NetworkingEnabled=true
WirelessEnabled=false
WWANEnabled=true
WimaxEnabled=true
##### NetworkManager.conf ###############
[main]
plugins=ifupdown,keyfile,ofono
dns=dnsmasq
[ifupdown]
managed=false