一. 前言
在调试ARTIK时由于Ubuntu系统不是图形化界面,需要下载相关安装包时发现未联网,因此对Linux下采用命令行连接wifi的具体操作步骤进行总结,对自己在操作过程中遇到的相关问题解决方法进行介绍,同时对于LINUX下无线网络调试中的一些简单命令行进行归纳。
二. 操作步骤
以下操作步骤在管理员模式下进行,可以通过su先进入管理员模式,或在命令行前添加sudo,否则会提示权限不够。
- 通过 iwconfig 命令查看无线网卡信息,确认存在无线网卡并已安装相应驱动:
iwconfig
- 启动无线网卡项:
通过 ifconfig wlan0 up 或 ip link set wlan0 up 命令均可启动无线网卡
ifconfig wlan0 up
ip link set wlan0 up
通过 ip link show wlan0 命令查看无线网卡状态,若<>内显示包括UP关键字说明无线网卡已激活
ip link show wlan0
- 扫描所检测到的无线网络:
通过 iw dev wlan0 scan 搜索附近的WIFI,其中SSID为每个WIFI的名称;或通过 iw dev wlan0 scan | grep [SSID] 搜索附近是否有期望的名为[SSID]的WIFI
iw dev wlan0 scan
iw dev wlan0 scan | grep [SSID]
- 无线网络连接
- 无加密网络
通过如下命令行直接进行连接,SSID为要连接的WIFI名称
iw dev wlan0 connect [SSID]
- 低级加密网络(WEP加密)
通过如下命令行进行连接,SSID为要连接的WIFI名称,同时在如下位置输入WEP密钥
iw dev wlan0 connect [SSID] key 0:[WEP密钥]
- WPA/WPA2加密网络
WPA/WPA2加密网络连接通常采用wpasupplicant进行连接,若无wpasupplicant则需要进行安装
apt install wpasupplicant
安装wpa_supplicant后进入/etc/wpa_supplicant/目录下可以看到wpa_supplicant.conf文件
对wpa_supplicant.conf进行编辑,这里采用vim编辑器,一定要在管理员模式下运行,按照如下内容进行完善(主要完善network内的SSID和PSK,其中SSID为WIFI名称,PSK为WIFI密码,priority在有多个网络时可以设置连接优先级):
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=netdev
update_config=1
config_methods=push_button
network={
ssid="[SSID name]"
psk="[WiFi password]"
priority=1
}
注:ssid和psk的内容一定用“ ”包括进来,否则将会报错
:wq!对编辑内容进行保存,从该配置文件启动wpa_supplicant
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf &
连接成功后如下图所示
- 验证连接是否成功
通过 ipconfig 或 iw dev wlan0 link 验证WIFI是否成功连接
iw dev wlan0 link
连接成功后如下图所示
三. 常见问题
wpa_supplicant启动报错“Delete ‘/var/run/wpa_supplicant/wlan0’ manually if it is not used anymore”
当配置完 wpa_supplicant.conf 后运行命令 wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf & 启动 wpa_supplicant 出现如下图的错误
该错误出现的原因是 wpa_supplicant 已启动或已占用,通过 systemctl stop wpa_supplicant 停止正在运行的 wpa_supplicant 后重新启动即可正常工作
systemctl stop wpa_supplicant
四. Linux环境下无线网络相关命令行总结
ifconfig wlan0 up #打开无线网卡
ifconfig wlan0 down #关闭无线网卡
ip link set wlan0 up #打开无线网卡
ip link set wlan0 down #关闭无线网卡
ip link show wlan0 #检测网卡状态 已激活网卡<>内显示包括UP的关键字
iwconfig #产看网卡信息
iw dev #检查可用网卡
iw list #列出WIFI网卡的性能
iw dev wlan0 scan #扫描WIFI
iw dev wlan0 scan | grep [SSID] #扫描名为SSID的WIFI 此处SSID输入期望的WIFI名
iw dev wlan0 link #查看连接状态
iw dev wlan0 connect [SSID] #不加密时可直接连接 此处SSID输入连接的WIFI名
iw dev wlan0 connect [SSID] key 0:[WEP密钥] #WEP加密WIFI连接
iw wlan0 connect linux #连接WIFI:LINUX
iw wlan0 disconnect #关闭WIFI连接
wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf & #WPA加密配置文件wpa_supplicant重启
dhclient wlan0 #为网卡分配IP地址