TD-SCDMA测速网站

测速网站  时间:2021-05-17  阅读:()
一种通用的3G-USB上网卡用户态驱动方法及实现曾庆峰陈援非刘向前朱珍民中国科学院计算技术研究所,北京市100190摘要:本文通过对Windows环境下3G-USB上网卡设备初始化过程的研究分析,提出了一种通用的USB移动上网设备在Linux平台下的用户态驱动方法,并用多种3G-USB上网卡在龙芯上网本Yeeloong8089上进行实验验证,实验结果表明该方法有效且性能优良,理论上该方法可以解决此类设备对多种标准(包括TD-SCDMA、WCDMA、CDMA2000、GPRS、CDMA等)及其多个品牌的模块在Linux平台上的兼容性问题.
关键词:TD-SCDMA;3G;用户态驱动;龙芯1引言目前,第三代移动通信(3G)技术正在我国全面推广应用.
上网本(Netbook)由于其低价格、超便携的特点,已经成为3G的主流应用平台之一,市场上主流Netbook都采用了Linux作为其操作系统,但绝大部分3G上网卡仅支持Windows操作系统,因此在上网本上实现Linux下的通用3G上网卡用户态驱动成为必需.
为了在最新款Loongson2F芯片的龙芯上网本Yeeloong8089上使用3G-USB上网卡进行拨号上网,使龙芯支持国产TD-SCDMA标准,体现龙芯上网本的移动性和多模网络连接能力,我们对三款TD-SCDMAUSB上网卡、一款CDMA1x无线网卡和一款CDMA2000无线网卡进行了研究.
研究的主要内容包括驱动方法设计、初始化分析和拨号上网三个部分,通过编程开发、各种调试工具和开源软件[1][2][3],实现了五款(参数可参见表1)USB上网卡拨号移动上网的功能.
通过对Windows环境下此类设备初始化过程的研究分析,本文提出了一种通用的USB移动上网设备在Linux平台下的用户态驱动和联网方法,对解决此类问题提供了方法保证.
同时开发了一套相应的用户态驱动程序,并对多种标准的USB移动上网设备进行实验验证,结果表明该方法有效且性能优良.
本文结构安排如下:第二部分详细介绍3G上网卡及用户态驱动的原理;第三部分详细介绍了模式转换、初始化和拨号的实现方法;第四部分是对该3G上网技术的性能进行测试;第五部分对全文进行总结.
2基本原理2.
13G上网卡原理3G上网卡可视为Modem加USBtoSerial转换芯片[4],Modem传输的是串口数据,与资助项目:国家科技重大专项项目"新一代宽带无线移动通信网"(2009ZX03001-019-02-07)联系作者:曾庆峰,E-mail:zengqingfeng@ict.
ac.
cn计算机通过USB通信,可以通过在Linux内核中的Usb-Serial转换模块实现上网功能.
主流3G上网卡(CDMA,TD-SCDMS等)均为双模式(U盘模式,Modem模式),插入计算机时系统首先将其识别为USBStorage设备,在Windows平台下安装驱动后,驱动程序向上网卡发出模式转换指令,上网卡转换为Modem设备工作.
但在Linux平台下没有类似驱动,就需要仿照Windows的流程进行模式转换.
此外,3G上网卡没有类似Windows系统的应用软件以实现Modem初始化,通过分析Windows平台下的上网卡工作的初始化过程,在Linux系统下使用pppd[5]、wvdial[6]等应用软件按照类似Windows下的流程实现Modem的初始化.
2.
2用户态驱动原理在用户态[7](UserSpace)实现驱动程序是把驱动程序的一部分放在用户空间,但不能将驱动程序任意的部分放在用户态,也不是所有的设备驱动程序都放到用户态实现,对于大部分的设备驱动程序是在内核态实现的.
只有在设备种类多、驱动程序较复杂、能够分层时,为了使用的方便,其中上层或增加的驱动程序部分可在用户态实现,见图1.
图1用户态驱动和内核空间驱动程序的结构图33G-USB用户态驱动方法3G-USB上网卡的驱动和使用流程可参见图2.
图23G-USB上网卡使用流程图3.
1模式转换方法通过监听Windows下的USB通信,截取转换指令来完成Linux系统下的强制模式转换.
Sniffusb软件是抓取USB口数据的应用软件,可以抓取Windows下3G-USB上网卡的模式转换指令,以便编写强制模式转换程序.
具体步骤如下(仍以3G上网卡DTM5731为例):第一步,使用Sniffusb软件在Windows系统下抓取USB口通讯数据,获取模式转换指令.
打开C:\WINDOWS\USBSnoop.
log文件,找到类似下段文字的地方:--URB_FUNCTION_BULK_OR_INTERRUPT_TRANSFER:……00000000:5553424308a0d685000000000000061b00000010:000000030000000000000000000000确定切换Message为"5553424308a0d685000000000000061b000000030000000000000000000000",Endpoint为0x00000004.
第二步,根据以上所得数据,编写强制模式转换程序,软件流程图如图3所示.
利用了开源的Libusb用户态USB工具库,调用内核的底层接口实现模式转换.
图3强制模式转换流程图3.
2设备初始化方法(1)Windows下Modem初始化指令序列捕获通过使用Window平台上的Ser232软件截取Modem初始化指令.
第一步,在Windows平台上安装上网卡驱动.
第二步,使用Ser232软件在Windows系统下抓取串口,获取Modem初始化指令,提取的串口通信log,下面是log文件中获取指令的一部分(仍以DTM5731为例):Portopened41542B43474D490D0A-AT+CGMI41542B4346554E3F0D0A-AT+CFUN41545E4450424E3D310D0A-AT^DPBN=1……(2)Linux下Modem初始化指令序列建立通过分析Windows下串口通信log,记录下所有的AT质量,作为Linux下Modem初始化指令序列,填入wvdial的配置文件.
3.
3拨号方法第一步:加载驱动模块#modprobeusbserialvendor=0x1ab7product=0x5731第二步,通过分析在Windows上截取的初始化指令,配置3G上网卡DTM5731的wvidial.
conf文件如下:[Modem0]Modem=/dev/ttyUSB0Baud=230400SetVolume=0DialCommand=ATDTInit1=AT+CGMIInit2=AT+CFUNInit3=AT^DSTMInit4=AT^DSQ=0Init5=AT^DCINFO=1Init6=AT+HSIND=1Init7=AT^DPBN=1Init8=AT^DSMN=1Init9=AT+CFUN=1,0ISDN=0FlowControl=Hardware(CRTSCTS)[Dialerdtm5731]Username=''Password=''Phone=*99***1#StupidMode=1Inherits=Modem0第三步:拨号上网#wvdialdtm5731当出现DNS的时候就说明拨号成功.
4实验验证与性能测试4.
1用户态驱动程序的验证试验根据上述驱动方法,我们编写了相应的驱动文件和程序,并使用多个厂家生产的模块(见表1)在龙芯Yeeloong8089平台上进行了实验验证,证明了我们的方法解决了上网卡在Linux平台下的兼容性问题.
表1五款上网卡的具体参数型号厂家网络类型最高传输速率接口类型DTM5731大唐移动TD-SCDMA2200KbpsUSBDTM5731E大唐移动TD-SCDMA2200KbpsUSBAirCard901AirCardTD-SCDMA2800KbpsUSBEC121华为CDMA1X230KbpsUSBAC8710中兴CDMA20003100KbpsUSB4.
2性能测试本文利用测速网站www.
wangsu123.
cn和wangsuceshi.
xuduo.
com对上网卡的网络连接速度进行了测试,在Linux下使用iftop软件,Windows下使用onlineeye软件,对比了Linux和Windows系统下的上网卡下载速度,测试一:wangsu123网速测试表2wangsu网站3G上网速度峰值(单位kbps)峰值1峰值2峰值3峰值4峰值5峰值6峰值7平均Linux14812915070.
317418099.
6153.
84Windows1231541341758896124127.
7结果分析:一个图片的下载有多个峰值,Linux下没法显示整个图片下载最后一个峰值,采用了在整个图片下载过程中截取出现的比较大的峰值;而Windows下自动显示了下载图片过程中最后一个峰值,因此Linux比Windows获取的网速要快点是正常的,而峰值相差不大说明Linux下驱动已经与商用Windows驱动达到了相近的性能.
测试二:wangsuceshi网速测试表3wangsuceshi网站Linux3G上网速度峰值(单位kbps)峰值1峰值2峰值3峰值4峰值5峰值6峰值7平均Linux965.
1967.
95904.
13967.
95266.
69768.
93220.
72723.
07Windows954.
48596.
2924.
44973.
67967.
95262.
86236.
08702.
24结果分析:从测试二平均值可以看出Linux下上网速度已经达到了Windows下的商用正常上网速度,实验证明我们提出的方法具有实际意义和价值.
Kbps0100200300400500600700800wangsu123Linuxwangsu123WindowswangsuceshiLinuxwangsuceshiWindows图5上网卡在Windows和Linux下的网络速度比较5结论针对目前主流的3G上网卡大都没有提供统一通用的Linux驱动和拨号软件的问题,本文通过对Windows环境下3G-USB上网卡设备初始化过程的研究分析,提出了一种通用的USB移动上网设备在Linux平台下的用户态驱动方法,并用多种3G-USB上网卡进行实验验证,实验结果表明该方法有效且性能优良,理论上可以解决此类设备,包括TD-SCDMA、WCDMA、CDMA2000、GPRS、CDMA等多种标准、多个品牌的模块在Linux平台上的兼容性问题,经过测试,其性能达到了Windows下3G上网卡的商用正常网速,说明了用户态驱动方法的可行性与实用价值,下一步我们将对该方法进行进一步的改进,优化驱动使得Linux下各种3G上网卡的速度接近甚至超过Window平台.
参考文献[1]HaiYan,ShengliZhou,ZhijieJerryShi,andBaoshengLi.
ADSPImplementationofOFDMAcousticModem,WUWNet'07,September14,2007[2]AlessandroRubiniandJonathanCorbet.
LinuxDeviceDrivers.
Reilly&Assocoates[R].
Inc.
2002.
[3]ProgrammingGuideforLinuxUSBDeviceDrivers,http://USB.
cs.
tum.
edu[4]TheUSBSerialDriverLayer,http://www.
Linuxjournal.
com/node/6573/print[5]HEFu-gui,HOUYi-bin,LIHui.
Driverresearchinginuserspace.
ApplicationResearchofComputers,CNKI:SUN:JSYJ.
0.
2008-12-034[6]ConfiguringpppdinLinux,PartII,http://www.
Linuxjournal.
com/article/5467[7]Wvdial,http://en.
wikipedia.
org/wiki/WvdialAGenericUserSpaceDriverDesignMethodfor3G-USBModuleanditsImplementationZengQingfeng,ChenYuanfei,LiuXiangqian,ZhuZhenminInstituteofComputingTechnology,ChineseAcademyofSciences,Beijing100190,ChinaKeywords:TD-SCDMA,3G,Userspacedriver,LoongsonAbstract:Throughtheresearchandanalysisonthe3G-USBmoduleinitializationprocessinWindowsenvironment,thispaperproposesagenericuserspacedriverdesignmethodinLinux-basedNetbookplatformsforUSBMobileNetworkDevice.
Wehavedoneexperimentstotestthemethodwithkindsof3G-USBcardsonLoongsonNotebookYeeloong8089,theresultsshowthatthismethodiseffectiveandgoodperformance.
Intheory,ourmethodcanresolvethecompatibilityissuesinLinux-basedplatformforsuchkindfacility'smoduleswithdifferentstandarssuchasTD-SCDMA,WCDMA,CDMA2000,GPRS,CDMAandsoonandbrands.

