英利Linux工控主板WiFi无线上网模块应用说明

 2014-1-15         

        Wi-Fi无线网络短距离数据传输以其无需布线、数据传输速度快等优势,在工业应用中越来越普及。针对这类的应用我们公司前段时间在EM9160、EM9260、EM9280等系列Linux嵌入式板卡板卡上移植了基于RT73的无线网络驱动。

 

        由于rt73芯片的诸多因素,目前市面上支持rt73的Wi-Fi无线模块很难购买,根据这种情况,我们选择了基于RT3070_RT5370芯片的无线上网模块,对其Linux驱动进行了移植。RT3070_RT5370的Linux驱动在http://www.mediatek.com/可以直接进行下载,下载的最新驱动文件:

        DPO_RT5572_LinuxSTA_2.6.1.3_20121022.tar.bz2

 

        解压之后获得驱动源代码,我们将RT3070_RT5370的驱动做成一个可加载的模块rt3070sta.ko移植到工控主板中。EM9160和EM9260将驱动模块放在根文件系统的目录/lib/modules/2.6.30下,EM9280将驱动模块放在/lib/modules/3.9.7下,客户使用时只需调用Linux标准命令insmod进行加载。 

 

        移植工作还有一部分,因为Linux内核中的wireless_tools工具不支持WPA认证,而现在的无线Wi-Fi网络大多是WPA加密,所以需要移植wpa_supplicant工具,目标板上通过运行该工具软件来激活无线网卡。

 

        wpa_supplicant工具分为两个部分,一个是可执行程序wpa_supplicant,大小近2M左右,该文件直接放在根文件系统/usr/bin中,以方便客户操作。

 

        wpa_supplicant工具还有一个很重要的部分,wpa_supplicant运行时所需要的配置文件wpa_supplicant.conf,通过wpa_supplicant.conf配置文件,可以修改一些基本属性,这里客户需要了解的是连接Wi-Fi的名称ssid和验证的密码psk。我们将设置好的一个示例配置文件放在目录/etc下,客户可将示例配置文件复制到/mnt/nandflash中修改成自己需要的配置。

 

        下面就以目前市面上性价比较高基于RT3070_RT5370芯片的B-LINK公司的BL-LW05-H模块为例,介绍英利嵌入式Linux工控主板连接无线Wi-Fi的具体方法。客户也可自行选择基于RT3070_RT5370芯片的其他无线上网模块进行开发。

 

        1、首先需要设置wpa_supplicant的配置文件wpa_supplicant.conf。该示例配置文件在目录/etc下。

 

        建议客户先把示例文件复制到/mnt/nandflash中,再进行设置。如果出错还能在/etc中找到示例配置文件: 
        [root@EM9X60 /]#cp /etc/wpa_supplicant.conf /mnt/nandflash/. 

        复制成功以后,进入VI模式编辑wpa_supplicant.conf: 
        [root@EM9X60 /]#vi /mnt/nandflash/wpa_supplicant.conf

 

        进入vi模式可以看见wpa_supplicant.conf的配置,按“i”切换到插入模式进行编辑,客户只需修改其中的两项: 
        ssid=” ” //填入需要连接的Wi-Fi名称 
        psk=” ” //填入连接Wi-Fi的密码

 

        修改完成以后,按“ESC”进入命令行模式,并在底行输入“:wq”(存盘退出),这样就设置完成。

 

        2、加载无线模块的驱动: 
        [root@EM9X60 /]#insmod /lib/modules/2.6.30/rt3070sta.ko 
        加载成功之后,通过USB接口接入无线模块系统能检测到无线模块。

 

        3、启动无线网卡: 
        [root@EM9X60 /]#ifconfig ra0 up

 

        4、调用wpa_supplicant连接无线网: 
        [root@EM9X60/]#wpa_supplicant -B -Dwext -ira0 -c /mnt/nandflash/wpa_supplicant.conf -d

       

        参数说明: 
        -B 指定以守护进程模式运行,即程序将以后台模式运行。连接Wi-Fi需要supplicant一直运行,所以采用后台模式,不会影响客户其他程序的运行。 

        -D 指定使用的驱动,这里是无线网,所以用wext。 

        -i 指定网卡。 

        -c 指定使用的配置文件,这里是我们之前设置好放在/mnt/nandflash中的配置文件。 

        -d 添加调试信息。

 

        这条指令调用成功之后,工控主板将成功连接上在supplicant.conf中设置的Wi-Fi。

 

        5、成功连接上Wi-Fi之后,可以输入指令自动获取动态IP: 
        [root@EM9X60 /]#udhcpc –i ra0

 

        至此已经成功使用英利嵌入式Linux工控主板连接无线Wi-Fi。