APP下载

基于Openwrt路由固件的MiFi系统设计*

2014-09-06吴恋黄俊伟黄一峰

单片机与嵌入式系统应用 2014年5期
关键词:固件基带路由

吴恋,黄俊伟,黄一峰

(重庆邮电大学 新一代宽带移动通信终端研究所,重庆 400065)



吴恋,黄俊伟,黄一峰

(重庆邮电大学 新一代宽带移动通信终端研究所,重庆 400065)

近年来市场上出现的一种新产品MiFi(一种便携式WiFi热点终端)满足了处于移动中的人们对网络的需求,使MiFi随身成为现实。本文设计与实现了一款TD-SCDMA的MiFi,系统地论述了MiFi的实现方案,统计和分析了当前市场上MiFi存在的不足,针对这些不足进行性能和功能上的优化。本文对要进行MiFi开发的读者具有启示性和指导性的作用。

MiFi; WiFi;热点终端

引 言

MiFi是近年来推出的一种便携式WiFi热点终端,这个名字代表“My WiFi”,即实现将网络揣进口袋为用户提供随身WiFi。它的特点是可利用SIM卡连接互联网,将SIM卡接收到的移动通信网络信号(LTE/3G/2G)以802.11无线通信标准网络的形式分享出来供上网设备连接上网,给用户实现随身WiFi[1]。目前国内外都已经兴起了MiFi热潮。

目前国内主流的一些MiFi产品支持3G/2G网络转MiFi、有线固网转WiFi、WiFi中继、有线和无线及USB的接入方式、Web远程管理、防火墙设置等功能,为用户上网提供了极大的方便,但普遍也还存在一些问题。

本文主要是实现了一款TD网络类型的3G MiFi,它除了支持上述所说功能外,针对当前市场上MiFi产品存在的不足进行性能上的改善和功能上的创新。文中提出的方案也适用于LTE MiFi的开发。

1 系统框架

1.1 MiFi硬件框架

从MiFi的主要特征功能上看,将MiFi分为4大模块[2]:电源部分、最小系统部分(包括中央处理器CPU+存储设备MCP)、WLAN部分、RFIC(射频集成电路),如图1所示。

图1 MiFi硬件框架

电源部分负责把外接的直流电源转换为系统其他部分需要的电源,从而给整个系统供电。

最小系统部分主要由CPU、掉电易失存储器RAM和掉电非易失存储器FLASH组成,此部分是MiFi的核心。

◆ CPU——控制的核心,最关键的部分,CPU的处理能力直接影响整个系统的性能。

◆ MCP(NAND+DDR)——Memory Control Port,包括NAND Flash非易失存储器和DDR易失存储器。

WLAN部分:WiFi模块部分,让其通过SDIO总线与处理器进行连接,将接收到的3G/2G网络信号以802.11无线通信标准网络的形式分享出来,向外提供WiFi网络。

基带部分:RFIC射频集成电路就是实现设备能接收SIM卡移动数据通信网络的关键。它通过USB总线与处理器进行连接。

1.2 MiFi软件框架

图2 MiFi总体软件架构

软件中需要两个操作系统,一个是路由操作系统,一个是跑基带软件、协议的实时操作系统。基带即使俗称的BB,产品设备能支持什么样的网络(GSM/CDMA/WCDMA/TD-SCDMA/LTE)就是由它来决定的。路由操作系统这边除了实现一般无线路由具有的功能外,还负责与基带的通信,完成将3G/2G网络信号转为WiFi信号,负责与WiFi通信,及负责其他功能。路由操作系统是主控。下面通过图表对MiFi的软件架构进行说明,罗列出所需的软件组件。图2为MiFi总体软件架构。软件架构描述见本刊网站www.mesnet.com.cn—— 编者注。

2 MiFi的设计与实现

2.1 MiFi系统硬件设计方案

方案一:双芯片。一块芯片中运行基带实时操作系统、另一块芯片中运行路由操作系统。

方案二:单芯片。通过虚拟机实现一块芯片中同时运行两个系统。

考虑到成本、硬件电路集成度,以及所需处理能力要求并不高等,选定采用单芯片方案。本文实现的这款MiFi硬件平台以C6310作为核心处理器,此芯片是一块TD的芯片,在该芯片上经虚拟机的方式实现跑有两个操作系统——基带相关的实时操作系统(虚拟机上运行)和Linux内核路由操作系统。

2.2 操作系统解决方案

