一种USB复合设备在Windows和Android显示不同硬件设备的方法与流程

文档序号:22757464发布日期:2020-10-31 09:54阅读:237来源:国知局
一种USB复合设备在Windows和Android显示不同硬件设备的方法与流程

技术领域:

本发明涉及一种usb复合设备在windows操作系统和android显示硬件设备的方法。



背景技术:

通用串行总线usb设备:是指能够通过通用串行总线usb来发送和接收数据,从而实现一定功能的实体。

复合通用串行总线usb设备:是一个具有多个功能和配置多个介面的组合设备,但是只有一个唯一的设备(device)地址,透过相对应的通用串行总线usb设备驱动程式(devicedriver)来与主机通讯,无法满足使用需求。

小型计算机系统接口scsi指令:是一种连结主机和外围设备的接口,支持包括磁盘驱动器、磁带机、光驱、扫描仪在内的多种设备。它由小型计算机系统接口scsi控制器进行数据操作,小型计算机系统接口scsi控制器相当于一块小型中央处理器cpu,有自己的命令集和缓存,结构复杂。

大容量存储设备:主要用于为软磁盘接口、ata接口(暂准进口单证专册接口)、集成开发环境ide硬盘接口及闪光flash存储器等设备建立的复合通用串行总线usb接口设备;几种设备无法集于一体进行使用。



技术实现要素:

本发明的目的是提供一种实现了在windows和android系统下显示不同的硬件设备的usb复合设备在windows操作系统和android显示硬件设备的方法。

上述的目的通过以下的技术方案实现:

一种usb复合设备在windows操作系统和android显示硬件设备的方法,本方法包括七步,第一步通用串行总线usb设备上电,

第二步通用串行总线usb设备待主机操作系统发送通用串行总线usb设备请求指令,

第三步通用串行总线usb设备判断主机系统发送的通用串行总线usb设备请求指令中的配置configuration子命令,发送的命令长度是否为特征码,如果为特征码则代表是android系统,则执行第五步,如果不是则继续执行第四步既重复第三步;

第五步继续处理通用串行总线usb设备请求命令,在getmaxlun命令请求时,返回支持的逻辑单元个数;

第六步继续处理通用串行总线usb设备请求命令,在getmaxlun命令请求时,返回不同的支持的逻辑单元个数;

第七步当逻辑单元个数在windows系统和android系统为不同时,硬件设备在android系统显示为只读存储器cd-rom设备,在windows系统下,硬件设备显示只读存储器cd-rom和大容量存储设备。

所述的usb复合设备在windows操作系统和android显示硬件设备的方法,windows上显示只读存储器cd-rom和大容量存储设备,在android上只显示只读存储器cd-rom设备;根据不同系统在发送通用串行总线usb设备请求命令的不同,返回不同逻辑单元个数,以显示不同的硬件设备。

有益效果:

1.本发明根据usb复合设备在windows和android系统下usb设备请求指令的不同,返回不同的逻辑单元个数,以实现在windows和android系统下显示不同的硬件设备。

附图说明:

附图1是本产品的示意图。

具体实施方式:

下面将结合本发明的附图,对本发明实施例中的技术方案进行清楚、完整地描述。

实施例1:

一种usb复合设备在windows操作系统和android显示硬件设备的方法,本方法包括七步,第一步通用串行总线usb设备上电,

第二步通用串行总线usb设备待主机操作系统发送通用串行总线usb设备请求指令,

第三步通用串行总线usb设备判断主机系统发送的通用串行总线usb设备请求指令中的配置configuration子命令,发送的命令长度是否为特征码,如果为特征码则代表是android系统,则执行第五步,如果不是则继续执行第四步既重复第三步;

第五步继续处理通用串行总线usb设备请求命令,在getmaxlun命令请求时,返回支持的逻辑单元个数;

第六步继续处理通用串行总线usb设备请求命令,在getmaxlun命令请求时,返回不同的支持的逻辑单元个数;

第七步当逻辑单元个数在windows系统和android系统为不同时,硬件设备在android系统显示为只读存储器cd-rom设备,在windows系统下,硬件设备显示只读存储器cd-rom和大容量存储设备。

实施例2:

实施例1所述的usb复合设备在windows操作系统和android显示硬件设备的方法,windows上显示只读存储器cd-rom和大容量存储设备,在android上只显示只读存储器cd-rom设备;根据不同系统在发送通用串行总线usb设备请求命令的不同,返回不同逻辑单元个数,以显示不同的硬件设备。

实施例3:

实施例1所述的usb复合设备在windows操作系统和android显示硬件设备的方法,步骤一通用串行总线usb设备上电;步骤二通用串行总线usb设备等待主机操作系统发送usb设备请求指令;步骤三usb设备判断主机系统发送的通用串行总线usb设备请求指令中的configuration子命令,发送的命令长度是否为特征码,如果为特征码则代表为android系统,则执行步骤五,如果不是则继续执行步骤四;步骤5继续处理usb设备请求命令,在getmaxlun命令请求时,返回支持的逻辑单元个数;步骤六继续处理usb设备请求命令,在getmaxlun命令请求时,返回支持的逻辑单元个数不同;步骤七当逻辑单元个数在windows系统和android系统为不同时,硬件设备在android系统显示为只读存储器cd-rom设备,在windows系统下,硬件设备显示只读存储器cd-rom和大容量存储设备。

实施例4:

实施例1所述的usb复合设备在windows操作系统和android显示硬件设备的方法,如下为windows和android系统枚举过程数据(每条安装stup包只截取前8个字节);

第一条指令安装stup8006000100001200,

第二条指令安装stup800600020000特征码00,第二条指令的第7个字节如果为特征码,则表示主机系统为android系统,如果为非特征码,则为windows系统,

第三条指令安装stup8006000200002000,

第四条安装stup8006000300000200,

第五条安装stup8006000300000400,

第六条安装stup8006030309040200,

第七条安装stup8006030309042200,

第八条安装stup0009010000000000,

第九条安装stup010b000000000000,

第十条安装stupa1fe000000000100,

如果判断主机系统为android系统,第十条命令返回第二条,如果为windows系统则返回第一步;主机系统收到返回数据,会继续发送scsi命令;第十条命令返回的数据表示支持的逻辑单元个数,主机系统会根据返回的数据下发scsi指令来继续后续的上盘操作。在android系统下上盘为1个设备,在windows系统下上盘为2个设备包括cd-rom和大容量存储设备。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1