CN103309708A - 一种usb设备在主机自动安装驱动程序的方法 - Google Patents
一种usb设备在主机自动安装驱动程序的方法 Download PDFInfo
- Publication number
- CN103309708A CN103309708A CN2013102120450A CN201310212045A CN103309708A CN 103309708 A CN103309708 A CN 103309708A CN 2013102120450 A CN2013102120450 A CN 2013102120450A CN 201310212045 A CN201310212045 A CN 201310212045A CN 103309708 A CN103309708 A CN 103309708A
- Authority
- CN
- China
- Prior art keywords
- usb device
- main frame
- usb
- driver
- cdrom
- 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
Landscapes
- Stored Programmes (AREA)
Abstract
本发明提出了一种USB设备在主机自动安装驱动程序的方法,所述方法在USB设备FLASH上存储主机USB设备驱动的安装程序;USB设备第一次插入主机时,主机识别USB设备为CDROM设备,CDROM的内容为FLASH中存储的设备安装程序;主机利用CDROM的自动运行功能读取CDROM内容,自动运行安装程序,安装USB设备驱动程序,USB设备进入正常工作模式,主机删除USB设备加载的标准CDROM驱动程序。本发明所提供的方法,只要是自带FLASH存储系统和USB接口的设备都能够实现驱动程序的自动安装,在减少成本的同时,也提供了使用上相当的便利性和易用性。
Description
技术领域
本发明属于计算机技术领域,具体指的是一种USB设备在主机自动安装驱动程序的方法。
背景技术
USB(Universal Serial BUS)技术是用于规范电脑与外部设备的连接和通讯技术,其即插即用和热插拔的特性受到众多产品厂家的青睐。各种各样的电子设备大多都提供了USB接口用于与电脑的主机通讯。相当部分的嵌入式设备通过USB接口完成设备的产品功能,因而要求安装一定的设备驱动程序。传统的方式是厂家随设备提供一个光盘来安装。这种方式既增加了成本,又携带不方便。而这些设备中往往本身自带FLASH等存储系统,充分利用设备自带的FLASH存储系统,实现USB设备的自动安装具有切实的现实意义和商业价值。通过USB技术,实现USB 虚拟CD-ROM机制,根据是否安装过驱动,灵活在安装模式和工作模式下切换,达到既能在未安装过驱动的主机上安装驱动,又能在已安装过驱动的主机上直接切换到工作状态的目的。
发明内容
本发明所要解决的技术问题在于克服现有技术的不足,给出一种USB设备在主机自动安装驱动程序的方法。使用本方法只要是自带FLASH存储系统和USB接口的设备都能够实现驱动程序的自动安装。
为了解决上述技术问题,本发明所采用的技术方案是:一种USB设备在主机自动安装驱动程序的方法,包括如下步骤:
步骤A,USB设备在其FLASH上划分存储空间,存储主机USB设备驱动的安装程序;
步骤B,如果USB设备第一次插入主机,主机对其进行USB枚举,USB设备告知主机为CDROM设备,主机识别USB设备为CDROM设备,CDROM设备的内容为FLASH中存储的设备安装程序;主机根据USB设备ID和厂家ID为CDROM设备加载标准的设备驱动程序;
步骤C,主机利用CDROM设备的自动运行功能读取CDROM设备内容,自动运行安装程序,安装USB设备驱动程序;
步骤D,主机安装完USB设备驱动程序,通知USB设备切换到USB设备正常工作模式;USB设备接收主机的切换指令,从CDROM设备切换到USB设备正常工作模式;
步骤E,USB设备进入正常工作模式,主机为USB设备加载正常的USB设备驱动程序,USB设备进入正常的工作状态;主机删除USB设备加载的标准CDROM设备驱动程序;
步骤F,主机在安装过USB驱动程序后,当再次插入USB设备使用时,主机判断是否安装过USB驱动程序,如果判断为已经安装过USB驱动程序,则USB设备不再被识别为CDROM设备,而直接进入USB设备工作状态,主机直接加载USB设备驱动程序。
步骤F中,所述主机判断是否安装过USB驱动程序的方法是:USB设备在收到主机对USB端点的复位通知时判断是否收到查询INQURY指令;如果USB设备收到查询INQURY指令,则USB设备未安装过USB驱动程序。
步骤D中,所述从CDROM设备切换到USB设备正常工作模式的方法是:先关闭USB设备上拉电阻,再打开USB设备上拉电阻。
本发明的有益效果是:本发明提出了一种USB设备在主机自动安装驱动程序的方法,所述方法在USB设备FLASH上存储主机USB设备驱动的安装程序;USB设备第一次插入主机时,主机识别USB设备为CDROM设备,CDROM的内容为FLASH中存储的设备安装程序;主机利用CDROM的自动运行功能读取CDROM内容,自动运行安装程序,安装USB设备驱动程序,USB设备进入正常工作模式,主机删除USB设备加载的标准CDROM驱动程序。本发明所提供的方法,只要是自带FLASH存储系统和USB接口的设备都能够实现驱动程序的自动安装,在减少成本的同时,也提供了使用上相当的便利性和易用性。
附图说明
图1为USB设备使用本发明方法的使用示意图。
具体实施方式
下面结合附图,对本发明提出的一种USB设备在主机自动安装驱动程序的方法进行详细说明;下面通过一个USB上网卡的实例来说明本发明的具体实施方法。
根据USB上网卡的使用要求,使用本发明方法要求:在未安装过驱动的主机电脑上在插入网卡的时候,能够在虚拟的CDROM设备里安装驱动程序和客户端程序,安装完成后能够自动切换到基于USB 串口的Modem设备工作状态;在已经安装过USB驱动的电脑上,上网卡要能够直接进入USB Modem工作状态。
根据本发明方法,如图1所示,上网卡的使用本发明的方法为:
101 将上网卡设备插入到电脑主机USB口
102 电脑主机检测到USB口设备插入,发起对设备的USB枚举过程。USB上网卡设备判断主机是否已安装过本设备的USB设备驱动程序。若已安装过进入108,未安装过进入103。
103 USB 上网卡进入设备驱动安装模式,继续响应主机的枚举过程。当主机发送SCSI INQURIY指令时,上网卡返回CDROM类型,对应的设备类型代码为05.
104 当主机对上网卡枚举查询完毕,通过SCSI指令开始读取CDROM的内容,上网卡返回预存储在FLASH存储器的CDROM文件内容。主机自动运行CDROM里的安装程序开始安装驱动程序。
105 安装程序在安装完后发送SCSI EJECT弹出指令给上网卡,通知上网卡从CDROM安装模式切换到正常工作状态。
106 上网卡开始切换过程,主机重新发起USB枚举过程,进入到USB 串口Modem工作状态。
107 上网卡切换完毕,主机第二次枚举出USB Modem设备,从已安装过的驱动程序中加载匹配的设备驱动程序,设备进入正常工作状态。
108 当驱动程序安装完毕后,安装程序要将CDROM的驱动程序删除掉。否则下次插入设备,Windows系统会根据记忆系统,将其继续识别为CDROM设备,102步骤会判断失败,设备识别不出驱动是否安装过,进入不了USB Modem状态。
根据107步骤,USB 上网卡的工作状态为一Modem设备,主机Windows系统安装过驱动后会形成Modem, AT命令等USB串口设备。
根据102步骤,上网卡要能判断出主机是否安装过USB Modem设备驱动,以此来判断是进入103步骤还是108步骤。
进一步的若安装过驱动,这是一个Modem设备,上网卡直接进入108过程,主机操作系统将其作为一个Modem设备从已安装过的驱动中加载相应的驱动程序;若未安装过驱动,将其看做一个CDROM设备,开始103后续步骤。
进一步的,判断是否安装过驱动的依据为上网卡设备在收到对端点的复位通知时是否收到INQUIRY指令,若没有收到则上网卡判断主机系统已经安装过驱动程序。
进一步的,当判断到主机已经安装过驱动后,上网卡将USB的CONFIGURED状态强制成SUSPENDED状态,主机系统在复位端点后没有收到回应,会重新发起枚举过程。
进一步的,上网卡在二次枚举时将自己枚举为Modem设备,进入108过程。
根据103步骤,事先需要将设备驱动安装程序做成ISO光盘映像文件格式。
进一步的若USB设备支持文件系统,将其直接放到设备的文件系统当做一个文件来访问处理;若不支持文件系统则将ISO文件内容直接存贮在FLASH块中,通过FLASH读写驱动,直接访问。上网卡支持文件系统,将ISO文件直接放到上网卡的文件系统中来使用。
根据104步骤,上网卡要响应主机对CDROM的操作,包括TOC读取,长度读取,内容读取等。
根据步骤105发送的通知切换指令,可以是EJECT(0x1B)指令,也可以是REWIND(0x01)指令等。只要能标示一个切换通知即可。
进一步的,上网卡在接收到切换指令后,要进行从CDROM设备到MODEM设备的切换,进入到106过程。
根据106过程,切换方法为上网卡关闭USB 的上拉电阻,将USB状态强制转换到挂起状态,同时上网卡设备准备好切换,设一定时器20秒或者30秒。
进一步的当定时器到时,打开上拉电阻,主机检测到USB设备重新发起枚举过程。
进一步的,在此二次枚举过程,上网卡设备将自己枚举为USB Modem设备。主机操作系统在枚举出Modem设备后,从已安装过的设备驱动程序中加载,整个系统进入正常工作过程。
由105进入106的切换过程需要有一个打开和关闭上拉电阻的过程。而由102进入108过程是在102步骤只需要对收到对端点的复位通知时正常响应给主机。
综上所述,本发明提供了一种内置驱动安装程序的嵌入式USB设备自动安装驱动程序的方法。在减少成本的同时,也提供了使用上相当的便利性和易用性。
该技术领域的普通技术人员来说,根据以上实施类型可以联想到其他的优点和变形。所以本发明不局限于上述具体的实例,其仅仅是对本发明的一种具体的实施实例。在不背离本发明宗旨的范围内,该技术领域的普通技术人员可以根据上述实例进行等同替换所得到的技术方案应该包含在本发明的权利要求范围及其等同范围之内。
Claims (3)
1.一种USB设备在主机自动安装驱动程序的方法,其特征在于,包括如下步骤:
步骤A,USB设备在其FLASH上划分存储空间,存储主机USB设备驱动的安装程序;
步骤B,如果USB设备第一次插入主机,主机对其进行USB枚举,USB设备告知主机为CDROM设备,主机识别USB设备为CDROM设备,CDROM设备的内容为FLASH中存储的设备安装程序;主机根据USB设备ID和厂家ID为CDROM设备加载标准的设备驱动程序;
步骤C,主机利用CDROM设备的自动运行功能读取CDROM设备内容,自动运行安装程序,安装USB设备驱动程序;
步骤D,主机安装完USB设备驱动程序,通知USB设备切换到USB设备正常工作模式;USB设备接收主机的切换指令,从CDROM设备切换到USB设备正常工作模式;
步骤E,USB设备进入正常工作模式,主机为USB设备加载正常的USB设备驱动程序,USB设备进入正常的工作状态;主机删除USB设备加载的标准CDROM设备驱动程序;
步骤F,主机在安装过USB驱动程序后,当再次插入USB设备使用时,主机判断是否安装过USB设备驱动程序,如果判断为已经安装过USB设备驱动程序,则USB设备不再被识别为CDROM设备,而直接进入USB设备工作状态,主机直接加载USB设备驱动程序。
2.根据权利要求1所述的一种USB设备在主机自动安装驱动程序的方法,其特征在于,步骤F中,所述主机判断是否安装过USB设备驱动程序的方法是:USB设备在收到主机对USB端点的复位通知时判断是否收到查询INQURY指令;如果USB设备收到查询INQURY指令,则USB设备未安装过USB设备驱动程序。
3.根据权利要求1所述的一种USB设备在主机自动安装驱动程序的方法,其特征在于,步骤D中,所述从CDROM设备切换到USB设备正常工作模式的方法是:先关闭USB设备上拉电阻,再打开USB设备上拉电阻。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102120450A CN103309708A (zh) | 2013-05-31 | 2013-05-31 | 一种usb设备在主机自动安装驱动程序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013102120450A CN103309708A (zh) | 2013-05-31 | 2013-05-31 | 一种usb设备在主机自动安装驱动程序的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103309708A true CN103309708A (zh) | 2013-09-18 |
Family
ID=49134968
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013102120450A Pending CN103309708A (zh) | 2013-05-31 | 2013-05-31 | 一种usb设备在主机自动安装驱动程序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103309708A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062240A1 (zh) * | 2013-11-01 | 2015-05-07 | 小米科技有限责任公司 | 一种应用安装的方法、装置和设备 |
CN109408418A (zh) * | 2017-08-17 | 2019-03-01 | 深圳市中兴微电子技术有限公司 | 一种usb模式切换装置及方法、usb设备 |
CN109656852A (zh) * | 2018-12-05 | 2019-04-19 | 郑州云海信息技术有限公司 | 一种sys_tf卡接口连接控制方法及系统 |
CN109901960A (zh) * | 2019-02-27 | 2019-06-18 | 广州启辰电子科技有限公司 | 一种usb从设备驱动加载完整性检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193152A1 (en) * | 2008-01-30 | 2009-07-30 | Ting-Chun Wang | External device with a driver auto-run installation and method thereof |
CN101833466A (zh) * | 2010-05-14 | 2010-09-15 | 华为终端有限公司 | 终端设备及其驱动程序的安装方法 |
CN101431828B (zh) * | 2008-11-30 | 2011-08-24 | 中兴通讯股份有限公司 | WiMAX网卡及其启动方法 |
CN101383744B (zh) * | 2008-10-09 | 2011-11-02 | 华为终端有限公司 | 一种无线Modem设备适配的方法、无线Modem设备以及系统 |
US20120159521A1 (en) * | 2010-12-20 | 2012-06-21 | Kriegelstein J K | Method and apparatus for integrating driver(s) of a portable device into the portable device |
-
2013
- 2013-05-31 CN CN2013102120450A patent/CN103309708A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20090193152A1 (en) * | 2008-01-30 | 2009-07-30 | Ting-Chun Wang | External device with a driver auto-run installation and method thereof |
CN101383744B (zh) * | 2008-10-09 | 2011-11-02 | 华为终端有限公司 | 一种无线Modem设备适配的方法、无线Modem设备以及系统 |
CN101431828B (zh) * | 2008-11-30 | 2011-08-24 | 中兴通讯股份有限公司 | WiMAX网卡及其启动方法 |
CN101833466A (zh) * | 2010-05-14 | 2010-09-15 | 华为终端有限公司 | 终端设备及其驱动程序的安装方法 |
US20120159521A1 (en) * | 2010-12-20 | 2012-06-21 | Kriegelstein J K | Method and apparatus for integrating driver(s) of a portable device into the portable device |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015062240A1 (zh) * | 2013-11-01 | 2015-05-07 | 小米科技有限责任公司 | 一种应用安装的方法、装置和设备 |
CN109408418A (zh) * | 2017-08-17 | 2019-03-01 | 深圳市中兴微电子技术有限公司 | 一种usb模式切换装置及方法、usb设备 |
CN109408418B (zh) * | 2017-08-17 | 2022-03-25 | 深圳市中兴微电子技术有限公司 | 一种usb模式切换装置及方法、usb设备 |
CN109656852A (zh) * | 2018-12-05 | 2019-04-19 | 郑州云海信息技术有限公司 | 一种sys_tf卡接口连接控制方法及系统 |
CN109901960A (zh) * | 2019-02-27 | 2019-06-18 | 广州启辰电子科技有限公司 | 一种usb从设备驱动加载完整性检测方法 |
CN109901960B (zh) * | 2019-02-27 | 2023-02-28 | 广州启辰电子科技有限公司 | 一种usb从设备驱动加载完整性检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101553783B (zh) | 用于在外围设备处接收控制命令的系统和方法 | |
CN103049405B (zh) | 一种安卓设备文件的管理方法和系统 | |
CN102063320A (zh) | 工作模式切换方法、usb设备和主机设备 | |
CN101477498B (zh) | Usb设备切换端口的方法及设备 | |
KR20060048103A (ko) | 전자 기기 및 그 제어 방법, 정보 처리 장치, 및 컴퓨터프로그램 | |
CN103309708A (zh) | 一种usb设备在主机自动安装驱动程序的方法 | |
CN107844165A (zh) | 硬盘热插拔实现装置 | |
CN103942009A (zh) | 扩展终端中存储器的设备和方法 | |
CN102799691A (zh) | 文件系统转换访问方法及文件系统转换访问设备 | |
CN102073524B (zh) | 一种无线通讯终端及其自启动的方法 | |
CN102609285B (zh) | 一种驱动智能匹配加载的方法 | |
CN112134765A (zh) | Wifi回连测试方法、装置、测试终端和可读存储介质 | |
CN111143898B (zh) | 可插拔存储器装置数据保护方法 | |
KR20040074491A (ko) | 핫 플러그 신호 생성장치 및 생성방법 | |
CN106775485A (zh) | 一种基于移动终端的sd卡格式化的方法及系统 | |
CN103617053A (zh) | 一种软件升级的方法及装置 | |
US6892263B1 (en) | System and method for hot swapping daughtercards in high availability computer systems | |
CN104932993A (zh) | 一种稳定热插拔驱动方法、装置及一种支持热插拔设备 | |
CN109144586A (zh) | 一种驱动适配方法、装置、计算机设备及存储介质 | |
US10007529B2 (en) | Data terminal running mode switching method, device, and data terminal | |
CN103324445B (zh) | Usb存储设备运行的方法和系统、usb存储设备 | |
CN101872429A (zh) | 即插即用数据卡及其驱动安装方法 | |
US20170228333A1 (en) | Reader/writer device, information processing device, and data transfer control method, and program | |
US20040030821A1 (en) | Portable and interface exchangeable storage system and method for executing the same | |
CN100592258C (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 | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20130918 |