Wi-Fi功能启用说明

Version 1.0


1. Kernel使用配置

  1. Spinand flash

    make infinity2m_ssc011a_s01a_minigui_defconfig
    
    make menuconfig
    

    进入Networking support -> Wireless,将下面选项由模块编译改为build-in

    进入Device Drivers->Generic Driver options,将下面选项编译方式改为build-in

  2. Nor flash

    make infinity2m_ssc011a_s01a_minigui_defconfig
    
    make menuconfig
    

    进入Networking support -> Wireless,将下面选项由模块编译改为build-in


2. 编译kernel

make clean –j16;make –j16

编译成功后会生成 kernel/arch/arm/uImage.xz, 将此文件拷贝到sdk中,替换掉同名文件。

Spinand的目标路径为:project/release/nvr/i2m/011A/glibc/8.2.1/bin/kernel/spinand

Nor的目标路径为:project/release/nvr/i2m/011A/glibc/8.2.1/bin/kernel/

修改Sdk配置,在 project/release/customer_tailor/nvr_i2m_display_glibc_tailor.mk下添加interface_wlan:=enable,然后编译sdk即可。


3. 测试wifi

修改/appconfigs/wpa_supplicant.conf,添加AP,如图:

测试的热点ssid为”SKY”,访问密码为”12345678”。

  • wifi模块初始化

    cd /config/wifi
    
    ./ssw01bDeInit.sh
    
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib:/lib:/config/wifi
    

    如果使用其它wifi ko,只需将对应ko 拷贝至 /config/wifi目录,然后修改ssw01bInit.shinsmod依赖的ko即可。

  • 测试wifi连接

    ./wpa_supplicant -Dnl80211 -i wlan0 -c /appconfigs/wpa_supplicant.conf -d &
    
    sleep 2
    
    udhcpc -q -i wlan0 -s /etc/init.d/udhcpc.script &
    
  • 扫描热点:

    ./iwlist wlan0 scanning
    

4. Wifi应用样例

Source code:

详见附件wifiDemo.rar

测试步骤:

  1. 修改sample code,添加指定的wifi热点信息,如图:

  2. 修改Makefile中的PROJECT_PATH,使用本地的sdk路径,然后编译demo code:

  3. 将生成的testWifi拷贝到目标板中,运行testWifi

    App运行后会出现下面的提示

    输入‘m‘, 切换STA/AP模式,默认是STA模式;

    用户可在code里面预设需要连接的wifi热点列表,输入’a’,切换到列表中的下一个热点,默认从0开始循环;

    输入‘n’,在STA模式下连接指定的wifi,在AP模式下,打开个人热点;

    输入‘d’,在STA模式下断开连接,在AP模式下,关闭个人热点;

    输入‘p’,在STA模式下打印当前扫描到的热点信息,在AP模式下,打印连接的设备信息;

    输入‘q’,退出app。