一种基于Linux内核的用户态操作3G-USB网卡的方法及系统的制作方法

xiaoxiao2020-10-23  16

一种基于Linux内核的用户态操作3G-USB网卡的方法及系统的制作方法
【技术领域】
[0001]本发明涉及无线通讯技术领域,特别是涉及一种基于Linux内核的用户态操作3G-USB网卡的方法及系统。
【背景技术】
[0002]如今,网络通信技术蓬勃发展,在经历了利用有线宽带技术的有线网络之后,出现了利用无线电频率信号进行数据传输的无线网络,而随着移动通讯技术飞速发展,3G(3rdgenerat1n,第三代数字通信技术)迅速发展,并以视频和数据传输技术为核心,快速而稳定地发展。同时,经过国家近几年的大力支持,我国的3G网络覆盖面越来越广,在中大城市及周边地区均有步建,3G网络会成为人人喜欢的网络传输,这样就需要在操作系统中有一套简单快捷的方式来连接3G网络,可以被大众所接受和利用。
[0003]在现有的Linux操作系统中,内核驱动USB-3G网卡设备,执行Linux内核命令可进行3G网卡的拨号连接操作与断开拨号连接操作,但是对于一些用户态程序,例如软件防火墙、交换机等,它们不能为用户提供复杂的操作命令,因而用户操作起来十分繁琐,体验感大为降低。

【发明内容】

