大家好,我是极客范的本期栏目编辑小友,现在为大家讲解英创信息技术Linux主板上实现无线AP热点介绍问题。
1.简要描述。
下面简单介绍一下Innolux现有的Linux产品系列,大致可以分为三大系列产品:
生产线
乘积模型
中央处理器
内核版本
EM9X60
EM9160/EM9460
EM9260
EM9360
EM9660
ATMEL AT91SAM 9260(200兆赫兹)
Linux-2.6.30
EM928x
EM9280
EM9281
EM9287
飞思卡尔IMx 283/IMx 287(454兆赫兹)
Linux-3.9.7
EM335x
EM335x
EM3352
Cortex-A8 AM3354 (1GHz)
cortex-A8 AM3352(600兆赫兹)
Linux-3.12.10
Wi-Fi无线网络短距离数据传输因其无需布线、数据传输速度快等优点,在工业应用中越来越普及。针对这类应用,我公司在EM9X60、EM928x、EM335X系列的Linux嵌入式板上移植了基于rt2870sta、rt3070sta、rt5370sta、rt5572sta的无线网络驱动,并应用于应用产品的开发中。
无线网卡rt3070还具有SoftAP的驱动工作模式,可以支持无线模块在soft AP模式下工作,可以作为软接入点使用。针对这类应用,我们移植了我公司的Linux嵌入式系列板卡,实现了AP热点功能。
在实际应用中,如果设备的物理位置满足WiFi的信号传输条件,可以利用AP热点功能CAN方便地实现设备间的数据通信,取代RS485、CAN等现场总线,大大降低系统布线成本。
本文将介绍rt3070 SoftAP驱动程序在EM9281产品上的移植和应用。无线模块为B-LINK公司的BL-LW05-H模块,目前市场上性价比较高。
2.rt3070 SoftAP的移植。
rt3070 SoftAP移植流程:
1.下载驱动文件:2010 _ 0203 _ rt 3070 _ softap _ v 2 . 4 . 0 . 1 _ DPA . bz2。
2.解压缩后,分别在MODULE、UTIL和NETIP目录中修改Makefile和os/linux/config.mk文件配置。
LINUX _ SRC=/home/HL/em 9280/LINUX-3 . 9 . 7
CROSS _ COMPILE=arm-none-Linux-gnueabi-
3.编译制作。
编译成功后,将在module、UTIL和NETIP三个目录中生成三个可加载的MODULEs,即rt3070ap.ko、rtUTIL3070ap.ko和rtnet3070ap.ko,这三个文件将被复制到/lib/modules/3.9.7/,下的EM9281的根文件系统中,同时复制rt2870ap.dat。
至此,rt3070 SoftAP的驱动移植完成。
3.rt3070 AP的应用。
Linux板启动后,可以通过insmod命令加载rt3070ap的驱动程序。在这里,我们编辑了一个脚本文件来自动加载和配置rt3070 AP的应用程序。脚本文件ap.sh如下:
#!/bin/sh
insmod/lib/modules/3 . 9 . 7/rtutil 3070 AP . ko
insmod/lib/modules/3 . 9 . 7/rt 3070 AP . ko
insmod/lib/modules/3 . 9 . 7/rtnet 3070 AP . ko
ifconfig ra0向上
ifconfig ra0 192.168.1.1
udh CPD/mnt/NAND flash/udh CPD . conf
的udhcpd.conf用于配置AP接入点可以分配的网段的ip区域。
: 2em;">[root@EM9280 /]#./mnt/nandflash/ap.sh[ 24.518019] rtusb init --->[ 24.527379][ 24.527379][ 24.527379] === pAd = c8d22000, size = 417992 ===[ 24.527379][ 24.538208] <-- RTMPAllocAdapterBlock, Status=0[ 24.556368] usbcore: registered new interface driver rt2870[ 25.105709] <-- RTMPAllocTxRxRingMemory, Status=0[ 25.114482] -->RTUSBVenderReset[ 25.117869] <--RTUSBVenderReset[ 25.688699] Key1Str is Invalid key length(0) or Type(0)[ 25.694479] Key2Str is Invalid key length(0) or Type(0)[ 25.700364] Key3Str is Invalid key length(0) or Type(0)[ 25.706197] Key4Str is Invalid key length(0) or Type(0)[ 25.721043] 1. Phy Mode = 9[ 25.723866] 2. Phy Mode = 9[ 25.726670] NVM is Efuse and its size =2d[2d0-2fc][ 25.878998] 3. Phy Mode = 9[ 25.964389] MCS Set = ff 00 00 00 01[ 26.022838] SYNC - BBP R4 to 20MHz.l[ 26.345731] SYNC - BBP R4 to 20MHz.l[ 26.675462] SYNC - BBP R4 to 20MHz.l[ 27.005730] SYNC - BBP R4 to 20MHz.l[ 27.335732] SYNC - BBP R4 to 20MHz.l[ 27.665994] SYNC - BBP R4 to 20MHz.l[ 27.995606] SYNC - BBP R4 to 20MHz.l[ 28.325587] SYNC - BBP R4 to 20MHz.l[ 29.081255] Main bssid = 48:02:2a:40:2e:c5[ 29.085390] <==== rt28xx_init, Status=0[ 29.092623] 0x1300 = 00064320至此,一个默认网络名为RT2860AP的网络就建立起来了,我们可以通过手机加入此接入点。
对实际的工控设备来说,只要加入此接入点,就可按照标准的socket方式,与其他设备进行数据通讯了。
1、简述
这里先简单介绍下英创公司现有的Linux产品系列,大致分为三个系列的产品:
产品系列产品型号CPU内核版本 EM9X60 EM9160 / EM9460 EM9260 EM9360 EM9660 ATMEL AT91SAM9260 (200MHz) Linux-2.6.30 EM928x EM9280 EM9281 EM9287 FreeScale iMX283/iMX287 (454MHz)Linux-3.9.7 EM335x EM335x EM3352 Cortex-A8 AM3354 (1GHz) Cortex-A8 AM3352 (600MHz) Linux-3.12.10Wi-Fi无线网络短距离数据传输以其无需布线、数据传输速度快等优势,在工业应用中越来越普及。针对这类的应用我们公司已经在EM9X60、EM928x、EM335X等系列Linux嵌入式板卡板卡上移植了基于rt2870sta、rt3070sta、rt5370sta、rt5572sta的无线网络驱动,并在应用产品的开发中得以应用。
无线网卡rt3070还有一种驱动工作模式为SoftAP,即可以支持无线模块工作在软AP模式下,可以作为一个软接入点。针对这类的应用,我们在公司Linux嵌入式系列板卡上做了相应的移植,实现AP热点功能。
在实际应用中,若设备物理安放位置满足WiFi的信号传输条件,则可利用AP热点功能,方便地实现设备间的数据通讯,代替RS485、CAN等现场总线,大幅度降低系统布线的成本。
本文将介绍 rt3070 SoftAP驱动在EM9281产品上的移植和应用。无线模块选择了目前市面上性价比较高的B-LINK公司的BL-LW05-H模块。
2、rt3070 SoftAP移植
rt3070 SoftAP的移植过程:
1、下载驱动文件:2010_0203_RT3070_SoftAP_v2.4.0.1_DPA.bz22、解压后,分别修改MODULE、UTIL、NETIP三个目录下的Makefile 以及os/linux/config.mk文件配置。LINUX_SRC = /home/hl/em9280/linux-3.9.7CROSS_COMPILE = arm-none-linux-gnueabi-3、编译make
编译成功后,将在MODULE、UTIL、NETIP三个目录下分别生成三个可加载模块:rt3070ap.ko、rtutil3070ap.ko、rtnet3070ap.ko,将这三个文件复制到EM9281根文件系统中/lib/modules/3.9.7/下,同时把rt2870ap.dat文件复制到/etc/Wireless/RT2870AP/目录下。
至此rt3070 SoftAP的驱动移植完成。
3、rt3070 AP的应用
Linux嵌入式板卡启动完成后,可通过insmod命令来加载rt3070ap的驱动,这里我们编辑了一个脚本文件来自动加载和配置rt3070 AP的应用,脚本文件ap.sh内容如下:
#!/bin/shinsmod /lib/modules/3.9.7/rtutil3070ap.koinsmod /lib/modules/3.9.7/rt3070ap.koinsmod /lib/modules/3.9.7/rtnet3070ap.koifconfig ra0 upifconfig ra0 192.168.1.1udhcpd /mnt/nandflash/udhcpd.conf
其中的udhcpd.conf用于配置AP接入点可分配的网段ip区域。
[root@EM9280 /]#./mnt/nandflash/ap.sh[ 24.518019] rtusb init --->[ 24.527379][ 24.527379][ 24.527379] === pAd = c8d22000, size = 417992 ===[ 24.527379][ 24.538208] <-- RTMPAllocAdapterBlock, Status=0[ 24.556368] usbcore: registered new interface driver rt2870[ 25.105709] <-- RTMPAllocTxRxRingMemory, Status=0[ 25.114482] -->RTUSBVenderReset[ 25.117869] <--RTUSBVenderReset[ 25.688699] Key1Str is Invalid key length(0) or Type(0)[ 25.694479] Key2Str is Invalid key length(0) or Type(0)[ 25.700364] Key3Str is Invalid key length(0) or Type(0)[ 25.706197] Key4Str is Invalid key length(0) or Type(0)[ 25.721043] 1. Phy Mode = 9[ 25.723866] 2. Phy Mode = 9[ 25.726670] NVM is Efuse and its size =2d[2d0-2fc][ 25.878998] 3. Phy Mode = 9[ 25.964389] MCS Set = ff 00 00 00 01[ 26.022838] SYNC - BBP R4 to 20MHz.l[ 26.345731] SYNC - BBP R4 to 20MHz.l[ 26.675462] SYNC - BBP R4 to 20MHz.l[ 27.005730] SYNC - BBP R4 to 20MHz.l[ 27.335732] SYNC - BBP R4 to 20MHz.l[ 27.665994] SYNC - BBP R4 to 20MHz.l[ 27.995606] SYNC - BBP R4 to 20MHz.l[ 28.325587] SYNC - BBP R4 to 20MHz.l[ 29.081255] Main bssid = 48:02:2a:40:2e:c5[ 29.085390] <==== rt28xx_init, Status=0[ 29.092623] 0x1300 = 00064320
至此,一个默认网络名为RT2860AP的网络就建立起来了,我们可以通过手机加入此接入点。
对实际的工控设备来说,只要加入此接入点,就可按照标准的socket方式,与其他设备进行数据通讯了。
.dfma { position: relative; width: 1000px; margin: 0 auto; } .dfma a::after { position: absolute; left: 0; bottom: 0; width: 30px; line-height: 1.4; text-align: center; background-color: rgba(0, 0, 0, .5); color: #fff; font-size: 12px; content:"广告"; } .dfma img { display: block; }