日期:2014-05-16  浏览次数:20682 次

Linux下Wi-Fi的实现:wireless_tools和wpa_supplicant

    平台为hi35XX,在Liunx下借助wireless_tools和wpa_supplicant(因为现在的无线wifi网络大多是wpa加密。所以需要移植wpa_supplicant工具)等工具实现wifi的过程。


一、移植wireless_tools

1. 下载并编译wireless_tools

    tar zxf  wireless_tools.29.tar.gz(网上下载)

    cd wireless_tools.29

    make

    成功后会在当前目录生成iwspyiwpriviwlist以及iwconfig等文件。

2. 拷贝文件

    我们只需将这四个文件拷备到文件系统的sbin目录,然后将当前目录的libiw.so.29库文件拷到文件系统的lib目录,无线网络工具即安装完成。


 

二、加载无线网卡驱动模块

    网上有很多无线驱动模块,可移植性很好。呵呵,我的是利用XX无线网卡公司提供的网卡驱动源码,修改下Makefile(1.网卡选择 2.平台  3.内核路径和工具链)以及os/linux下的config.mk(一般不需要修改),make得到的。

    insmod rtutil5572sta.ko。
    insmod rt5572sta.ko
    insmod rtnet5572sta.ko



三、指令的使用

1.  扫描可用的无线网络

    iwlistwifi-name scanning 

    其中wifi-name为无线网卡的名字,比如网卡eth0就是系统默认的网卡名字, wifi-name可以用ifconfig查看,一般为ra0(无线网卡),不过,需要ifconfig ra0 up

2.  扫描网络信息

    iwlistra0 scan

===>rt_ioctl_giwscan.11(11) BSS returned, data->length = 1427 

ra0       Scan completed : 

          Cell 01 - Address:C4:CA:D9:1D:9E:A0 

                    Protocol:802.11b/g/n 

   &n