一种定位hub组上的usb设备的方法和主的制造方法

文档序号:6516750阅读:328来源:国知局
一种定位hub组上的usb设备的方法和主的制造方法
【专利摘要】本发明公开一种定位HUB组上的USB设备的方法和主机,应用于包括主机、HUB组和USB设备的系统中,所述HUB组由多个HUB构成,至少包括第一级HUB和第二级HUB,所述第一级HUB通过自身的级联接口与所述主机直连,并通过自身的普通端口与一个或多个第二级HUB的级联接口直连。主机根据监听到的内核事件或者轮询到的USB设备的设备路径信息,获取USB设备的HUB端口号和HUB?ID,实现对HUB上的USB设备的定位,并根据HUB端口号和HUB?ID对USB设备进行操作,能够并行处理多个USB设备。
【专利说明】—种定位HUB组上的USB设备的方法和主机
【技术领域】
[0001]本发明涉及通信【技术领域】,特别是涉及一种定位HUB组上的USB设备的方法和主机。
【背景技术】
[0002]HUB (集线器)是一个多端口的转发器,可以将一个USB接口扩展成为多个独立工作的USB接口,与多个USB设备连接,广泛应用于星型拓扑结构的局域网中。HUB可直接与电脑相连无须外接电源,简单好用,电脑自动识别安装,无须驱动程序,即插即用。
[0003]发明人在实现本发明的过程中,发现现有技术至少存在以下缺陷:
[0004]现有技术中的HUB上没有端口编号,无法建立HUB的物理端口与连接在HUB上的设备之间的对应关系,从而导致无法对连接在HUB上的设备进行定位。

【发明内容】

[0005]本发明提供了一种定位HUB组上的USB设备的方法和主机,以解决现有技术中无法对连接在HUB上的设备进行定位的缺陷。
[0006]本发明提供了一种定位HUB组上的USB设备的方法,应用于包括主机、HUB组和USB设备的系统中,所述HUB组由多个HUB构成,至少包括第一级HUB和第二级HUB,所述第一级HUB通过自身的级联接口与所述主机直连,并通过自身的普通端口与一个或多个第二级HUB的级联接口直连,所述方法包括以下步骤:
[0007]S1、所述主机获取USB设备的设备路径信息,所述USB设备连接在所述HUB组中除所述第一级HUB之外的其他HUB的普通端口上;
[0008]S2、所述主机读取所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据保存到端口信息中,并根据所述USB设备的设备路径信息,获取与所述USB设备直连的HUB的设备路径信息,将所述HUB作为当前HUB ;
[0009]S3、所述主机判断所述当前HUB是否为所述HUB组中的第一级HUB,如果是,则执行步骤S6;否则,执行步骤S4;
[0010]S4、所述主机读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据添加到所述端口信息中,并根据所述当前HUB的设备路径信息,获取所述当前HUB的上级HUB的设备路径信息,所述当前HUB的上级HUB为所述HUB组中通过普通端口与所述当前HUB的级联端口直连的HUB ;
[0011]S5、所述主机将所述上级HUB作为更新后的当前HUB,并返回步骤S3 ;
[0012]S6、所述主机读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据作为所述USB设备的HUB ID,根据所述端口信息获取所述USB设备的HUB端口号。
[0013]本发明还提供了一种主机,应用于包括主机、HUB组和USB设备的系统中,所述HUB组由多个HUB构成,至少包括第一级HUB和第二级HUB,所述第一级HUB通过自身的级联接口与所述主机直连,并通过自身的普通端口与一个或多个第二级HUB的级联接口直连,所述主机包括:
[0014]第一获取模块,用于获取USB设备的设备路径信息,所述USB设备连接在所述HUB组中除所述第一级HUB之外的其他HUB的普通端口上;
[0015]第一读取模块,用于读取所述第一获取模块获取的所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据保存到端口信息中;
[0016]第二获取模块,用于根据所述第一获取模块获取的所述USB设备的设备路径信息,获取与所述USB设备直连的HUB的设备路径信息,将所述HUB作为当前HUB,并触发第一判断模块;
[0017]第一判断模块,用于判断所述当前HUB是否为所述HUB组中的第一级HUB ;
[0018]第二读取模块,用于在所述第一判断模块判断出所述当前HUB不是所述HUB组中的第一级HUB时,读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据添加到所述端口信息中,并根据所述当前HUB的设备路径信息,获取所述当前HUB的上级HUB的设备路径信息,将所述上级HUB作为更新后的当前HUB,并触发所述第一判断模块,所述当前HUB的上级HUB为所述HUB组中通过普通端口与所述当前HUB的级联端口直连的HUB ;
[0019]第三读取模块,用于在所述第一判断模块判断出所述当前HUB是所述HUB组中的第一级HUB时,读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据作为所述USB设备的HUB ID ;
[0020]第三获取模块,用于在所述第一判断模块判断出所述当前HUB是所述HUB组中的第一级HUB时,根据所述端口信息获取所述USB设备的HUB端口号。
[0021]本发明达到的有益效果:主机根据监听到的内核事件或者轮询到的USB设备的设备路径信息,获取USB设备的HUB端口号和HUB ID,实现对HUB上的USB设备的定位,并根据HUB端口号和HUB ID对USB设备进行操作,能够并行处理多个USB设备。
【专利附图】

