LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 835|回复: 5

[求助]命令行方式控制wifi

[复制链接]
发表于 2011-2-17 23:49:01 | 显示全部楼层 |阅读模式
我现在只会照着wiki配置好wicd。最近有个需求,需要在命令行下操纵(控制/配置)无线网卡。请问大家一般都是怎么做的?谢谢
发表于 2011-2-18 07:01:41 | 显示全部楼层
用netcfg2.
安装后,在/etc/network.d/新建一个你的wireless的文件,类似下面的:

CONNECTION='wireless'
DESCRIPTION='A simple WEP encrypted wireless connection for home'
INTERFACE='wlan0'
SECURITY='wep'
ESSID='lxl'
KEY='s:yourpassword'
#IP='dhcp'
IP='static' # Any other CONNECTION='ethernet' options may be used.
ADDR='192.168.1.31'
GATEWAY='192.168.1.1'
#DNS=('202.106.46.151')
DNS=('192.168.1.1')

然后想用的时候,在/etc/network.d/执行:
sudo netcfg your-profile
想断开的时候在/etc/network.d/执行:
sudo netcfg -d your-profile
回复 支持 反对

使用道具 举报

发表于 2011-2-18 08:41:57 | 显示全部楼层
wicd-curses或者wicd-cli
回复 支持 反对

使用道具 举报

发表于 2011-2-18 08:44:16 | 显示全部楼层
回复 支持 反对

使用道具 举报

发表于 2011-2-18 08:45:17 | 显示全部楼层
3.a 下载wire-tool工具

下载地址是:http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html (在下方找)。

3.a 编译工具

下载后,将源代码解压。再修改其中的Makefile文件,将其中的CC、AR和RANLIB进行修改:

#vi Makefile

CC = gcc

AR = ar

RANLIB = ranlib

改为

CC = arm-linux-gcc

AR = arm-linux-ar

RANLIB = arm-linux-ranlib

再执行

#make

3.b 下载wire-tool到开发板

编译完成后,将生成的iwconfig,iwlist文件拷贝到mini2440的根文件系统中的/bin目录下,将libiw.so.29拷贝到mini2440根文件系统下的/lib目录下。

3.c 启动无线网卡

启动mini2440开发板,进入linux命令行后,执行:

#ifconfig eth1 up                   //也可能是wlan0

3.d 搜索无线网路

启动无线网卡。再执行

#iwlist scanning

此命令可以搜索到可用的无线网络接入点。我搜索到的如下:

eth1      Scan completed :

          Cell 01 - Address: 00:0A:EB44:B6

                    ESSID:"TP-LINK"                   //无线连接名称

                    Mode:Managed

                    Channel:6

                    Frequency:2.437 GHz (Channel 6)

                    Quality=20/100  Signal level=-82 dBm  Noise level=0 dBm

                    Encryption keyff                 //是否需要密码,如是on就需要密码

                    Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 6 Mb/s

                              12 Mb/s; 24 Mb/s; 36 Mb/s; 9 Mb/s; 18 Mb/s

                              48 Mb/s; 54 Mb/s          //速度支持

                    Extra:bcn_int=100

我的无线路由器ESSID是"TP-LINK",执行此命令后就会下列输出:

3.e设置联网密码:

#iwconfig wlan0 key 123456                         //如果没密码就无需执行

3.f  设置ESSID

用如下命令设置要连接的ESSID

#iwconfig wlan0 essid "TP-LINK"                    //根据需要修改ESSID

3.g 加入无线网络

#iwconfig  eth1  ap auto

3.h 查看连接状态

# iwconfig eth1

我的输出如下结果

eth1      802.11-a/b/g  ESSID:"TP-LINK"  

          Mode:Managed  Frequency=2.437 GHz  Access Point: 00:0A:EB44:B6   

          Bit Rate=5.5 Mb/s   Sensitivity=-78 dBm  

          Retry min limit:8   RTS thrff   Fragment thrff

          Encryption keyff

          Power Managementff

          Link Quality=70/100  Signal level:-78 dBm  Noise level:0 dBm

          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0

          Tx excessive retries:95  Invalid misc:0   Missed beacon:0

3.i 为无线网卡设置IP地址

#ifconfig eth1 192.168.1.130 netmask 255.255.255.0

3.j 测试网络是否连通

#ping  192.168.1.1

我的返回如下结果,可见无线网已经连通,而且很稳定。但我发现无线网卡很热,也许是网卡不好吧。

PING 192.168.1.1 (192.168.1.1): 56 data bytes

64 bytes from 192.168.1.1: seq=0 ttl=64 time=21.447 ms

64 bytes from 192.168.1.1: seq=1 ttl=64 time=3.166 ms

64 bytes from 192.168.1.1: seq=2 ttl=64 time=3.180 ms

64 bytes from 192.168.1.1: seq=3 ttl=64 time=3.300 ms

^C

--- 192.168.1.1 ping statistics ---

4 packets transmitted, 4 packets received, 0% packet loss

round-trip min/avg/max = 3.166/7.773/21.447 ms

3.k 无线联网的自动化

为了确保开发板系统启动无线网络就联通,可以建立一个脚本文件/etc/wireless.sh,内容如下:

#!/bin/sh

echo  "Install   wireless model ….."

insmod   /lib/modules/vntwusb.ko                #要提前将无线网模块文件复制好

ifconfig eth1 up   

echo  "wireless up ….."

#iwconfig eth1 key 123456                 #根据需要设置

iwconfig eth1 essid "TP-LINK"                  #根据需要

iwconfig eth1 ap auto            

ifconfig eth1 192.168.1.130 netmask 255.255.255.0

echo  "wireless Linked ….."

注意修改其权限使之可以执行。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2011-2-18 10:08:59 | 显示全部楼层
先谢谢楼上各位,我慢慢学学
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表