一种usb_3g网卡用户态自动识别与拨号方法和装置的制造方法

文档序号:9263619阅读:501来源:国知局
一种usb_3g网卡用户态自动识别与拨号方法和装置的制造方法
【技术领域】
[0001]本发明涉及USB设备技术领域,特别涉及一种USB_3G网卡用户态自动识别与拨号方法和装置。
【背景技术】
[0002]3G上网卡是目前无线广域通信网络应用广泛的上网介质。目前我国有中国移动的TD-SCDMA和中国电信的CDMA2000以及中国联通的WCDMA三种网络制式,所以常见的无线上网卡就包括CDMA2000无线上网卡和TD、WCDMA无线上网卡三类。这种3G上网卡与电脑连接的接口通常为USB接口。在将3G上网卡插入到电脑上时,内核探测并加载USB_3G网卡驱动,用户需要手动拨号连接上网。
[0003]但是,现有技术方法的缺点是内核探测加载驱动,用户需要手动拨号连接上网,用户态无法实现自动探测及自动拨号上网。

【发明内容】

[0004]本发明的目的是提供一种USB_3G网卡用户态自动识别与拨号方法,该方法对于用户态实现USB_3G网卡自动识别与自动拨号,对内核修改小、简单易行。
[0005]为实现上述目的,本发明提出一种USB_3G网卡用户态自动识别与拨号方法,包括如下步骤:
[0006]内核初始化时申请共享内存,并将所述共享内存的地址赋值给全局变量,所述全局变量在探测到有插入USB_3G网卡时进行累加操作;
[0007]在预设目录下存储pppd可执行文件,其中pppd命令为USB_3G网卡拨号使用命令;
[0008]修改内核文件,执行Isusb命令以获取USB设备信息,保存内核探测到的所有USB设备信息至存储设备目录;
[0009]用户态创建全局USB设备信息表,所述全局USB设备信息表用于存储多个厂商的运营商代码Vendor Id、每个厂商支持的USB_3G网卡的产品代码Product Id和USB_3G网卡的网络类型;
[0010]用户态创建一个线程,用于自动识别插入的USB_3G网卡类型并自动拨号连接,比较本次全局变量和上次全局变量的值是否相等,如果不等则认为探测到有新的USB_3G网卡插入;
[0011]从所述存储设备目录中提取USB_3G网卡设备信息,将所述USB_3G网卡设备信息与所述全局USB设备信息表进行比对以识别该新插入的USB_3G网卡类型;
[0012]根据所述新插入的USB_3G网卡类型和所述pppd可执行文件,控制所述新插入的USB_3G网卡执行自动拨号连接。
[0013]根据本发明的一个方面,所述全局变量在探测到有插入USB_3G网卡时进行累加操作,包括:每当探测到新插入一个USB_3G网卡时,所述全局变量的值加I。
[0014]根据本发明的另一个方面,在所述存储设备目录中,每个USB设备信息包括:设备的总线编号、设备编号、设备的厂商运营代码和产品ID。
[0015]根据本发明的又一方面,将所述USB_3G网卡设备信息与所述全局USB设备信息表进行比对以识别该新插入的USB_3G网卡类型,包括如下步骤:
[0016]通过扫描方式将USB_3G网卡设备信息中的厂商的运营商代码Vendor Id与全局USB设备信息表中的所有厂商的运营商代码Vendor Id进行比对,检测出新插入一个USB_3G网卡的厂商;
[0017]保存所述USB_3G网卡的设备信息,在所述全局USB设备信息表中根据产品代码Product Id获取并记录所述USB_3G网卡对应的设备类型。
[0018]根据本发明的再一方面,所述全局USB设备信息表为全局的二维数组。
[0019]本发明实施方式提供的USB_3G网卡用户态自动识别与拨号方法,通过设置标志USB_3G网卡的全局变量,每当探测到新插入的USB_3G网卡则执行加一操作,以及通过比较本次全局变量和上次全局变量的值是否相等,以及将USB_3G网卡设备信息与全局USB设备信息表进行比对以识别,在用户态USB_3G上网卡自动探测3G网卡类型、3G网卡厂商运营代码、3G网卡产品ID以及3G网卡所在USB总线的总线编号、设备编号等信息,并根据探测到内容实现自动拨号连接上网。本发明对于用户态实现USB_3G网卡自动识别与自动拨号,对内核修改小、简单易行。
[0020]本发明的目的是提供一种USB_3G网卡用户态自动识别与拨号装置,该装置对于用户态实现USB_3G网卡自动识别与自动拨号,对内核修改小、简单易行。
[0021]为实现上述目的,本发明提出一种USB_3G网卡用户态自动识别与拨号装置,包括:共享内存操作模块,用于在内核初始化时申请共享内存,并将所述共享内存的地址赋值给全局变量,所述全局变量在探测到有插入USB_3G网卡时进行累加操作;pppd可执行文件存储模块,用于在预设目录下存储PPPd可执行文件,其中pppd命令为USB_3G网卡拨号使用命令;已探测USB设备信息存储模块,用于修改内核文件,执行Isusb命令以获取USB设备信息,保存内核探测到的所有USB设备信息至存储设备目录;全局USB设备信息存储模块,所述全局USB设备信息存储模块位于用户态,用于创建全局USB设备信息表,所述全局USB设备信息表用于存储多个厂商的运营商代码Vendor Id、每个厂商支持的USB_3G网卡的产品代码Product Id和USB_3G网卡的网络类型;USB_3G网卡识别模块,所述USB_3G网卡识别模块与所述共享内存操作模块、已探测USB设备信息存储模块和全局USB设备信息存储模块相连,用于创建一个线程,用于自动识别插入的USB_3G网卡类型并自动拨号连接,比较本次全局变量和上次全局变量的值是否相等,如果不等则认为探测到有新的USB_3G网卡插入,从所述存储设备目录中提取USB_3G网卡设备信息,将所述USB_3G网卡设备信息与所述全局USB设备信息表进行比对以识别该新插入的USB_3G网卡类型;自动拨号连接模块,所述自动拨号连接模块与USB_3G网卡识别模块和pppd可执行文件存储模块相连,用于根据所述新插入的USB_3G网卡类型和所述pppd可执行文件,控制所述新插入的USB_3G网卡执行自动拨号连接。
[0022]根据本发明的一个方面,所述共享内存操作模块用于在每当探测到新插入一个USB_3G网卡时,将所述全局变量的值加I。
[0023]根据本发明的又一个方面,在所述存储设备目录中,每个USB设备信息包括:设备的总线编号、设备编号、设备的厂商运营代码和产品ID。
[0024]根据本发明的再一个方面,所述USB_3G网卡识别模块通过扫描方式将USB_3G网卡设备信息中的厂商的运营商代码Vendor Id与全局USB设备信息表中的所有厂商的运营商代码Vendor Id进行比对,检测出新插入一个USB_3G网卡的厂商,保存所述USB_3G网卡的设备信息,在所述全局USB设备信息表中根据产品代码Product Id获取并记录所述USB_3G网卡对应的设备类型。
[0025]根据本发明的另一个方面,所述全局USB设备信息表为全局的二维数组。
[0026]本发明实施方式提供的USB_3G网卡用户态自动识别与拨号装置,通过设置标志USB_3G网卡的全局变量,每当探测到新插入的USB_3G网卡则执行加一操作,以及通过比较本次全局变量和上次全局变量的值是否相等,以及将USB_3G网卡设备信息与全局USB设备信息表进行比对以识别,在用户态USB_3G上网卡自动探测3G网卡类型、3G网卡厂商运营代码、3G网卡产品ID以及3G网卡所在USB总线的总线编号、设备编号等信息,并根据探测到内容实现自动拨号连接上网。本发明对于用户态实现USB_3G网卡自动识别与自动拨号,对内核修改小、简单易行。
【附图说明】
[0027]图1是根据本发明实施方式的USB_3G网卡用户态自动识别与拨号方法的流程图;
[0028]图2是根据本发明实施方式的探测USB_3G网卡插入的流程图;
[0029]图3是根据本发明实施方式的USB_3G网卡用户态自动识别与拨号装置的结构图。
【具体实施方式】
[0030]为使本发明的目的、技术方案和优点更加清楚明了,下面结合【具体实施方式】并参照附图,对本发明进一步详细说明。应该理解,这些描述只是示例性的,而并非要限制本发明的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以避免不必要地混淆本发明的概念。
[0031]图1为根据本发明实施方式的USB_3G网卡用户态自动识别与拨号方法的流程图。
[0032]如图1所示,本发明实施方式提供的USB_3G网卡用户态自动识别与拨号方法,包括如下步骤:
[0033]步骤SI,内核初始化时申请共享内存,并将共享内存的地址赋值给全局变量,其中全局变量在探测到有插入USB_3G网卡时进行累加操作。
[0034]具体地,以Linux系统为例,Linux内核初始化时申请一块共享内存,将该共享内存的地址赋值给全局变量。其中,全局变量在USB的初始化函数usb_serial_device_probe函数中进行累加操作。即,每当探测到新插入一个USB_3G网卡时,共享内存的全局变量的值加I,用作用户态扫描探测USB_3G网卡的标志位。
[0035]步骤S2,在预设目录下存储pppd可执行文件,其中pppd命令为USB_3G网卡拨号使用命令。PPPd命令自编译pppd开源程序,生成pppd可执行文件并放在预设目录下,以备用户态自动拨号使用。
[0036]在本发明的实施方式中,预设目录可以为/usr/sbin或/usr/bin。
[0037]步骤S3,修改内核文件,执行Isusb命令以获取USB设备信息,保存内核探测到的所有USB设备信息至存储设备目录。其中,修改内核文件包括如下步骤:修改Linux内核/etc/init.d/rcS文件,在该文件中添加两条语句:/bin/mount/dev/sdal/cfcard和lsusb〉/cfcard/usbdev,其中 /bin/mount/dev/sdal/cfca
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1