[0004]本发明的目的是提供一种基于Linux内核的用户态操作3G-USB网卡的方法及系统,使得用户通过用户态程序提供的简单操作接口,就可发出操作命令控制3G网卡的拨号连接或者断开连接等操作。
[0005]根据本发明的一个方面,提供一种基于Linux内核的用户态操作3G-USB网卡的方法,所述方法包括:步骤SI,配置Linux内核以支持USB-3G网卡驱动和PPP报文协议;步骤S2,编译PPP报文协议中的PPH)可执行程序,生成操作USB-3G网卡所使用的PPH)文件;步骤S3,用户态程序基于PPH)文件定义操作3G-USB网卡的命令的关键字,生成供用户操作3G-USB网卡的命令行并对命令行进行封装;以及步骤S4,通过用户态程序发出操作命令并在Linux内核中执行对3G-USB网卡的操作。
[0006]其中,在本发明中,所述执行对3G-USB网卡的操作包括:执行3G-USB网卡的拨号连接操作;或执行3G-USB网卡的断开连接操作。
[0007]其中,在本发明中,所述命令行包括:用于执行对电信3G网卡进行拨号连接操作的命令行;用于执行对联通3G网卡进行拨号连接操作的命令行;用于执行对电信3G网卡进行断开拨号连接操作的命令行;和/或用于执行对联通3G网卡进行断开拨号连接操作的命令行。
[0008]其中,在本发明中,所述步骤S4进一步包括:步骤S41,通过用户态程序发出命令;步骤S42,对发出的命令进行解析;以及步骤S43,根据解析结果对3G-USB网卡进行对应命令的操作。
[0009]其中,在本发明中,所述发出的命令包括:用于对电信3G网卡进行拨号连接操作的命令;用于对联通3G网卡进行拨号连接操作的命令;用于对电信3G网卡进行断开拨号连接操作的命令;和/或用于对联通3G网卡进行断开拨号连接操作的命令。
[0010]根据本发明的另一方面,提供一种基于Linux内核的用户态操作3G-USB网卡的系统,所述系统包括:配置单元,用于配置Linux内核以支持USB-3G网卡驱动和PPP报文协议;编译单元,与所述配置单元相连,用于编译PPP报文协议中的PPro可执行程序,生成操作USB-3G网卡所使用的PPro文件;封装单元,与所述编译单元相连,用于通过用户态程序并基于PPro文件定义操作3G-USB网卡的命令的关键字,生成供用户操作3G-USB网卡的命令行并对命令行进行封装;和执行单元,与所述封装单元相连,用于通过用户态程序发出操作命令并在Linux内核中执行对3G-USB网卡的操作。
[0011]其中,在本发明中,所述执行对3G-USB网卡的操作包括:执行3G-USB网卡的拨号连接操作;或执行3G-USB网卡的断开连接操作。
[0012]其中,在本发明中,所述命令行包括:用于执行对电信3G网卡进行拨号连接操作的命令行;用于执行对联通3G网卡进行拨号连接操作的命令行;用于执行对电信3G网卡进行断开拨号连接操作的命令行;和/或用于执行对联通3G网卡进行断开拨号连接操作的命令行。
[0013]其中,在本发明中,所述执行单元进一步包括:命令发出模块,用于通过用户态程序发出命令;命令解析模块,与所述命令发出模块连接,用于对发出的命令进行解析;和命令执行模块,与所述命令解析模块相连,用于根据所述命令解析模块的解析结果对3G-USB网卡进行对应命令的操作。
[0014]其中,在本发明中,所述发出的命令包括:用于对电信3G网卡进行拨号连接操作的命令;用于对联通3G网卡进行拨号连接操作的命令;用于对电信3G网卡进行断开拨号连接操作的命令;和/或用于对联通3G网卡进行断开拨号连接操作的命令。
[0015]根据本发明的一种基于Linux内核的用户态操作3G-USB网卡的方法及系统,自定义操作3G-USB网卡的命令关键字并形成命令行,使得提供给用户的操作接口更为简单且方便,实现了用户输入简单方便的命令即可控制3G网卡的拨号连接或者断开连接等操作,提高了用户的体验感。
【附图说明】
[0016]图1显示了本发明优选实施例中基于Linux内核的用户态操作3G-USB网卡方法的流程图;
[0017]图2显示了图1中步骤S4的流程图;
[0018]图3显示了本发明优选实施例中基于Linux内核的用户态操作3G-USB网卡系统的结构示意图;
[0019]图4显示了图3中执行单元的结构示意图。
【具体实施方式】
[0020]为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0021]图1显示了本发明优选实施例中基于Linux内核的用户态操作3G-USB网卡方法的流程图。
[0022]本发明优选实施例中基于Linux内核的用户态操作3G-USB网卡方法如图1所示包括:
[0023]步骤SI,配置Linux内核以支持USB-3G网卡驱动和PPP报文协议。
[0024]在本步骤中,配置Linux系统的内核使其可以支持USB-3G网卡驱动和USB-3G网卡拨号后的PPP报文处理,即生成网络通信协议。具体来说,基于内核配置系统,利用图形化的内核配置方法,通过make menuconfig命令配置内核配置选项,勾选USB Support以及PPP Support下的选项,使得内核能够支持USB-3G网卡驱动和USB-3G网卡拨号后的PPP报文处理。
[0025]步骤S2,编译PPP报文协议中的PPro可执行程序,生成操作USB-3G网卡所使用的PPPD文件。
[0026]在本步骤中,根据Linux当前使用的硬件架构,例如x86、mips、arm等,编译与该硬件架构相对应的ppro可执行程序,以生成为usb-3g网卡拨号所要使用的可执行文件ppro。具体来说,编译PPro开源代码生成可执行文件pppd,生成的可执行文件ppro用于3G网卡拨号,PPPD开源代码可以为但不仅限于PPP-2.4.2。
[0027]步骤S3,用户态程序基于PPro文件定义操作3G-USB网卡的命令的关键字,生成供用户操作3G-USB网卡的命令行并对命令行进行封装。
[0028]在本步骤中,基于生成的PPro文件,自定义操作3G-USB网卡的命令关键字并形成命令行,使得提供给用户的操作接口更为简单且方便。具体地,命令行包括用于执行对电信3G网卡进行拨号连接操作的命令行、用于执行对联通3G网卡进行拨号连接操作的命令行、用于执行对电信3G网卡进行断开拨号连接操作的命令行、和/ 或用于执行对联通3G网卡进行断开拨号连接操作的命令行。进一步,执行对电信3G网卡进行拨号连接操作的命令行为“PPPD call cdma-connect”,执行对联通3G网卡进行拨号连接操作的命令行为“PPPDcall wcdma-connect”,执行对电信3G网卡进行断开拨号连接操作的命令行为“PPPD callcdma-disconnect”,执行对联通3G网卡进行断开拨号连接操作的命令行为“PPPD callwcdma-disconnect”,每条命令行执行对3G-USB网卡的相应操作。
[0029]步骤S4,通过用户态程序发出操作命令并在Linux内核中执行对3G-USB网卡的操作。
[0030]在本步骤中,用户通过用户程序发出操作命令操作3G-USB网卡,该操作命令包括对电信3G网卡进行拨号连接操作的命令、用于对联通3G网卡进行拨号连接操作的命令、用于对电信3G网卡进行断开拨号连接操作的命令、和/或用于对联通3G网卡进行断开拨号连接操作的命令。进一步,对电信3G网卡进行拨号连接操作的命令为“usb-3g connectcdma”,对联通3G网卡进行拨号连接操作的命令为“usb_3g connect wcdma”,对电信3G网卡进行断开拨号连接操作的命令为“undo usb-3g connect cdma”,对联通3G网卡进行断开拨号连接操作的命令为“undo usb-3g connect wcdma”。当要操作3G-USB网卡时,用户通过用户程序发出前述的操作命令,发出的操作命令会调用对应的命令行,进而执行对3G-USB网卡的操作,例如,执行3G-USB网卡的拨号连接操作或执行3G-USB网卡的断开连接操作。
[0031]具体来说,本步骤的流程如图2所示包括:
[0032]步骤S41,通过用户态程序发出命令。具体地,用户态程序通过cli的方式向用户提供命令操作界面,该操作界面支持输入问号查询帮助及TAB键命令不齐功能,操作更为简单和方便,能够满足用户的操作需求。本步骤中,用户在命令操作界面上发出前述的某操作命令,例如,“usb_3g connect cdma,,、“usb_3g connect wcdma,,、“undo usb_3g connectcdma” 以及“undo usb_3g connect wcdma” 中的某一操作命令。
[0033]步骤S42,对发出的命令进行解析。具体地,采用命令解析函数对发出的操作命令进行解析,判断操作命令的操作类型,当用户输入操作命令后,cli会根据输入命令创建msg并将msg发送给命令解析函数,命令解析函数解析命令关键字获取操作命令的对应操作指示。例如,命令解析函数根据操作命令中是否有“undo”字符来判断是执行拨号连接操作还是断开连接操作,根据“cdma”字符或是“wcdma”字符来判断是执行电信3G网卡操作还是联通3G网卡操作。
[0034]步骤S43,根据解析结果对3G-USB网卡进行对应命令的操作。具体地,基于命令解析函数的解析结果,并通过下发system命令到内核执行拨号连接或断开连接,即执行相应的命令行。
[0035]例如,当要对电信3G网卡进行拨号连接操作时,用户发送“usb_3g connectcdma”操作命令,进而调用“PPPD call cdma-connect”命令行;当要对联通3G网卡进行拨号连接操作时,用户发送“usb-3g connect wcdma”操作命令,进而调用“PPPD callwcdma-connect”命令行;当要对电信3G网卡进行断开拨号连接操作时,用户发送“undousb_3g connect cdma,进而调用 “PPPD call cdma-disconnect” 命令行;当要对联通 3G网卡进行断开拨号连接操作时,用户发送“undo usb-3g connect wcdma”,进而调用“PPPDcall wcdma-disconnect”命令行。
[0036]通过上述流程,使得用户通过用户态程序提供的简单操作接口,就可发出操作命令控制3G网卡的拨号连接或者断开连接等操作。
[0037]图3显示了本发明优选实施例中基于Linux内核的用户态操作3G-USB网卡系统的结构示意图。
[0038]如图3所示,本发明优选实施例中基于Linux内核的用户态操作3G-USB网卡系统包括配置单元1、编译单元2、封装单元3和执行单元4。
[0039]配置单元I用于配置Linux内核以支持USB-3G网卡驱动和PPP报文协议,配置后的内核可以支持USB-3G网卡驱动和USB-3G网卡拨号后的PPP报文处理,即生成了网络通信协议。
[0040]具体来说,基于内核配置系统,配置单元I利用图形化的内核配置方法,通过makemenuconf ig命令配置内核配置选项,勾选USB Support以及PPP Support下的选项,使得内核能够支持USB-3G网卡驱动和USB-3G网卡拨号后的PPP报文处理。
[0041]编译单元2与配置单元I相连,用于编译PPP报文协议中的PPro可执行程序,生成操作USB-3G网卡所使用的PPro文件。
[0042]具体来说,根据Linux当前使用的硬件架构,例如x86、mips、arm等,编译单元2编译与该硬件架构相对应的PPPD可执行程序,以生成为USB-3G网卡拨号所要使用的可执行文件ppro。例如,编译ppro开源代码生成可执行文件pppd,生成的可执行文件ppro用于3G网卡拨号,PPPD开源代码可以为但不仅限于PPP-2.4.2。
[0043]封装单元3与编译单元2相连,用于通过用户态程序并基于PPH)文件定义操作3G-USB网卡的命令的关键字,生成供用户操作3G-USB网卡的命令行并对命令行进行封装。
[0044]具体来说,基于生成的PPH)文件,封装单元3自定义操作3G-USB网卡的命令关键字并形成命令行,使得提供给用户的操作接口更为简单且方便。这里,命令行包括用于执行对电信3G网卡进行拨号连接操作的命令行、用于执行对联通3G网卡进行拨号连接操作的命令行、用于执行对电信3G网卡进行断开拨号连接操作的命令行、和/或用于执行对联通3G网卡进行断开拨号连接操作的命令行。进一步,执行对电信3G网卡进行拨号连接操作的命令行为“PPPD call cdma-connect”,执行对联通3G网卡进行拨号连接操作的命令行为“PPPD call wcdma-connect”,执行对电信3G网卡进行断开拨号连接操作的命令行*“ΡΡΗ) call cdma-disconnect”,执行对联通3G网卡进行断开拨号连接操作的命令行为aPPPD call wcdma-disconnect”,每条命令行执行对3G-USB网卡的相应操作。
[0045]执行单元4与封装单元3相连,用于通过用户态程序发出操作命令并在Linux内核中执行对3G-USB网卡的操作。
[0046]具体来说,执行单元4通过用户程序发出操作命令操作3G-USB网卡,该操作命令包括对电信3G网卡进行拨号连接操作的命令、用于对联通3G网卡进行拨号连接操作的命令、用于对电信3G网卡进行断开拨号连接操作的命令、和/或用于对联通3G网卡进行断开拨号连接操作的命令。这里,对电信3G网卡进行拨号连接操作的命令为“usb-3g connectcdma”,对联通3G网卡进行拨号连接操作的命令为“usb_3g connect wcdma”,对电信3G网卡进行断开拨号连接操作的命令为“undo usb-3g connect cdma”,对联通3G网卡进行断开拨号连接操作的命令为“undo usb-3g connect wcdma”。当要操作3G-USB网卡时,执行单元4通过用户程序发出前述的操作命令,发出的操作命令会调用对应的命令行,进而执行对3G-USB网卡的操作,例如,执行3G-USB网卡的拨号连接操作或执行3G-USB网卡的断开连接操作 。
[0047]进一步,执行单元4的结构如图4所示包括命令发出模块41、命令解析模块42和命令执行模块43。
[0048]命令发出模块41用于通过用户态程序发出命令。具体地,命令发出模块41基于用户态程序通过cli的方式提供的命令操作界面发出命令,该操作界面支持输入问号查询帮助及TAB键命令不齐功能,操作更为简单和方便,能够满足用户的操作需求。本步骤中,用户通过命令发出模块41在命令操作界面上发出前述的某操作命令,例如,“usb-3g connectcdma,,、‘‘usb_3g connect wcdma,,、“undo usb_3g connect cdma,,以及 “undo usb_3gconnect wcdma”中的某一操作命令。
[0049]命令解析模块42与命令发出模块41连接,用于对发出的命令进行解析。具体地,命令解析模块42采用命令解析函数对发出的操作命令进行解析,判断操作命令的操作类型,当用户输入操作命令后,cli会根据输入命令创建msg并将msg发送给命令解析函数,命令解析函数解析命令关键字获取操作命令的对应操作指示。例如,命令解析函数根据操作命令中是否有“undo”字符来判断是执行拨号连接操作还是断开连接操作,根据“cdma”字符或是“wcdma”字符来判断是执行电信3G网卡操作还是联通3G网卡操作。
[0050]命令执行模块43与命令解析模块42相连,用于根据命令解析模块42的解析结果对3G-USB网卡进行对应命令的操作。具体地,基于命令解析函数的解析结果,命令执行模块43通过下发system命令到内核执行拨号连接或断开连接,即执行相应的命令行。
[0051]例如,当要对电信3G网卡进行拨号连接操作时,用户发送“usb_3g connectcdma”操作命令,进而调用“PPPD call cdma-connect”命令行;当要对联通3G网卡进行拨号连接操作时,用户发送“usb-3g connect wcdma”操作命令,进而调用“PPPD callwcdma-connect”命令行;当要对电信3G网卡进行断开拨号连接操作时,用户发送“undousb_3g connect cdma,进而调用 “PPPD call cdma-disconnect” 命令行;当要对联通 3G网卡进行断开拨号连接操作时,用户发送“undo usb-3g connect wcdma”,进而调用“PPPDcall wcdma-disconnect”命令行。
[0052]如上所述,根据本发明的一种基于Linux内核的用户态操作3G-USB网卡的方法及系统,自定义操作3G-USB网卡的命令关键字并形成命令行,使得提供给用户的操作接口更为简单且方便,实现了用户输入简单方便的命令即可控制3G网卡的拨号连接或者断开连接等操作,提高了用户的体验感。
[0053]应当理解的是,本发明的上述【具体实施方式】仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。
【主权项】
1.一种基于Linux内核的用户态操作3G-USB网卡的方法,其特征在于,所述方法包括: 步骤SI,配置Linux内核以支持USB-3G网卡驱动和PPP报文协议; 步骤S2,编译PPP报文协议中的PPH)可执行程序,生成操作USB-3G网卡所使用的PPH)文件; 步骤S3,用户态程序基于PPH)文件定义操作3G-USB网卡的命令的关键字,生成供用户操作3G-USB网卡的命令行并对命令行进行封装;以及 步骤S4,通过用户态程序发出操作命令并在Linux内核中执行对3G-USB网卡的操作。2.根据权利要求1所述的方法,其特征在于,所述执行对3G-USB网卡的操作包括: 执行3G-USB网卡的拨号连接操作;或 执行3G-USB网卡的断开连接操作。3.根据权利要求2所述的方法,其特征在于,所述命令行包括: 用于执行对电信3G网卡进行拨号连接操作的命令行; 用于执行对联通3G网卡进行拨号连接操作的命令行; 用于执行对电信3G网卡进行断开拨号连接操作的命令行;和/或 用于执行对联通3G网卡进行断开拨号连接操作的命令行。4.根据权利要求2所述的方法,其特征在于,所述步骤S4进一步包括: 步骤S41,通过用户态程序发出命令; 步骤S42,对发出的命令进行解析;以及 步骤S43,根据解析结果对3G-USB网卡进行对应命令的操作。5.根据权利要求4所述的方法,其特征在于,所述发出的命令包括: 用于对电信3G网卡进行拨号连接操作的命令; 用于对联通3G网卡进行拨号连接操作的命令; 用于对电信3G网卡进行断开拨号连接操作的命令;和/或 用于对联通3G网卡进行断开拨号连接操作的命令。6.一种基于Linux内核的用户态操作3G-USB网卡的系统,其特征在于,所述系统包括: 配置单元⑴,用于配置Linux内核以支持USB-3G网卡驱动和PPP报文协议; 编译单元(2),与所述配置单元(I)相连,用于编译PPP报文协议中的PPH)可执行程序,生成操作USB-3G网卡所使用的PPH)文件; 封装单元(3),与所述编译单元(2)相连,用于通过用户态程序并基于PPro文件定义操作3G-USB网卡的命令的关键字,生成供用户操作3G-USB网卡的命令行并对命令行进行封装;和 执行单元(4),与所述封装单元(3)相连,用于通过用户态程序发出操作命令并在Linux内核中执行对3G-USB网卡的操作。7.根据权利要求6所述的系统,其特征在于,所述执行对3G-USB网卡的操作包括: 执行3G-USB网卡的拨号连接操作;或 执行3G-USB网卡的断开连接操作。8.根据权利要求7所述的系统,其特征在于,所述命令行包括: 用于执行对电信3G网卡进行拨号连接操作的命令行; 用于执行对联通3G网卡进行拨号连接操作的命令行; 用于执行对电信3G网卡进行断开拨号连接操作的命令行;和/或 用于执行对联通3G网卡进行断开拨号连接操作的命令行。9.根据权利要求7所述的系统,其特征在于,所述执行单元(4)进一步包括: 命令发出模块(41),用于通过用户态程序发出命令; 命令解析模块(42),与所述命令发出模块(41)连接,用于对发出的命令进行解析;和命令执行模块(43),与所述命令解析模块(42)相连,用于根据所述命令解析模块(42)的解析结果对3G-USB网卡进行对应命令的操作。10.根据权利要求9所述的系统,其特征在于,所述发出的命令包括: 用于对电信3G网卡进行拨号连接操作的命令; 用于对联通3G网卡进行拨号连接操作的命令; 用于对电信3G网卡进行断开拨号连接操作的命令;和/或 用于对联通3G网卡进行断开拨号连接操作的命令。
【专利摘要】本发明公开了一种基于Linux内核的用户态操作3G-USB网卡的方法及系统。所述方法包括:配置Linux内核以支持USB-3G网卡驱动和PPP报文协议;编译PPP报文协议中的PPPD可执行程序,生成操作USB-3G网卡所使用的PPPD文件;用户态程序基于PPPD文件定义操作3G-USB网卡的命令的关键字,生成供用户操作3G-USB网卡的命令行并对命令行进行封装;以及通过用户态程序发出操作命令并在Linux内核中执行对3G-USB网卡的操作。通过本发明的方法及系统,可实现用户输入简单方便的命令即可控制3G网卡的拨号连接或者断开连接等操作,用户体验感极强。
【IPC分类】G06F9/44
【公开号】CN104899028
【申请号】CN201510278631
【发明人】高福亮, 侯广仁
【申请人】北京汉柏科技有限公司
【公开日】2015年9月9日
【申请日】2015年5月27日

最新回复(0)