公开/公告号CN106375163A
专利类型发明专利
公开/公告日2017-02-01
原文格式PDF
申请/专利权人 安徽皖通邮电股份有限公司;
申请/专利号CN201610750417.9
发明设计人 唐成波;
申请日2016-08-29
分类号H04L12/28;
代理机构杭州君度专利代理事务所(特殊普通合伙);
代理人王桂名
地址 230000 安徽省合肥市阜阳北路334号
入库时间 2023-06-19 01:25:36
法律状态公告日
法律状态信息
法律状态
2019-04-12
授权
授权
2017-03-01
实质审查的生效 IPC(主分类):H04L12/28 申请日:20160829
实质审查的生效
2017-02-01
公开
公开
技术领域
本发明涉及数据通信领域,具体的说,涉及到一种Linux系统上无线数据卡的高速PPP实现方法。
背景技术
3G技术时代,数据卡模块上网主要以PPP拨号方式为主,在Linux系统上也有一套完整的解决方案来支持PPP拨号上网,内核态相关方案的驱动主要包含tty串口驱动、usb串口驱动。串口本身就是低速设备,tty串口驱动同样也是低速设备驱动,usb串口驱动也是为低速USB设备而设计,受限于实现方案的约束实际应用中PPP拨号上网速率往往都很低,通常只能达到2Mbps以内。
在3G技术时代,无线侧能够提供的带宽本身就比较有限,所以综合方案的低性能设计对于PPP拨号总体性能影响并不是那么明显。随着4G技术的到来,无线带宽理论值能够达到50Mbps/100Mbps,低速设计的驱动模型已经无法满足高速带宽的要求。所以当前的4G模块一般都会呈现一个网络设备接口跟主机侧做以太报文交互,主机侧通过专门的网络设备驱动和模块通信,通过测试网络驱动模型的带宽是完全满足当前4G无线带宽的。
但是在实际应用中,PPP拨号上网方式仍然应用广泛,原来的PPP拨号解决方案中驱动层的低速设计已经严重限制了上网速率,本发明提出新的方法用来解决这一问题。
附图1所示为当前数据卡PPP拨号上网方案简图,其流程如下:
1.内核识别Modem接口并创建对应的字符设备
2.用户程序通过字符设备读写实现拨号
3.用户程序开启接收守候线程,通过无等待循环读字符设备接收报文
4.接收到报文后需要做报文识别、报文提取、PPP转义、PPP校验
5.当有发包时通过写字符设备发送报文
上述原先的PPP模式下,模块对系统侧呈现一个Modem接口,驱动模块只负责创建出对应的字符设备,用户程序需要完成拨号、封包、发包、循环收包、解封装报文、异常报文处理、挂断等繁杂的操作,用户程序的实现往往相对复杂,由于采用串口字符设备驱动,收发报文速率和效率都非常低下。
发明内容
本发明的目的在于提供一种Linux系统上无线数据卡的高速PPP实现方法,该方法能够大幅提升无线模块PPP拨号上网的上下行速率。
为了实现上述发明目的,本发明的技术方案有如下步骤:
(1)针对无线模块的Modem接口同时创建字符设备和网络设备;
(2)字符设备读写和网络接口收发报文之间操作通过信号量或者锁机制互斥;
(3)通过字符设备读写实现拨号和挂断操作;
(4)通过网络设备进行报文收发处理;
(5)网络收发包流程实现PPP报文处理。
本发明提供的方案中,对于无线模块的Modem接口,创建字符设备用于拨号和挂断,创建网络设备用于报文处理;通过互斥机制保证同一时刻只有一个设备驱动会访问实际Modem接口。由于从Modem接口实际收发的报文是转义后的PPP报文,所以网络接口接收PPP报文后需要识别和提取原始报文、去除转义、校验FCS、以太头计算和封装,发送报文时需要解析并剥离以太头、计算并添加FCS、字符转义。新的方案下,由于使用了内核的网络接口模型,收发包性能大幅提升,并且由于驱动完成了几乎所有的报文处理工作,使得用户程序得以更加简化,分离出的字符设备单独用作拨号和挂断也使得用户程序处理更加方便。
本发明的技术效果在于:
(1) 实现数据卡高速PPP拨号上网;
(2) 驱动直接实现PPP报文的收发处理,简化了应用设计;
(3) 拨号和报文收发流程分离,简化应用设计。
附图说明:
图 1为当前数据卡PPP拨号上网方案简图;
图 2 为本发明中数据卡PPP拨号上网方案简图;
图 3 为本发明中网络驱动处理Modem接口收发报文流程图。
具体实施方式:
下面结合附图对本发明一种Linux系统上无线数据卡的高速PPP实现方法进行说明。
附图2所示为本发明中数据卡PPP拨号上网方案简图,其运行步骤如下:
1.内核识别Modem接口并创建对应的字符设备和网络设备;
2.用户程序通过字符设备读写实现拨号;
3.用户程序创建socket并监听等待网口收包;
4.当有发包时通过socket send发送报文;
5.网络接口收发报文可以直接走内核转发。
附图3所示为本发明中网络驱动处理Modem接口收发报文流程:
发送方向:PPP报文经过以太头解析和剥离、FCS计算和封装、PPP转义字符转义后发送到数据卡侧;
接收方向:数据卡侧接收到的数据经过PPP报文识别和提取、解除转义、FCS校验、以太头计算和添加再发送到收包队列或者直接内核转发。
最后说明的是:以上实施方式仅用以示例性说明本发明的技术方法,而非对其限制;尽管参照前述实施例对本发明及本发明带来的有效效果进行了详细说明,本领域的普通技术人员应当理解:其依然可以对前述各实施方式所记载的技术方法进行修改,或者对其中部分技术特征进行同等替换;而这些修改或替换,并不使相应技术方法的本质脱离本发明权利要求的范围。
机译: 无线数据卡和通过所述无线数据卡实现电视节目显示的方法
机译: 无线数据卡和通过所述无线数据卡实现电视节目显示的方法
机译: 无线数据卡和通过所述无线数据卡实现电视节目显示的方法