【附图说明】
[0022]图1为本发明实施例中的一种定位HUB组上的USB设备的系统结构示意图;
[0023]图2为本发明实施例中的一种定位HUB组上的USB设备的方法流程图;
[0024]图3为本发明实施例中的显示USB设备的操作状态的示意图;
[0025]图4为本发明实施例中的另一种定位HUB组上的USB设备的方法流程图;
[0026]图5为本发明实施例中的一种主机的结构示意图;
[0027]图6为本发明实施例中的另一种主机的结构示意图。
【具体实施方式】
[0028]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0029]本发明实施例提供了一种定位HUB组上的USB设备的方法,应用于包括主机、HUB组和USB设备的系统中,该系统结构如图1所示,其中,HUB组至少包括第一级HUB和第二级HUB,还可进一步包括第二级HUB下的一级或多级HUB,每个HUB可以包括I个级联端口和4个普通端口,级联端口用于连接主机或者相邻的上级HUB,普通端口用于连接USB设备或者相邻的下级HUB。
[0030]具体地,HUB组中的第一级HUB通过自身的级联端口与主机连接,HUB组中除第一级HUB之外的其他HUB通过自身的级联端口与相邻的上级HUB的普通端口连接;HUB组中的最下级HUB通过自身的普通端口与USB设备连接,HUB组中除最下级HUB之外的其他HUB通过自身的普通端口与相邻的下级HUB的级联端口连接。
[0031]上述系统还可进一步包括可控装置,可控装置与主机以及HUB组中的最下级HUB相连接,接收来自主机的指令,对最下级HUB的普通端口进行上电和下电操作。
[0032]基于上述系统,本发明实施例中的定位HUB组上的USB设备的方法如图2所示,包括以下步骤:
[0033]步骤201,主机监测是否有USB设备连接到HUB组的端口上,如果是,则执行步骤202 ;否则,继续监测是否有USB设备插入到HUB组的端口上。
[0034]具体地,主机可以监听系统内核抛出的内核事件,在监听到系统内核抛出预设的内核事件时,确定有USB设备连接到HUB组的端口上。其中,预设的内核事件可以为与将USB设备连接到HUB端口的操作相对应的内核事件。当USB设备插入到与主机连接的HUB组的端口时,系统内核抛出上述预设的内核事件。
[0035]本实施例中,主机可以使用Netlink套接字监听系统内核抛出的内核事件。
[0036]步骤202,主机从监听到的内核事件中获取USB设备的设备路径信息。
[0037]例如,主机调用recvmsg (sockfd, &smsg,O)函数获取内核事件,从该内核事件中获取到的 USB 设备的设备路径信息为 “/devices/pciOOOO:00/0000:00:1d.0/usb2/2_l/2-
1.4/2-1.4.2/2-1.4.2.3”。
[0038]步骤203,主机根据USB设备的设备路径信息,读取该USB设备的属性文件,并从属性文件中获取该USB设备的标识信息。
[0039]其中,USB设备的标识信息包含在USB设备的属性文件中,可以包括产品标识和供应商标识。
[0040]例如,USB设备的设备路径信息为 “/devices/pciOOOO:00/0000:00:1d.0/usb2/2-l/2-l.4/2-1.4.2/2-1.4.2.3” 时,主机通过分别调用 udev_device_get_sysattr_value(Device, 〃idVendor〃)函数和 udev_device_get_sysattr_value (Device, "idProduct")函数,根据上述设备路径信息打开目录名为“2_1.3.2.2”下的属性文件idVendor和idProduct,从相应的属性文件中获取USB设备的产品标识和供应商标识分别为“0x2008”和“0x7639”,该USB设备的标识信息为(0x2008,0x7639)。
[0041 ] 步骤204,主机根据USB设备的标识信息,判断USB设备是否为需要定位的设备,如果是,则执行步骤205 ;否则,结束流程。
[0042]具体地,主机可以判断USB设备的标识信息是否包含在第一预设标识组中,如果是,则确定该USB设备是需要定位的设备;否则,确定该USB设备不是需要定位的设备。其中,第一预设标识组可以为对USB设备执行初始化操作之前预定义的标识信息,可以为一组或多组标识,每组标识可以包括产品标识和供应商标识。
[0043]例如,第一预设标识组为(0x2008,0x7639)和(0x096e,0x0304),USB设备的标识信息为(0x2008,0x7639)时,主机判断该USB设备为需要定位的设备。
[0044]步骤205,主机读取USB设备的设备路径信息的最后一位上的数据,将读取到的数据保存到端口信息中。
[0045]具体地,当USB设备与HUB组中的第二级HUB直连时,主机可以读取USB设备的设备路径信息的最后一位上的数据,将读取到的数据作为二级端口号保存到端口信息中;当USB设备与HUB组中除第一级HUB和第二级HUB之外的其他HUB直连时,主机可以将变量η的取值初始化为HUB组的总级数Μ,读取USB设备的设备路径信息的最后一位上的数据,将读取到的数据作为η级端口号保存到端口信息中。
[0046]例如,当USB设备与HUB组中的第三级HUB直连,HUB组的总级数M=3,USB设备的设备路径信息为 “/devices/pciOOOO:00/0000:00:1d.0/usb2/2-l/2_l.4/2-1.4.2/2-1.4.2.3”时,主机读取上述设备路径信息的最后一位上的数据“3”,将“3”作为三级端口号保存到端口信息中。
[0047]步骤206,主机根据USB设备的设备路径信息,获取与USB设备直连的HUB的设备路径信息,将该HUB作为当前HUB。
[0048]具体地,主机可以从USB设备的设备路径信息中截取位于最后一个间隔符号之前的内容,将截取得到的内容作为与USB设备直连的HUB的设备路径信息。
[0049]例如,USB设备与第三级HUB直连,USB设备的设备路径信息为“/devices/pciOOOO:00/0000:00:1d.0/usb2/2-l/2_l.4/2-1.4.2/2-1.4.2.3”时,主机通过调用 udev_device_get_parent (Device)函数,获取与USB设备直连的第三级HUB的设备路径信息,即“/devices/pciOOOO:00/0000:00:1d.0/usb2/2-l/2_l.4/2-1.4.2”,并将上述 HUB 作为当前 HUB。
[0050]步骤207,主机判断当前HUB是否为HUB组中的第一级HUB,如果是,则执行步骤210 ;否则,执行步骤208。
[0051]步骤208,主机读取当前HUB的设备路径信息中最后一位上的数据,将读取到的数据添加到端口信息中。
[0052]具体地,当USB设备与HUB组中除第一级HUB和第二级HUB之外的其他HUB直连时,主机可以将变量η的取值减1,读取当前HUB的设备路径信息中最后一位上的数据,将读取到的数据作为η级端口号添加到端口信息中。
[0053]例如,变量η的取值为3,当前HUB的设备路径信息为“/devices/pciOOOO: 00/0000:00:1d.0/usb2/2-l/2_l.4/2-1.4.2” 时,主机可以将变量 η 更新为 2,读取上述设备路径信息的最后一位上的数据“2”,将“2”作为二级端口号添加到端口信息中。
[0054]步骤209,主机根据当前HUB的设备路径信息,获取当前HUB的上级HUB的设备路径信息,将该上级HUB作为更新后的当前HUB,并返回步骤207。
[0055]具体地,主机可以从当前HUB的设备路径信息中截取位于最后一个间隔符号之前的内容,将截取得到的内容作为当前HUB的上级HUB的设备路径信息。其中,当前HUB的上级HUB为HUB组中通过普通端口与当前HUB的级联端口直连的HUB。
[0056]例如,当前HUB 的设备路径信息为 “/devices/pciOOOO:00/0000:00:1cL 0/usb2/2-l/2_l.4/2-1.4.2” 时,主机可通过调用 udev_device_get_parent (Hub)函数,获取当前HUB的上级HUB的设备路径信息,即“/devices/pciOOOO: 00/0000:00:1d.0/usb2/2-l/2-l.4”。
[0057]步骤210,主机读取当前HUB的设备路径信息中最后一位上的数据,将读取到的数据作为USB设备的HUB ID,根据端口信息获取USB设备的HUB端口号。
[0058]具体地,当USB设备与HUB组中的第二级HUB直连时,主机可以将端口信息中的二级端口号作为USB设备的HUB端口号;当USB设备与HUB组中除第一级HUB和第二级HUB之
外的其他HUB直连时,主机可以根据端口信息计算
【权利要求】
1.一种定位HUB组上的USB设备的方法,其特征在于,应用于包括主机、HUB组和USB设备的系统中,所述HUB组由多个HUB构成,至少包括第一级HUB和第二级HUB,所述第一级HUB通过自身的级联接口与所述主机直连,并通过自身的普通端口与一个或多个第二级HUB的级联接口直连,所述方法包括以下步骤: 51、所述主机获取USB设备的设备路径信息,所述USB设备连接在所述HUB组中除所述第一级HUB之外的其他HUB的普通端口上; 52、所述主机读取所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据保存到端口信息中,并根据所述USB设备的设备路径信息,获取与所述USB设备直连的HUB的设备路径信息,将所述HUB作为当前HUB ; 53、所述主机判断所述当前HUB是否为所述HUB组中的第一级HUB,如果是,则执行步骤S6;否则,执行步骤S4; 54、所述主机读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据添加到所述端口信息中,并根据所述当前HUB的设备路径信息,获取所述当前HUB的上级HUB的设备路径信息,所述当前HUB的上级HUB为所述HUB组中通过普通端口与所述当前HUB的级联端口直连的HUB ; 55、所述主机将所述上级HUB作为更新后的当前HUB,并返回步骤S3; 56、所述主机读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据作为所述USB设备的HUB ID,根据所述端口信息获取所述USB设备的HUB端口号。
2.如权利要求1所述的方法,其特征在于,所述步骤SI,具体为: 所述主机监听系统内核抛出的内核事件,从监听到的内核事件中获取所述USB设备的设备路径信息。
3.如权利要求2所述的方法,其特征在于,所述步骤SI之后,还包括: 所述主机根据所述USB设备的设备路径信息,读取所述USB设备的属性文件,从所述属性文件中获取所述USB设备的标识信息; 所述主机根据所述USB设备的标识信息,判断所述USB设备是否为需要定位的设备,如果是,则执行步骤S2 ;否则,结束流程。
4.如权利要求3所述的方法,其特征在于,所述主机根据所述USB设备的标识信息,判断所述USB设备是否为需要定位的设备,具体为: 所述主机判断所述USB设备的标识信息是否包含在第一预设标识组中,如果是,则确定所述USB设备是需要定位的设备;否则,确定所述USB设备不是需要定位的设备。
5.如权利要求1所述的方法,其特征在于,所述步骤SI,具体为: 所述主机轮询USB设备的属性文件,将轮询到的USB设备的属性文件的路径信息作为所述USB设备的设备路径信息。
6.如权利要求5所述的方法,其特征在于,所述步骤SI之后,还包括: 所述主机从所述轮询到的USB设备的属性文件中获取所述USB设备的标识信息; 所述主机根据所述USB设备的标识信息,判断所述USB设备是否为需要定位的设备,如果是,则执行步骤S2 ;否则,返回步骤SI。
7.如权利要求6所述的方法,其特征在于,所述主机根据所述USB设备的标识信息,判断所述USB设备是否为需要定位的设备,具体为:所述主机判断所述USB设备的标识信息是否包含在第二预设标识组中,如果是,则确定所述USB设备是需要定位的设备;否则,确定所述USB设备不是需要定位的设备。
8.如权利要求1所述的方法,其特征在于,所述主机根据所述USB设备的设备路径信息,获取与所述USB设备直连的HUB的设备路径信息,具体为:所述主机从所述USB设备的设备路径信息中截取位于最后一个间隔符号之前的内容,将截取得到的内容作为与所述USB设备直连的HUB的设备路径信息;所述主机根据所述当前HUB的设备路径信息,获取所述当前HUB的上级HUB的设备路径信息,具体为:所述主机从所述当前HUB的设备路径信息中截取位于最后一个间隔符号之前的内容,将截取得到的内容作为所述当前HUB的上级HUB的设备路径信息。
9.如权利要求1所述的方法,其特征在于,所述USB设备与所述HUB组中的第二级HUB直连;所述步骤S2中,所述主机读取所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据保存到端口信息中,具体为:所述主机读取所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据作为二级端口号保存到端口信息中;所述步骤S6中,所述主机根据所述端口信息获取所述USB设备的HUB端口号,具体为:所述主机将所述端口信息中的二级端口号作为所述USB设备的HUB端口号。
10.如权利要求1所述的方法,其特征在于,所述USB设备与所述HUB组中除第一级HUB和第二级HUB之外的其他HUB直连`;`所述步骤S2中,所述主机读取所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据保存到端口信息中,具体为:所述主机将变量η的取值初始化为所述HUB组的总级数Μ,读取所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据作为η级端口号添加到端口信息中;所述步骤S4中,所述主机读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据添加到所述端口信息中,具体为:所述主机将变量η的取值减1,读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据作为η级端口号添加到所述端口信息中;所述步骤S6中,所述主机根据所述端口信息获取所述USB设备的HUB端口号,具体为: 所述主机根据所述端口信息计算
11.如权利要求1所述的方法,其特征在于,所述步骤S6之后,还包括:所述主机根据所述USB设备的HUB端口号和HUB ID,显示所述USB设备的操作状态。
12.如权利要求1所述的方法,其特征在于,所述步骤S6之后,还包括:所述主机根据所述USB设备的标识信息,对当前操作进行判断;如果当前操作为下载系统操作,所述主机向USB设备中写入芯片操作系统,更新所述USB设备的标识信息,根据所述USB设备的HUB端口号和HUB ID,向可控装置发送下电指令和上电指令,通过所述可控装置控制所述USB设备连接到的端口下电和上电; 如果当前操作为初始化操作,所述主机根据所述USB设备的HUB端口号和HUB ID,生成硬件序列号,将所述硬件序列号写入到所述USB设备中。
13.如权利要求7所述的方法,其特征在于,所述步骤S6之后,还包括: 所述主机根据所述USB设备的标识信息,对当前操作进行判断; 如果当前操作为下载系统操作,所述主机向USB设备中写入芯片操作系统,更新所述USB设备的标识信息,根据所述USB设备的HUB端口号和HUB ID,向可控装置发送下电指令和上电指令,通过所述可控装置控制所述USB设备连接到的端口下电和上电; 如果当前操作为初始化操作,所述主机根据所述USB设备的HUB端口号和HUB ID,生成硬件序列号,将所述硬件序列号写入到所述USB设备中,将所述USB设备设置为不需要定位的USB设备。
14.如权利要求12或13所述的方法,其特征在于,所述主机根据所述USB设备的标识信息,对当前操作进行判断,具体为: 所述主机对所述USB设备的标识信息进行判断,如果所述USB设备的标识信息为第一预设标识,则确定当前操作为下载系统操作;如果所述USB设备的标识信息为第二预设标识,则确定当前操作为初始化操作; 所述主机更新所述USB设备的标识信息,具体为: 所述主机将所述USB设备的标识信息更新为所述第二预设标识信息。
15.如权利要求13所述的方法,其特征在于,所述主机将所述USB设备设置为不需要定位的USB设备,具体为: 所述主机从所述第二预设标识组中删除上述USB设备的标识信息。
16.一种主机,其特征在于,应用于包括主机、HUB组和USB设备的系统中,所述HUB组由多个HUB构成,至少包括第一级HUB和第二级HUB,所述第一级HUB通过自身的级联接口与所述主机直连,并通过自身的普通端口与一个或多个第二级HUB的级联接口直连,所述主机包括: 第一获取模块,用于获取USB设备的设备路径信息,所述USB设备连接在所述HUB组中除所述第一级HUB之外的其他HUB的普通端口上; 第一读取模块,用于读取所述第一获取模块获取的所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据保存到端口信息中; 第二获取模块,用于根据所述第一获取模块获取的所述USB设备的设备路径信息,获取与所述USB设备直连的HUB的设备路径信息,将所述HUB作为当前HUB,并触发第一判断模块; 第一判断模块,用于判断所述当前HUB是否为所述HUB组中的第一级HUB ; 第二读取模块,用于在所述第一判断模块判断出所述当前HUB不是所述HUB组中的第一级HUB时,读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据添加到所述端口信息中,并根据所述当前HUB的设备路径信息,获取所述当前HUB的上级HUB的设备路径信息,将所述上级HUB作为更新后的当前HUB,并触发所述第一判断模块,所述当前HUB的上级HUB为所述HUB组中通过普通端口与所述当前HUB的级联端口直连的HUB ;第三读取模块,用于在所述第一判断模块判断出所述当前HUB是所述HUB组中的第一级HUB时,读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据作为所述USB设备的HUB ID;第三获取模块,用于在所述第一判断模块判断出所述当前HUB是所述HUB组中的第一级HUB时,根据所述端口信息获取所述USB设备的HUB端口号。
17.如权利要求16所述的主机,其特征在于,所述第一获取模块,具体用于监听系统内核抛出的内核事件,从监听到的内核事件中获取所述USB设备的设备路径信息。
18.如权利要求17所述的主机,其特征在于,还包括:第四读取模块,用于根据所述第一获取模块获取的所述USB设备的设备路径信息,读取所述USB设备的属性文件,从所述属性文件中获取所述USB设备的标识信息;第二判断模块,用于根据所述第四读取模块获取到的所述USB设备的标识信息,判断所述USB设备是否为需要定位的设备;所述第一读取模块,具体用于在所述第二判断模块判断出所述USB设备是需要定位的设备时,读取所述第一获取模块获取的所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据保存到端口信息中。
19.如权利要求18所述的主机,其特征在于,所述第二判断模块,具体用于判断所述USB设备的标识信息是否包含在第一预设标识组中,如果是,则确定所述USB设备是需要定位的设备;否则,确定所述USB设备不是需要定位的设备。
20.如权利要求16所述的主机,其特征在于,所述第一获取模块,具体用于轮询USB设备的属性文件,将轮询到的USB设备的属性文件的路径信息作为所述USB设备的设备路径信息。
21.如权利要求20所述的主机,其特征在于,还包括:第四获取模块,用于从所述第一获取模块轮询到的USB设备的属性文件中获取所述USB设备的标识信息;第三判断模块,用于根据第四获取模块获取到的所述USB设备的标识信息,判断所述USB设备是否为需要定位的设备;所述第一读取模块,具体用于在所述第三判断模块判断出所述USB设备是需要定位的设备时,读取所述第一获取模块获取的所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据保存到端口信息中。
22.如权利要求21所述的主机,其特征在于,所述第三判断模块,具体用于判断所述USB设备的标识信息是否包含在第二预设标识组中,如果是,则确定所述USB设备是需要定位的设备;否则,确定所述USB设备不是需要定位的设备。
23.如权利要求16所述的主机,其特征在于,所述第二获取模块,具体用于从所述第一获取模块获取到的所述USB设备的设备路径信息中截取位于最后一个间隔符号之前的内容,将截取得到的内容作为与所述USB设备直连的HUB的设备路径信息,将所述HUB作为当前HUB,并触发第一判断模块;所述第二读取模块,具体用于在所述第一判断模块判断出所述当前HUB不是所述HUB组中的第一级HUB时,读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据添加到所述端口信息中,从所述当前HUB的设备路径信息中截取位于最后一个间隔符号之前的内容,将截取得到的内容作为所述当前HUB的上级HUB的设备路径信息,将所述上级HUB作为更新后的当前HUB,并触发所述第一判断模块,所述当前HUB的上级HUB为所述HUB组中通过普通端口与所述当前HUB的级联端口直连的HUB。
24.如权利要求16所述的主机,其特征在于,所述USB设备与所述HUB组中的第二级HUB直连; 所述第一读取模块,具体用于读取所述第一获取模块获取的所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据作为二级端口号保存到端口信息中; 所述第三获取模块,具体用于在所述第一判断模块判断出所述当前HUB是所述HUB组中的第一级HUB时,将所述端口信息中的二级端口号作为所述USB设备的HUB端口号。
25.如权利要求16所述的主机,其特征在于,所述USB设备与所述HUB组中除第一级HUB和第二级HUB之外的其他HUB直连; 所述第一读取模块,具体用于将变量η的取值初始化为所述HUB组的总级数Μ,读取所述第一获取模块获取的所述USB设备的设备路径信息的最后一位上的数据,将读取到的数据作为η级端口号添加到端口信息中; 所述第二读取模块,具体用于在所述第一判断模块判断出所述当前HUB不是所述HUB组中的第一级HUB时,将变量η的取值减I,读取所述当前HUB的设备路径信息中最后一位上的数据,将读取到的数据作为η级端口号添加到所述端口信息中,并根据所述当前HUB的设备路径信息,获取所述当前HUB的上级HUB的设备路径信息,将所述上级HUB作为更新后的当前HUB,并触发所述第一判断模块,所述当前HUB的上级HUB为所述HUB组中通过普通端口与所述当前HUB的级联端口直连的HUB ; 所述第三获取模块,具体用于在所述第一判断模块判断出所述当前HUB是所述HUB组中的第一级HUB时,根据所述端口信息计算
26.如权利要求16所述的主机,其特征在于,还包括: 显示模块,用于根据所述USB设备的HUB端口号和HUB ID,显示所述USB设备的操作状态。
27.如权利要求16所述的主机,其特征在于,还包括: 第四判断模块,用于根据所述USB设备的标识信息,对当前操作进行判断; 第一处理模块,用于在所述第四判断模块判断出当前操作为下载系统操作时,向USB设备中写入芯片操作系统,更新所述USB设备的标识信息,根据所述USB设备的HUB端口号和HUB ID,向可控装置发送下电指令和上电指令,通过所述可控装置控制所述USB设备连接到的端口下电和上电; 第二处理模块,用于在所述第四判断模块判断出当前操作为初始化操作时,根据所述USB设备的HUB端口号和HUB ID,生成硬件序列号,将所述硬件序列号写入到所述USB设备中。
28.如权利要求22所述的主机,其特征在于,还包括:第四判断模块,用于根据所述USB设备的标识信息,对当前操作进行判断;第一处理模块,用于在所述第四判断模块判断出当前操作为下载系统操作时,向USB设备中写入芯片操作系统,更新所述USB设备的标识信息,根据所述USB设备的HUB端口号和HUB ID,向可控装置发送下电指令和上电指令,通过所述可控装置控制所述USB设备连接到的端口下电和上电;第三处理模块,用于在所述第四判断模块判断出当前操作为初始化操作时,根据所述USB设备的HUB端口号和HUB ID,生成硬件序列号,将所述硬件序列号写入到所述USB设备中,将所述USB设备设置为不需要定位的USB设备。
29.如权利要求27或28所述的主机,其特征在于,所述第四判断模块,具体用于对所述USB设备的标识信息进行判断,如果所述USB设备的标识信息为第一预设标识,则确定当前操作为下载系统操作;如果所述USB设备的标识信息为第二预设标识,则确定当前操作为初始化操作;所述第一处理模块,具体用于在所述第四判断模块判断出当前操作为下载系统操作时,向USB设备中写入芯片操作系统,将所述USB设备的标识信息更新为所述第二预设标识信息,根据所述USB设备的HUB端口号和HUB ID,向可控装置发送下电指令和上电指令,通过所述可控装置控制所述USB设备连接到的端口下电和上电。
30.如权利要求28所述的主机,其特征在于,所述第三处理模块,具体用于在所述第四判断模块判断出当前操作为初始化操作时,根据所述USB设备的HUB 端口号和HUB ID,生成硬件序列号,将所述硬件序列号写入到所述USB设备中,从所述第二预设标识组中删除上述USB设备的标识信息。
【文档编号】G06F13/40GK103559162SQ201310514597
【公开日】2014年2月5日 申请日期:2013年10月28日 优先权日:2013年10月28日
【发明者】陆舟, 于华章 申请人:飞天诚信科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1