如果没有wlan0 口,那么先开启 (相关错误 wlan0 Interface doesn't support scanning : Network is down ,
wlan0 IEEE 802.11 ESSID:off/any Mode:Managed Access Point: Not-Associated )
ifconfig wlan0 up
本文介绍在Linux 命令行界面中手动配置无线网卡的方法。目前流行的多数发行版都支持用图形界面的network- manager方便地进行配置,而无需使用本文所介绍的原始方法。
下面介绍使用iwconfig和ifconfig等命令在命令行状态下配置无线网络。前题是无线网卡驱动已经正确安装,并被系统正确识别。
大体思路
工作的大体思路如下:
用iwconfig开启无线网卡的电源,并查找区域内的无线网络
连接到相应的无线网络
通过ifconfig启用无线网卡,并获取IP(如果使用DHCP的话)
注意:
假设无线被识别为wlan0,如果您的网卡没有被识别为wlan0,可以在操作时做相应的修改。
具体过程
1. 打开无线网卡电源
iwconfig wlan0 txpower on
无线网络的信号灯应该亮了。
2. 列出区域内的无线网络
iwlist wlan0 scan
3. 假设要连接到网络MyHome(即essid为MyHome的网络),那么输入命令
iwconfig wlan0 essid "MyHome"
如果网络是加密的,密码是0123456789,那么就输入命令
iwconfig wlan0 essid "MyHome" key 0123-4567-89
4. 如果正常的话,输入
iwconfig wlan0
就可以看到连接正常的各项参数了。
5. 启用无线网卡
ifconfig wlan0 up
6. 如果是用DHCP获取IP的,那么用dhclient 或dhcpcd获取ip
dhclient wlan0
或
dhcpcd wlan0
7. 现在无线网卡应该可以正常使用了。
PS:
如果现在还不能联网。那么点击网络图标。选择链接到隐藏的无线网络。输入找到的网络的名字。
图形化的网络管理程序是System->Preferences->Network Connections。打开程序后,点击无线网络项目,点击add增加一个新的无线网络。 给出任意的Connection Name。SSID中输入无限网络的名字。wireless security中选择一种合适的加密类型。key中输入无限网络的密码。
其他字段都不修改。 执行后,应该能够链接无限网络。 可以使用iwconfig wlan0命令查看是否正确连接无线网络。
未正确链接无线网络的输出:
iwconfig wlan0
wlan0 IEEE 802.11abg ESSID:off/any
Mode:Managed Access Point: Not-Associated Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
正确链接无线网络后的输出:
iwconfig wlan0
wlan0 IEEE 802.11abg ESSID:"LilyHomeRout"
Mode:Managed Frequency:2.437 GHz Access Point: 00:23:CD:22:1A:A8
Bit Rate=54 Mb/s Tx-Power=0 dBm
Retry long limit:7 RTS thr:off Fragment thr:off
Power Management:off
Link Quality=65/70 Signal level=-45 dBm
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
树莓派有多种联网的方式,通过有线网或者通过无线网。通过有线网连接是比较简单的,在开启dhcp的路由器下,直接插上网线就可以联网,本文介绍树莓派无线联网的方式。再没联网的情况下,如果没有屏幕等外设,通过串口连接是一种比较简单有效的方式。
使用如下命令可以扫描附近的无线网:
sudo iwlist wlan0 scan
扫描结果如下:
wlan0 Scan completed : Cell 01 - Address: F0:B4:29:1F:28:F1 ESSID:"00H Studio" Protocol:IEEE 802.11bgn Mode:Master Frequency:2.422 GHz (Channel 3) Encryption key:on Bit Rates:300 Mb/s Extra:rsn_ie=30140100000fac040100000fac040100000fac020000 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK Quality=100/100 Signal level=84/100 Cell 02 - Address: 06:74:9C:08:3F:7C ESSID:"QLU-2.4G" Protocol:IEEE 802.11bgn Mode:Master Frequency:2.412 GHz (Channel 1) Encryption key:off Bit Rates:144 Mb/s Quality=100/100 Signal level=72/100 Cell 03 - Address: D6:50:3F:0B:81:D1 ESSID:"7788" Protocol:IEEE 802.11bgn Mode:Master Frequency:2.422 GHz (Channel 3) Encryption key:on Bit Rates:72 Mb/s Extra:rsn_ie=30140100000fac040100000fac040100000fac020c00 IE: IEEE 802.11i/WPA2 Version 1 Group Cipher : CCMP Pairwise Ciphers (1) : CCMP Authentication Suites (1) : PSK IE: Unknown: DD180050F204104A00011010440001021049000600372A000120 Quality=44/100 Signal level=62/100
这里的“00H Studio”是无线网的名称。IEEE 802.11i/WPA2 Version 1是加密的方式。加密的类型是WPA2类型的。
通过配置wpa_supplicant.conf可以设置要连接的无线网。
sudo vim /etc/wpa_supplicant/wpa_supplicant.conf
在文件末尾出添加一下代码,并替换掉ssid_name以及password即可。
network={ ssid="ssid_name" key_mgmt=WPA-PSK psk="password" }
通过
ifconfig wlan0
可以查看IP地址是否分配成功
wlan0 Link encap:Ethernet HWaddr e8:4e:06:34:f8:f5 inet addr:192.168.9.177 Bcast:192.168.9.255 Mask: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:1500 Metric:1 RX packets:100930 errors:0 dropped:36149 overruns:0 frame:0 TX packets:290150 errors:0 dropped:2 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:146598855 (139.8 MiB) TX bytes:3218776758 (2.9 GiB)
如果要连接的是隐藏的网络,需要在配置文件中添加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网络需要注意将key_mgmt设置为NONE
network={ ssid="ssid_name" key_mgmt=NONE }
auto wlan0 iface wlan0 inet static address 192.168.0.1 netmask 255.255.255.0 wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
如果出现连接不成功的情况,有很大的可能是由于配置文件配置错误的原因。
sudo wpa_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