今天一直出现Wi-Fi连接不上的问题。我也不知道怎么回事。百度找了几个方法来测试。但是都没有效果。最后手机开热点解决了。也许是路由器的问题。因为我的Wi-Fi 路由器隐藏网络了。但是收获还是特别多的。更加了解了关于Wi-Fi的大量知识 。
错误的调试
连接隐藏wifi可以使用nano编辑器打开wpa-supplicant配置文件:
sudo vi /etc/wpa_supplicant/wpa_supplicant.conf
如果出现连接不成功的情况,有很大的可能是由于配置文件配置错误的原因。
sudowpa_supplicant -c /etc/wpa_supplicant/wpa_supplicant.conf -i wlan0
通过wpa_supplicant的直接连接,如果配置文件出现问题,则会直接提示配置文件的错误详情。
如果出现一下结果,则一般代表配置文件没有问题
Successfully initialized wpa_supplicant
nl80211: Driver does not support authentication/association or connect commands
wlan0: Failed to initialize driver interface
使用如下命令可以扫描附近的无线网:
sudoiwlist wlan0 scan
添加有密码的WIFI网络
通过配置wpa_supplicant.conf可以设置要连接的无线网。
sudovim /etc/wpa_supplicant/wpa_supplicant.conf
在文件末尾出添加一下代码,并替换掉ssid_name以及password即可。
network={
ssid="ssid_name" key_mgmt=WPA-PSK
psk="password"}
通过
ifconfigwlan0
可以查看IP地址是否分配成功
wlan0 Link encap:Ethernet HWaddr e8:4e:06:34:f8:f5
inet addr:192.168.9.177Bcast:192.168.9.255Mask:255.255.255.0 inet6 addr: fdf5:a28:b70c:0:746:52db:d822:14bd/64 Scope:Global
inet6 addr: fdf5:a28:b70c::6c5/128 Scope:Global
inet6 addr: fe80::ea4e:6ff:fe34:f8f5/64 Scope:Link
inet6 addr: fdf5:a28:b70c:0:ea4e:6ff:fe34:f8f5/64 Scope:Global
UP BROADCAST RUNNING MULTICAST MTU:1500Metric:1 RX packets:100930errors:0dropped:36149overruns:0frame:0 TX packets:290150errors:0dropped:2overruns:0carrier:0 collisions:0txqueuelen:1000
RX bytes:146598855(139.8MiB) TX bytes:3218776758(2.9GiB)
连接隐藏网络
如果要连接的是隐藏的网络,需要在配置文件中添加scan_ssid连接。需要添加的内容如下:
network={
ssid="yourHiddenSSID" scan_ssid=1 psk="Your_wifi_password"}
添加多个无线网络配置
network={
ssid="SchoolNetworkSSID" psk="passwordSchool" id_str="school"}
network={
ssid="HomeNetworkSSID" psk="passwordHome" id_str="home"}
如果您有两个网络的范围,可以添加优先级选项来在它们之间进行选择。具有最高优先级的范围内的网络将是连接的网络。
network={
ssid="HomeOneSSID" psk="passwordOne" priority=1 id_str="homeOne"}
network={
ssid="HomeTwoSSID" psk="passwordTwo" priority=2 id_str="homeTwo"}
添加没有密码的WIFI网络
添加没有密码的WIFI网络需要注意将key_mgmt设置为NONE
network={
ssid="ssid_name" key_mgmt=NONE}
连接隐藏网络
如果要连接的是隐藏的网络,需要在配置文件中添加scan_ssid连接。需要添加的内容如下:
network={
ssid="yourHiddenSSID" scan_ssid=1 psk="Your_wifi_password"}
添加多个无线网络配置
network={
ssid="SchoolNetworkSSID" psk="passwordSchool" id_str="school"}
network={
ssid="HomeNetworkSSID" psk="passwordHome" id_str="home"}
如果您有两个网络的范围,可以添加优先级选项来在它们之间进行选择。具有最高优先级的范围内的网络将是连接的网络。
network={
ssid="HomeOneSSID" psk="passwordOne" priority=1 id_str="homeOne"}
network={
ssid="HomeTwoSSID" psk="passwordTwo" priority=2 id_str="homeTwo"}
添加没有密码的WIFI网络
添加没有密码的WIFI网络需要注意将key_mgmt设置为NONE
network={
ssid="ssid_name" key_mgmt=NONE}