百星数据(60元/月,600元/年)日本/韩国/香港cn2 gia云服务器,2核2G/40G/5M带宽

百星数据(baixidc),2012年开始运作至今,主要提供境外自营云服务器和独立服务器出租业务,根据网络线路的不同划分为:美国cera 9929、美国cn2 gia、香港cn2 gia、韩国cn2 gia、日本cn2 gia等云服务器及物理服务器业务。目前,百星数据 推出的日本、韩国、香港cn2 gia云服务器,2核2G/40G/5M带宽低至60元/月,600元/年。百星数据优惠码:优惠码:30...

LOCVPS-2021年6月香港便宜vps宽带升级,充值就送代金券,其它八折优惠!

LOCVPS怎么样?LOCVPS是一家成立于2011年的稳定老牌国人商家,目前提供中国香港、韩国、美国、日本、新加坡、德国、荷兰等区域VPS服务器,所有机房Ping延迟低,国内速度优秀,非常适合建站和远程办公,所有机房Ping延迟低,国内速度优秀,非常适合做站。XEN架构产品的特点是小带宽无限流量、不超售!KVM架构是目前比较流行的虚拟化技术,大带宽,生态发展比较全面!所有大家可以根据自己业务需求...

星梦云:四川100G高防4H4G10M月付仅60元

