Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31039997
  • 博文数量: 230
  • 博客积分: 2868
  • 博客等级: 少校
  • 技术积分: 2223
  • 用 户 组: 普通用户
  • 注册时间: 2009-10-08 21:48
个人简介

Live & Learn

文章分类

全部博文(230)

文章存档

2022年(2)

2019年(5)

2018年(15)

2017年(42)

2016年(24)

2015年(13)

2014年(1)

2012年(5)

2011年(58)

2010年(56)

2009年(9)

我的朋友

分类: 嵌入式

2018-04-21 10:16:27

    Linux 命令行下配置连接 wlan 无线网卡具体步骤参考。
  工作的大体思路如下:

  • 用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. 现在无线网卡应该可以正常使用了

  注意:一定要把 NetworkManager 服务停掉

===================================================================
由于设备上同时存在wifi和3G,想节省流量,得在有WIFI和3G时,使用WIFI.此时如果WIFI断开,则使用3G.但由于
route优先级时,以最后一个连接做为default.所以做了一个shell,每隔两秒来检测网络状态。
shell内容如下:

#!/bin/sh
wifi_exist=0
pppd_exist=0

while true
do
wifi_exist=$(ifconfig |grep -w "wlan0" -c)

pppd_exist=$(ifconfig |grep -w "ppp0" -c)

#echo $wifi_exist
#echo $pppd_exist

if [ $wifi_exist -ge 1 ];then
wifi_state=$(ifconfig wlan0|grep -w "RUNNING" -c)
#echo $wifi_state
fi

if [ $pppd_exist -ge 1 ];then
pppd_state=$(ifconfig ppp0|grep -w "RUNNING" -c)
#echo $pppd_state
fi

route_state=$(route|sed -n "1,3p"|grep -w "default"| grep -w "wlan0" -c)
#echo $route_state
if [ $route_state -lt 1 ]; then
if [ $wifi_state -eq 1 ];then
udhcpc -i wlan0
fi
else
   if [ $wifi_state -eq 0 ];then
      route del default
   
      if [ $pppd_state -eq 1 ];then
         route add default dev ppp0
      fi
   fi
   

fi
sleep 2
done
阅读(1516) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~