前面说到MiFi中操作系统有两个——路由操作系统、基带实时操作系统。基带实时操作系统采用重邮信科公司的基带平台(该公司是国内最早从事TD-SCDMA移动终端研发的单位之一),路由操作系统采用移植一种开源的Linux内核的路由操作系统。

目前流行的第三方路由固件[3],主要有DDWRT、Tomato、Openwrt。

DDWRT:界面美观,设置简单,是三大固件中功能最丰富的,对新路由的支持十分迅速,但系统不稳定,经常出现一些bug。

Tomato:界面尚可,设置简单,是三大路由固件中最为稳定的,但对新路由几乎不支持,不出所料的话,Tomato会慢慢消亡。

Openwrt:官版LuCI界面相对丑陋,设置不简单,易用性不好,但它是三大固件中可扩展性最好的固件,对新路由的支持十分迅速,可以在新路由强劲CPU的支持下获得很好的性能表现,是最有前途的固件。

本文实现的MiFi是基于Openwrt来实现的。

2.3 MiFi的Web远程管理系统设计

卡夫卡让笔下的K们与“中心”对抗,K们也具有鹰四般叛逆的勇气,他们都对“中心”释放着自己最叛逆的行径。鹰四开枪自杀获得了自我认同,但鹰四从不祈求以死获取宽恕,因为宽恕对鹰四来说更是一种残忍,他想通过惩罚将自我彻底毁灭。K们的“挑衅”也绝不希望得到宽恕,宽恕对他们意味着脱离了“权威政治”,他们的行动是在证明自己“有罪”,来取得“中心”的关注。

对MiFi设备的管理配置同对路由器的管理相同,都是通过Web远程管理设备的。基于Openwrt的MiFi的Web远程管理系统的开发可借助于LuCI。LuCI是Openwrt有其默认的Web系统,是一个独立的Web框架,它是Lua和UCI这两个项目的结合体,是接口用Lua脚本语言的UCI。轻量级 Lua语言的官方版本只包括一个精简的核心和最基本的库,其体积小,启动速度快,适合嵌入在别的程序里[4]。Web远程管理实现机制如图3所示,其实现路由配置的机制是:

图3 Web远程管理实现机制

① 当在浏览器输入MiFi的IP(如:192.168.0.1)时,浏览器会给路由系统中的uhttpd服务器发出事件。uhttpd是Openwrt中开机就要启动的一个后台程序,一直在运行一直在侦听。

② uhttpd收到浏览器的请求后将LuCI跑起来,也即使得在浏览器上看到网页界面框图。

③ LuCI通过UCI接口与系统进行交互。

但官版的LuCI系统是针对路由器的,必然与MiFi不符,本文仅是借助LuCI框架对整个Web管理重开发,开发一套MiFi的Web远程界面、建立物理逻辑连接。利用LuCI的框架及LuCI定义封装好的多控件,可快速实现远程管理系统里模块的快速添加或删除、节点的快速添加或删除,以及避免繁琐的html编写,以实现超快速的页面搭建。

若移植的开源Openwrt固件版本中没自带LuCI环境,可自行搭建。LuCI环境搭建[5]:

① 所需下载的软件包——Lua、LuCI;

② 组件LuCI文件夹——把LuCI运行所需要的库放到LuCI文件夹根目录;

③ 建立动态连接库——有一些.so需要C库的支持,比如uci.so 需要libuci.so.0.8等,需搬移安装;

⑤ 移植Web服务器——把已经编译好的Uhttpd拷贝到相应的bin下面;

⑥ 组件www文件夹。

2.4 性能及功能上的改善

对当前市场上的主流MiFi产品进行了数据统计和分析,普遍存在如下问题[1]:

① 连接数小。很多主流MiFi产品最多只允许5个上网设备同时连接上WiFi。

② 电池导航时间短,普遍只能持续工作2~4小时。

③ 无流量限制设置功能和流量用超时有效的提醒方式。很多用户反映SIM卡流量用超时没有任何提醒,一个月后去缴费得知欠费很多。

2.4.1 性能指标提升

性能指标提升:

① 连接数的提升。通常连接数的多少是由WiFi芯片本身已经确定了的,其值一般都是比较大的,但是MiFi系统能支持多少连接数还与其他很多方面有关。本文中实现的MiFi通过加大缓冲区buffer(每一个连接都会申请占用一些buffer,注册不到buffer也就不会连接成功)、在SDIO总线驱动中增添了包种类识别算法(使其支持多种大小的数据包传输)来增大了MiFi的连接数,最后实现了使系统能支持10个上网设备同时连接上WiFi。

