在Nexus 5上安装Ubuntu Touch系统后发现设置802.1x网络连接存在问题。虽然我的笔记本电脑(Fedora)是可以正确访问802.1x网络,但是在Ubuntu Touch系统中,通过系统设置GUI,每次设置802.1x网络总是长时间连接无响应。
参考了Add eduroam (or any other 802.1x) wireless network to Ubuntu Phone,提示如果不能通过图形界面设置802.1x,则可以通过命令行设置。
- 准备配置文件,配置文件的名字和你需要连接的802.1x的SSID相同。例如,假设要连接的802.1x的SSID名字是
MyAP
,则编辑一个MyAP
文件如下:
[connection]
id=MyAP
uuid=f789bb72-99e9-43ba-a5e4-73ffe5181940
type=802-11-wireless
[802-11-wireless]
ssid=MyAP
mode=infrastructure
security=802-11-wireless-security
[802-11-wireless-security]
key-mgmt=wpa-eap
[ipv4]
method=auto
[ipv6]
method=auto
[802-1x]
eap=peap
identity=YourName
phase2-auth=mschapv2
password=YourPassword
这里
uuid
是通过另外一个能够正常连接802.1x的Fedora主机上的配置文件获得的,根据实际情况调整。
- 启用Ubuntu Touch手机的developer模式:
System Settings
=>About
=>Developer mode
注意:Developer mode
要求启用手机的密码保护功能。并且这个模式对通过USB连接的主机是信任的,USB连接的主机通过adb
命令可以对手机执行执行和更改文件,所以一定要注意安全。
- 将配置文件推送到手机
adb push MyAP /tmp/MyAP
- 然后通过
adb shell
命令将这个配置文件移动到正确目录位置:
adb shell -x sudo mv /tmp/MyAP /etc/NetworkManager/system-connections/
注意
:一定要正确设置配置文件的属主(root:root
)和属性(600
),否则会导致配置文件被忽略:
adb shell -x sudo chmod 600 /etc/NetworkManager/system-connections/MyAP
adb shell -x sudo chown root:root /etc/NetworkManager/system-connections/MyAP
- 重启手机,则可以连接到802.1x无线网络