CN103514117A - Usb上网卡的识别方法 - Google Patents
Usb上网卡的识别方法 Download PDFInfo
- Publication number
- CN103514117A CN103514117A CN201210208397.4A CN201210208397A CN103514117A CN 103514117 A CN103514117 A CN 103514117A CN 201210208397 A CN201210208397 A CN 201210208397A CN 103514117 A CN103514117 A CN 103514117A
- Authority
- CN
- China
- Prior art keywords
- surfing internet
- card
- usb
- identified
- vendor
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了USB上网卡的识别方法,包括:得到linux系统下所有USB设备的设备信息,并获取待识别的USB上网卡的上网卡信息;判断该上网卡信息是否在一预设上网卡信息列表中,若是,将该USB上网卡的模式切换为调制解调器模式;其中,该上网卡信息列表中记录已知的linux系统支持的USB上网卡的上网卡信息;再次得到linux系统下所有USB设备的设备信息,并从该设备信息中获取该USB上网卡的上网卡信息,并判断该上网卡信息是否在该上网卡信息列表中,若是,记录该上网卡信息。本发明的识别方法可以自动、正确地识别USB上网卡的型号,不需要用户预先进行配置,具有即插即用的优点,进一步简化了用户的操作。
Description
技术领域
本发明涉及一种USB上网卡的识别方法,特别是涉及一种linux系统(Linux是一种自由和开放源码的类Unix操作系统(UNIX操作系统,是美国AT&T公司于1971年在PDP-11上运行的操作系统。具有多用户、多任务的特点,支持多种处理器架构,最早由肯·汤普逊(Kenneth LaneThompson)、丹尼斯·里奇(Dennis MacAlistair Ritchie)和Douglas McIlroy于1969年在AT&T的贝尔实验室开发))下USB上网卡的识别方法。
背景技术
由于USB上网卡种类繁多,以三大电信公司分类可分为:中国联通WCDMA(Wideband Code Division Multiple Access,宽带码分多址)上网卡,中国移动TD(TD就是我国自主研发的TD-SCDMA,TD-SCDMA的中文含义为时分同步码分多址接入)上网卡,中国电信CDMA(Code DivisionMultiple Access,码分多址)上网卡,以厂家分类又可分为很多种。而这些分类方式的USB(Universal Serial BUS,通用串行总线)上网卡的AT命令(AT即Attention,AT指令集是从终端设备(Terminal Equipment,TE)或数据终端设备(Data Terminal Equipment,DTE)向终端适配器(TerminalAdapter,TA)或数据电路终端设备(Data Circuit Terminal Equipment,DCE)发送的)接口和数据接口都不尽相同,所以必须先进行识别,识别出来USB上网卡的型号后依照型号的不同而使用不同的AT命令和不同的接口。
在现有的识别方法中,用户需要登陆linux系统后进入上网卡配置界面,在配置界面选择所使用的上网卡设备型号。也就是说,现有识别方式需要用户预先在配置界面选择好所要使用的上网卡,识别过程需要和用户交互才能完成。
发明内容
本发明要解决的技术问题是为了克服现有技术中linux系统下USB上网卡的识别需要和用户交互才能实现的缺陷,提供一种无需和用户交互、操作简便的USB上网卡的识别方法。
本发明是通过下述技术方案来解决上述技术问题的:
一种linux系统下USB上网卡的识别方法,其特点在于,其包括以下步骤:
步骤S1、得到linux系统下所有USB设备的设备信息,并从该设备信息中获取待识别的USB上网卡的上网卡信息,例如从linux系统的proc(proc文件系统是一种特殊的、由软件创建的文件系统,内核使用它向外界导出信息)文件系统中获取所有USB设备的信息;
步骤S2、判断该上网卡信息是否在一预设上网卡信息列表中,若是,将该USB上网卡的模式切换为调制解调器模式;若否,则提示用户该USB上网卡为不可识别设备,其中,该上网卡信息列表中记录已知的linux系统支持的USB上网卡的上网卡信息;
步骤S3、再次得到linux系统下所有USB设备的设备信息,并从该设备信息中获取该USB上网卡的上网卡信息,并判断该上网卡信息是否在该上网卡信息列表中,若是,记录该上网卡信息;若否,则提示用户该USB上网卡为不可识别设备。
优选地,步骤S1包括以下步骤:
步骤S11、得到linux系统下所有USB设备的设备信息并形成一设备信息列表,该设备信息列表记录每个USB设备的厂商ID和产品ID(业内常用VendorID和ProdID来表示厂商ID和产品ID);
步骤S12、查找该设备信息列表以获取位于该设备信息列表最后的厂商ID和产品ID并作为第一待识别厂商ID和第一待识别产品ID;
步骤S13、比较该第一待识别厂商ID和第一待识别产品ID与linux系统固有的厂商ID和固有的产品ID是否一致,若否,进入步骤S14;若是,进入步骤S15;
步骤S14、将该第一待识别厂商ID和第一待识别产品ID作为待识别的USB上网卡的上网卡信息;
步骤S15、提示用户不存在待识别的USB上网卡。
优选地,步骤S2包括以下步骤:
步骤S21、判断该第一待识别厂商ID是否在该上网卡信息列表中,若是,进入步骤S22;若否,进入步骤S24;
步骤S22、判断该第一待识别产品ID是否在该上网卡信息列表中,若是,进入步骤S23;若否,进入步骤S24;
步骤S23、将该USB上网卡的模式切换为调制解调器模式;
步骤S24、提示用户该USB上网卡为不可识别设备。
由于USB上网卡处于不同的模式时,USB上网卡的ProdID不同,需要切换的USB上网卡设备在切换前为虚拟存储盘模式,切换后为调制解调器模式,而经过切换后ProdID会产生变化。
优选地,步骤S22中当该第一待识别产品ID在该上网卡信息列表中且进入步骤S23之前判断该USB上网卡的模式是否为虚拟存储盘模式,若是,进入步骤S23;若否,不进行模式切换。
优选地,步骤S3包括以下步骤:
步骤S31、再次得到linux系统下所有USB设备的设备信息并更新该设备信息列表;
步骤S32、查找该设备信息列表以获取位于该设备信息列表最后的厂商ID和产品ID并作为第二待识别厂商ID和第二待识别产品ID;
步骤S33、比较该第二待识别厂商ID和第二待识别产品ID与linux系统固有的厂商ID和固有的产品ID是否一致,若否,进入步骤S34;若是,进入步骤S35;
步骤S34、记录该第二待识别厂商ID和该第二待识别产品ID,完成USB上网卡的识别,以供用户的后续使用;
步骤S35、提示用户不存在待识别的USB上网卡。
优选地,该设备信息还包括制造商信息和序列号。
本发明的积极进步效果在于:本发明的识别方法可以自动、正确地识别USB上网卡的型号。本发明通过使用程序对用户插入的上网卡进行自动解析以判别出上网卡的型号,不需要用户预先进行配置,具有即插即用的优点,解决了使用上网卡时用户需手动选择型号的问题,进一步简化了用户的操作。
附图说明
图1为本发明一实施例的USB上网卡的识别方法的流程图。
具体实施方式
下面结合附图给出本发明较佳实施例,以详细说明本发明的技术方案。
参考图1,本发明所述的linux系统下USB上网卡的识别方法,包括以下步骤:
步骤100,得到linux系统下所有USB设备的设备信息,并从该设备信息中获取待识别的USB上网卡的上网卡信息,例如从linux系统的proc文件系统中获取所有USB设备的信息;
步骤101,判断该上网卡信息是否在一预设上网卡信息列表中,若是,进入步骤102;若否,则进入步骤106,其中,该上网卡信息列表中记录已知的linux系统支持的USB上网卡的上网卡信息;
步骤102,将该USB上网卡的模式切换为调制解调器模式;
步骤103,再次得到linux系统下所有USB设备的设备信息,并从该设备信息中获取该USB上网卡的上网卡信息;
步骤104,判断该上网卡信息是否在该上网卡信息列表中,若是,进入步骤105;若否,进入步骤106;
步骤105,记录该上网卡信息;
步骤106,提示用户该USB上网卡为不可识别设备。
其中,步骤100包括以下步骤:
步骤1001,得到linux系统下所有USB设备的设备信息并形成一设备信息列表,该设备信息列表记录每个USB设备的厂商ID和产品ID;
步骤1002,查找该设备信息列表以获取位于该设备信息列表最后的厂商ID和产品ID并将其作为第一待识别厂商ID和第一待识别产品ID;
步骤1003,比较该第一待识别厂商ID和第一待识别产品ID与linux系统固有的厂商ID和固有的产品ID是否一致,若否,进入步骤1004;若是,进入步骤1005;
步骤1004,将该第一待识别厂商ID和第一待识别产品ID作为待识别的USB上网卡的上网卡信息;
步骤1005,提示用户不存在待识别的USB上网卡。
具体来说,步骤101和步骤102还包括以下步骤:
步骤1011,判断该第一待识别厂商ID是否在该上网卡信息列表中,若是,进入步骤1012;若否,进入步骤1014;
步骤1012,判断该第一待识别产品ID是否在该上网卡信息列表中,若是,进入步骤1013;若否,进入步骤1014;
步骤1013,将该USB上网卡的模式切换为调制解调器模式;
步骤1014,提示用户该USB上网卡为不可识别设备。
步骤1012中当该第一待识别产品ID在该上网卡信息列表中且进入步骤1013之前判断该USB上网卡的模式是否为虚拟存储盘模式,若是,进入步骤1013;若否,不进行模式切换。
更具体地,步骤103包括以下步骤:
步骤1031,再次得到linux系统下所有USB设备的设备信息并更新该设备信息列表;
步骤1032,查找该设备信息列表以获取位于该设备信息列表最后的厂商ID和产品ID并作为第二待识别厂商ID和第二待识别产品ID;
步骤1033,比较该第二待识别厂商ID和第二待识别产品ID与linux系统固有的厂商ID和固有的产品ID是否一致,若否,进入步骤1034;若是,进入步骤1035;
步骤1034,记录该第二待识别厂商ID和该第二待识别产品ID,完成USB上网卡的识别,以供用户的后续使用;
步骤1035,提示用户不存在待识别的USB上网卡。
具体来说,该设备信息还包括制造商信息和序列号。
下面,以一具体应用实例进一步介绍本发明的技术方案。
1、在插入了USB上网卡以后,首先获取linux系统中所有USB设备的信息。例如通过读文件方法(例如cat)读出linux系统中Proc文件系统中的USB设备(/proc/bus/usb/devices)的信息,并存储这些信息到一个文件。
2、由于上述得到的信息中包含了除USB上网卡的VendorID和ProdID以外的其他设备的VendorID和ProdID,所以需要一种方法从整个信息里找到需要处理的USB设备的VendorID和ProdID。经过研究发现USB上网卡设备的那组VendorID和ProdID总会出现在读出的所有的VendorID和ProdID的最后面,所以查找出最后一组VendorID和ProdID。系统的Proc信息里总是会以固定的格式显示,例如信息中显示为“P:Vendor=19d2ProdID=0152Rev=”,那么程序中以查找“Vendor=”“ProdID=”字符串便可获得VendorID和ProdID的值,分别为19d2和0152。找到最后一组VendorID和ProdID,继而接着判断。
3、因为如果系统中没有USB上网卡设备,步骤2也会得到一个VendorID和ProdID,而此VendorID和ProdID即是系统原有的VendorID和ProdID,所以在此步骤中比较得到的最后一组的VendorID和系统原有的VendorID是否一致,如果此VendorID等于系统原有的VendorID则转至步骤4,否则转至步骤5。
4、经过程序逻辑判断出当前系统下没有正确的USB上网卡设备被发现。
5、此时已经成功获得待识别的USB上网卡的VendorID和ProdID,继续查找区分USB上网卡所需要的用来区分的其他信息项。当两款USB上网卡的VendorID和ProdID相同时仅靠VendorID和ProdID是不能区分出这两款USB上网卡的,这时候就需要此步骤中查找到的用来区分的其他信息项。这些信息项比如Manufacturer(制造商信息)、SerialNumber(序列号)的值,必要时可以再灵活加入其他本领域公知的信息项。至此,初步获取USB设备信息的过程结束。
在获取了USB上网卡的上网卡信息之后,从第一次获取到的USB上网卡设备的信息来决定是否需要对此USB设备进行切换,如果此USB设备是虚拟存储盘设备,则切换其为普通的USB设备,具体来说,
6、首先紧接步骤5获取到已经得到的VendorID和ProdID和其他信息项。
7、判断此USB设备的VendorID是否是支持的VendorID。比对VendorID和支持的VendorID列表(例如包含于该上网卡信息列表中),如果此VendorID在已支持的VendorID列表中则转至步骤8,否则为不可识别的设备转至步骤9。
8、判断该ProdID的USB上网卡是否为虚拟存储盘模式。如果此时的USB上网卡的模式为虚拟存储盘模式,则需要把其切换为调制解调器模式的USB上网卡。通过比对ProdID以及用来区分的其他信息项和需要进行切换的ProdID及其他信息项列表,如果此ProdID设备在需要进行切换的ProdID设备列表(例如包含于该上网卡信息列表中)中,则代表其需要被切换,则转至步骤10,否则此USB上网卡不需要经过切换。
10、调用开源程序usb modeswitch并且给予usb modeswitch正确的参数脚本来对此USB上网卡进行切换,切换后此USB上网卡从虚拟存储盘模式变为调制解调器模式。由此,把需要经过切换的USB上网卡转换为了调制解调器模式,经过切换过程后ProdID会产生变化,所以需要再一次获取USB设备的信息。即第二次从linux系统的proc文件系统中获取所有USB设备的信息并从中找出需要处理的USB上网卡设备的信息。
11、再次获取设备信息的步骤与上述相似,获得了此USB上网卡的VendorID和ProdID和USB上网卡之间用来区分的其他信息项后,判断此USB上网卡的VendorID和ProdID和用来区分的其他信息项来比对已经支持的USB上网卡的列表中。如果此USB上网卡在已支持的USB上网卡的列表中则完成了USB上网卡设备的识别,此步骤中记录下此USB上网卡的型号名称供后续程序使用。
虽然以上描述了本发明的具体实施方式,但是本领域的技术人员应当理解,这些仅是举例说明,本发明的保护范围是由所附权利要求书限定的。本领域的技术人员在不背离本发明的原理和实质的前提下,可以对这些实施方式做出多种变更或修改,但这些变更和修改均落入本发明的保护范围。
Claims (6)
1.一种linux系统下USB上网卡的识别方法,其特征在于,其包括以下步骤:
步骤S1、得到linux系统下所有USB设备的设备信息,并从该设备信息中获取待识别的USB上网卡的上网卡信息;
步骤S2、判断该上网卡信息是否在一预设上网卡信息列表中,若是,将该USB上网卡的模式切换为调制解调器模式;若否,则提示用户该USB上网卡为不可识别设备,其中,该上网卡信息列表中记录已知的linux系统支持的USB上网卡的上网卡信息;
步骤S3、再次得到linux系统下所有USB设备的设备信息,并从该设备信息中获取该USB上网卡的上网卡信息,并判断该上网卡信息是否在该上网卡信息列表中,若是,记录该上网卡信息;若否,则提示用户该USB上网卡为不可识别设备。
2.如权利要求1所述的linux系统下USB上网卡的识别方法,其特征在于,步骤S1包括以下步骤:
步骤S11、得到linux系统下所有USB设备的设备信息并形成一设备信息列表,该设备信息列表记录每个USB设备的厂商ID和产品ID;
步骤S12、查找该设备信息列表以获取位于该设备信息列表最后的厂商ID和产品ID并作为第一待识别厂商ID和第一待识别产品ID;
步骤S13、比较该第一待识别厂商ID和第一待识别产品ID与linux系统固有的厂商ID和固有的产品ID是否一致,若否,进入步骤S14;若是,进入步骤S15;
步骤S14、将该第一待识别厂商ID和第一待识别产品ID作为待识别的USB上网卡的上网卡信息;
步骤S15、提示用户不存在待识别的USB上网卡。
3.如权利要求2所述的linux系统下USB上网卡的识别方法,其特征在于,步骤S2包括以下步骤:
步骤S21、判断该第一待识别厂商ID是否在该上网卡信息列表中,若是,进入步骤S22;若否,进入步骤S24;
步骤S22、判断该第一待识别产品ID是否在该上网卡信息列表中,若是,进入步骤S23;若否,进入步骤S24;
步骤S23、将该USB上网卡的模式切换为调制解调器模式;
步骤S24、提示用户该USB上网卡为不可识别设备。
4.如权利要求3所述的linux系统下USB上网卡的识别方法,其特征在于,步骤S22中当该第一待识别产品ID在该上网卡信息列表中且进入步骤S23之前判断该USB上网卡的模式是否为虚拟存储盘模式,若是,进入步骤S23;若否,不进行模式切换。
5.如权利要求3所述的linux系统下USB上网卡的识别方法,其特征在于,步骤S3包括以下步骤:
步骤S31、再次得到linux系统下所有USB设备的设备信息并更新该设备信息列表;
步骤S32、查找该设备信息列表以获取位于该设备信息列表最后的厂商ID和产品ID并作为第二待识别厂商ID和第二待识别产品ID;
步骤S33、比较该第二待识别厂商ID和第二待识别产品ID与linux系统固有的厂商ID和固有的产品ID是否一致,若否,进入步骤S34;若是,进入步骤S35;
步骤S34、记录该第二待识别厂商ID和该第二待识别产品ID,完成USB上网卡的识别;
步骤S35、提示用户不存在待识别的USB上网卡。
6.如权利要求1-5中任意一项所述的linux系统下USB上网卡的识别方法,其特征在于,该设备信息还包括制造商信息和序列号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210208397.4A CN103514117A (zh) | 2012-06-21 | 2012-06-21 | Usb上网卡的识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210208397.4A CN103514117A (zh) | 2012-06-21 | 2012-06-21 | Usb上网卡的识别方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103514117A true CN103514117A (zh) | 2014-01-15 |
Family
ID=49896866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210208397.4A Pending CN103514117A (zh) | 2012-06-21 | 2012-06-21 | Usb上网卡的识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103514117A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109951860A (zh) * | 2017-12-21 | 2019-06-28 | 深圳Tcl新技术有限公司 | 一种获取wifi信息的方法、智能电视及存储介质 |
CN111125723A (zh) * | 2018-10-31 | 2020-05-08 | 成都鼎桥通信技术有限公司 | 加密卡识别方法、装置、设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100312923A1 (en) * | 2009-06-09 | 2010-12-09 | Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. | Electronic device capable of protecting usb ports and method thereof |
CN102222207A (zh) * | 2011-05-23 | 2011-10-19 | 深圳市共进电子有限公司 | 在Linux系统中通过切换3G数据卡工作模式实现联网的方法 |
CN102262600A (zh) * | 2010-05-25 | 2011-11-30 | 安凯(广州)微电子技术有限公司 | 一种usb设备的识别方法及系统 |
-
2012
- 2012-06-21 CN CN201210208397.4A patent/CN103514117A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100312923A1 (en) * | 2009-06-09 | 2010-12-09 | Hong Fu Jin Precision Industry (Shenzhen) Co., Ltd. | Electronic device capable of protecting usb ports and method thereof |
CN102262600A (zh) * | 2010-05-25 | 2011-11-30 | 安凯(广州)微电子技术有限公司 | 一种usb设备的识别方法及系统 |
CN102222207A (zh) * | 2011-05-23 | 2011-10-19 | 深圳市共进电子有限公司 | 在Linux系统中通过切换3G数据卡工作模式实现联网的方法 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109951860A (zh) * | 2017-12-21 | 2019-06-28 | 深圳Tcl新技术有限公司 | 一种获取wifi信息的方法、智能电视及存储介质 |
CN111125723A (zh) * | 2018-10-31 | 2020-05-08 | 成都鼎桥通信技术有限公司 | 加密卡识别方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102779151B (zh) | 应用程序的搜索方法、装置及系统 | |
US20070204089A1 (en) | Multi-protocol removable storage device | |
CN107133165B (zh) | 浏览器兼容性检测方法及装置 | |
CN104915306B (zh) | 一种数据操作控制方法及设备管理器 | |
CN105338659B (zh) | 一种设备连接方法及终端 | |
CN103731497A (zh) | 支持无线访问存储设备的方法及移动路由热点设备 | |
CN101339515A (zh) | 传感器程序管理方法及系统 | |
CN111143150A (zh) | 一种测试pcba板的方法、系统、测试设备及微控制单元 | |
CN104536647A (zh) | 应用图标的位置调整方法及装置 | |
CN110119345A (zh) | 一种即时记录usb端口操作日志的方法 | |
CN107608583A (zh) | 应用间交互方法、装置、移动终端及计算机可读存储介质 | |
CN103020225B (zh) | 一种cpu型号识别方法和硬件检测系统 | |
CN103514117A (zh) | Usb上网卡的识别方法 | |
CN104681050A (zh) | 一种提取磁盘视频数据的方法和装置 | |
CN108459960A (zh) | 测试环境的自动配置方法、装置、设备及存储介质 | |
CN114121153A (zh) | 基因突变位点检测方法、装置、电子设备及存储介质 | |
CN102194000A (zh) | 一种信息处理方法、装置及终端 | |
CN104090924B (zh) | 一种隐私数据的清理方法和装置 | |
CN107220146A (zh) | 一种文件扫描恢复方法及装置 | |
CN105848155B (zh) | 一种终端非法刷机识别方法及装置 | |
CN101714113A (zh) | 一种虚拟设备的测试方法 | |
CN103389927A (zh) | 一种数据恢复的方法、装置及系统 | |
CN106777144A (zh) | 一种服务器切换方法和装置 | |
CN103823871A (zh) | 软件查找方法和装置 | |
CN104199689B (zh) | 综合前端系统的安装方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20140115 |