② 电池导航时间的提升。本系统中添加了省电方案,写了一个power manage进程,该进程执行每隔1 min检查是否有上网设备通过USB线/LAN口有线/WiFi无线连接到MiFi,若没有设备则使定时器开始计时,若在指定时间内都不再有连接,则系统进入睡眠模式,若在定时器计时期间检测到有设备连接则将定时器清零。当系统进入睡眠模式后,若有按键或USB插入发生,则唤醒系统进入正常模式。

2.4.2 功能上的创新

这里主要是解决当前用户抱怨最多的问题——无流量限制设置功能和流量用超时有效的提醒方式。

其实现方式是:

① 在MiFi的Web远程管理系统上添加流量套餐管理,实现流量套餐使用情况的显示及查询、流量使用最高门限的设置;

② 流量用超后有效的报警。

这里强调的是有效的报警,提出两种方式:方案一,MiFi硬件上加入音频发音器,长鸣发音的报警方式。在Webui上设置流量限制值,当使用流量超限后启动音频发音器,使MiFi长鸣,以告知用户流量已超。方案二,MiFi给主人的手机发送报警短信的方式。设置流量限制值,当流量超限后下发AT指令到基带,让其发送流量用超的报警短信到用户的手机上以告知用户进行处理。

本文中实现的MiFi采用的是第一种报警方式。

3 测试验证及成果展示

系统测试验证结果见表1。

表1 测试验证

成果展示如图4所示。

图4 成果展示图

结 语

本文对MiFi的软硬件进行了系统的论述,讲述了MiFi的实现原理,建立了一个宏观的实现框架及思路;对实现MiFi的各个环节提出了实现方案,在某些点上还提出了不同的方案;分析了当前市场上MiFi的不足,在性能和功能上进行了改善。测试验证本文实现的MiFi具有一般MiFi应具有的功能,且在性能和功能上更优于一般的MiFi。相较而言,它具有较快的网络速率、较大的连接数、较低的功耗且具有省电模式,在功能上创新地加入流量用超后的自动报警功能。该MiFi已经做成产品并在市场售出。

[1] Wikipedia.MiFi[EB/OL].[2013-04-26].http://en.wiki pedia.org/wiki/MiFi.

[2] 周舸.TD-WiFi无线路由器的设计与实现[D].北京:北京邮电大学,2011.

[3] 恩山无线论坛[EB/OL].[2013-04-26].http:// www.right.com.cn/forum/forum.php.

[4] OpenWrt Wireless Freedom [EB/OL].(2012-09) [2013-04-26]. https://Openwrt.org/.

[5] 王海龙,徐晓辉.基于嵌入式 Web 服务器的远程控制系统的实现[J].电子设计工程,2010(5):101-103.

吴恋、黄一峰(硕士),研究方向为嵌入式Linux终端设备开发;黄俊伟(正高级工程师),研究方向为TD-SCDMA移动通信终端开发。

Wu Lian,Huang Junwei,Huang Yifeng

(Chongqing Next Generation Mobile Communication Terminal Laboratory,Chongqing University of Posts and Telecommunications,Chongqing 400065,China)

In recent years, a new product named MiFi(a portable WiFi hotspot terminal) in the market meets the network need of people who often move. MiFi makes the network in people's pocket. This paper designs and realizes a TD-SCDMA MiFi and systematically discusses the implementation method of MiFi. It makes a count and analyzes the defects of the existing MiFi in the market, then makes some improvements for these defects in terms of performance and functionality. This paper acts as a revelatory and guidance role for those people who want to develop MiFi.

MiFi; WiFi; Hotspot terminal

国家重大专项“TD-SCDMA增强型多媒体手机终端的研发和产业化”(No. 2009ZX03001-002-01)。

TP368

A

2013-11-28)

猜你喜欢

固件基带路由
Ag元素对Ni-7at.%W合金基带织构形成的影响
铁路数据网路由汇聚引发的路由迭代问题研究
苹果10亿美元为5G买“芯”
一种基于虚拟分扇的簇间多跳路由算法
探究路由与环路的问题
基于SHA1的SCADA系统PLC固件完整性验证方法
基于预期延迟值的扩散转发路由算法
基于UEFI固件的攻击验证技术研究*
基于固件的远程身份认证
提取ROM固件中的APP