星梦云怎么样?星梦云资质齐全,IDC/ISP均有,从星梦云这边租的服务器均可以备案,属于一手资源,高防机柜、大带宽、高防IP业务,一手整C IP段,四川电信,星梦云专注四川高防服务器,成都服务器,雅安服务器。星梦云目前夏日云服务器促销,四川100G高防4H4G10M月付仅60元;西南高防月付特价活动,续费同价,买到就是赚到!点击进入:星梦云官方网站地址1、成都电信年中活动机(成都电信优化线路,封锁...

测速网站为你推荐
耳机苹果5支持ipadiphone连不上wifi苹果手机为什么突然连不上家里的wifi?x-routerX-Router这个软件有什么用联通版iphone4s怎么知道到苹果4s是联通版,还是移动版联通合约机iphone5我想问下,我想入手iphone5的联通合约机, 会被坑吗ios5.1.1固件下载苹果 4s 5.1怎么升5.1.1苹果5.1.1固件下载苹果5的6.0.1的固件在哪下载啊??求教~Flash开启自动运行指引支持ipad
怎样申请域名 淘宝抢红包攻略 locvps bash漏洞 轻博客 火车票抢票攻略 好玩的桌面 搜狗抢票助手 linux空间 bgp双线 美国独立日 什么是web服务器 工信部icp备案查询 supercache 购买空间 阿里dns 卡巴斯基试用版下载 七牛云存储 博客域名 重庆联通服务器托管 更多