国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      用于在啟用USB設備時呈現驅動器安裝文件的系統(tǒng)和方法與流程

      文檔序號:11450379閱讀:326來源:國知局
      用于在啟用USB 設備時呈現驅動器安裝文件的系統(tǒng)和方法與流程

      相關申請的交叉引用

      本申請要求于2015年1月6日提交的美國臨時申請第62/100,121號的權益。上述申請的全部內容通過引用并入本文。

      本公開涉及一種在通用串行總線(usb)設備和具有操作系統(tǒng)的目標設備之間通信的系統(tǒng)和方法,并且更具體地,涉及一種用于使得usb設備能夠被安裝在其中usb設備不被操作系統(tǒng)直接支持的目標設備的操作系統(tǒng)上的系統(tǒng)和方法,而無需因特網連接,并且也不需要將具有所需設備驅動器的單獨介質部件插入到目標設備中。



      背景技術:

      本部分的陳述僅提供與本公開有關的背景信息并且可能不構成現有技術。

      對于能夠與目標設備(例如目標計算機)的操作系統(tǒng)通信的usb設備,目標計算機需要知道使用哪個驅動器來支持該設備。例如,如果目標計算機運行microsoft操作系統(tǒng),并且usb設備直接由操作系統(tǒng)支持,則例如通過使用如“hid”(人機接口設備)或“大容量存儲”等的驅動器將usb設備自動映射至存在于操作系統(tǒng)中的驅動器。這通常在任何類型的所支持的usb設備被首次插入到運行操作系統(tǒng)的計算機的usb端口時發(fā)生。操作系統(tǒng)基本上查看與其通信的支持的usb設備的類,并且將所支持的usb設備自動“枚舉”至包括在操作系統(tǒng)中的適當的設備驅動器。所說的“枚舉”是指:操作系統(tǒng)自動地將所需的設備驅動器映射至usb設備。

      當使用不受支持的usb來試圖與運行操作系統(tǒng)的計算機通信時,會出現挑戰(zhàn),這是因為操作系統(tǒng)不知道將什么驅動器映射至該設備。此外,運行操作系統(tǒng)的計算機可能不具有支持該usb設備的所需驅動器。這使得用戶必須向操作系統(tǒng)提供“.inf”或驅動器文件,所述“.inf”或驅動器文件(基于usb供應商/產品id)告訴操作系統(tǒng)所述枚舉usb設備映射至的特定驅動器。當然,可以經由因特網連接將“.inf”或驅動器文件提供給運行操作系統(tǒng)的計算機,通過因特網連接傳送“.inf”或驅動器文件的要求可能本身存在挑戰(zhàn)。例如,實體通常具有受限的lan/wan訪問,這可能阻止設備從因特網訪問文件。因此,通過因特網更新驅動器在現實世界中的應用中通常不切實際。

      另一選擇是在被插入到目標計算機的usb端口中的便攜介質設備(例如usb閃存驅動器)上簡單地包括所需要的驅動器安裝文件。然而,這需要便攜式介質設備在物理上插入到可能需要與usb設備通信的每個計算機。在一些應用中,尤其是在kvm(鍵盤/視頻/鼠標)應用中,這可能是不切實際的,因為usb設備可能需要與多個不同的目標計算機通信。此外,對目標計算機的物理訪問也可能受限,例如當目標計算機在具有控制訪問的數據中心的房間中時。

      因此,面臨的挑戰(zhàn)仍然是如何容易而有效地使不受支持的usb設備與目標計算機的操作系統(tǒng)進行通信,而無需使用諸如因特網等的廣域網,并且不需要將其上具有設備安裝文件的單獨介質設備物理耦接至需要與usb設備通信的每個目標計算機的usb端口。



      技術實現要素:

      在一個方面中,本公開涉及一種使得能夠在與通用串行總線(usb)設備通信的計算機上實現usb設備的次級功能的系統(tǒng),其中,計算機的操作系統(tǒng)不具有需要被映射到usb設備以使得能夠在計算機上實現usb設備的次級功能的至少一個不受支持的特征所需的驅動器。系統(tǒng)可以包括與計算機和用戶的電子設備通信的usb設備。usb設備可以具有主功能以及次級功能,并且包括被容納在usb設備中的usb大容量存儲設備以用于實現主功能或次級功能。文件被存儲在usb大容量存儲設備上以實現次級功能。文件可由用戶選擇,并且包括當計算機訪問時啟用usb設備的次級功能的不受支持特征所需的文件(.inf和/或驅動器文件)??丶试S用戶啟用次級功能并且訪問可以從usb設備傳送至計算機的usb大容量存儲設備上的.inf和/或驅動器文件。

      本公開的另一方面涉及一種使得能夠在與通用串行總線(usb)設備通信的計算機上實現所述usb設備的主功能和次級功能二者的系統(tǒng),其中,與計算機相關聯(lián)的操作系統(tǒng)不具有需要被映射到usb設備以啟用次級功能的一個或多個不受支持的特征所需的.inf文件和/或驅動器。系統(tǒng)可以包括與用戶的電子設備和計算機通信的usb設備。usb設備包括容納在usb設備中的usb大容量存儲設備和用于在主功能和次級功能之間進行選擇的控件。至少一個文件被存儲在usb大容量存儲設備上以實現次級功能。至少一個文件包括使得計算機能夠實現次級功能的不受支持的特征所需的.inf和/或驅動器。該至少一個文件從由用戶使用的外部電子設備提供,并且當驅動控件以實現次級功能時,在用戶選擇之后將該至少一個文件傳送至目標計算機。次級功能,當被實現時使得用戶能夠使用usb設備來加載另外的文件以啟用要被使用usb設備實現的不受支持的三級功能。

      本公開的另一方面涉及一種使得能夠在與通用串行總線(usb)設備通信的計算機上實現usb設備的次級功能的一個或多個不受支持的特征的方法,其中,計算機的操作系統(tǒng)不具有需要被映射到usb設備以使得能夠實現所述usb設備的次級功能的不受支持的特征所需的驅動器和/或.inf文件。方法可以包括提供與計算機和用戶的電子設備通信的usb設備。方法還包括向usb設備提供主功能和次級功能,并且將所需的驅動器和/或.inf存儲在usb設備上的文件中。方法還包括使用控件以使得用戶能夠選擇次級功能,并且當次級功能被選擇時,將所需的驅動器從usb設備傳送至計算機。這使得計算機能夠將所需驅動器映射至usb設備從而在計算機上實現次級功能。

      根據本文提供的描述,其他應用領域將變得明顯。該發(fā)明內容中的描述和具體示例僅旨在用于說明的目的并且不旨在限制本公開的范圍。

      附圖說明

      本文描述的附圖僅用于說明的目的,并且不旨在以任何方式限制本公開的范圍。

      圖1是示出了可以如何將不受支持的usb設備的.inf文件呈現給目標計算機的操作系統(tǒng)而無需廣域網(例如因特網)連接并且無需將單獨介質上的.inf文件直接提供給目標計算機的高級框圖;

      圖2是示出了可以使用圖1所示的部件執(zhí)行以將設備驅動器從不受支持的usb設備加載到目標計算機的操作系統(tǒng)上的多個操作的流程圖;以及

      圖3是示出了本公開的用于將串行控制臺功能實現為usb設備的次級功能的一個具體實現方式的流程圖。

      具體實施方式

      下面的描述本質上僅僅是示例性的,并且不旨在限制本公開、應用或用途。應理解,在整個附圖中,相應的附圖標記指示相同或相應的部件和特征。

      參照圖1,其示出了與目標設備(在本示例中,目標計算機12)的usb端口12b通信的usb設備10的高級圖。目標計算機12具有操作系統(tǒng)12a,操作系統(tǒng)12a包括與各種usb設備進行通信所需要的各種usb驅動器,但在這個例子中usb裝置10是“不受支持”的。在該示例中將操作系統(tǒng)假定成來自微軟公司的操作系統(tǒng)。在下面的文本中,當使用術語“不受支持”時,是指usb設備10不能被自動映射至被包括作為操作系統(tǒng)12a的一部分的像“hid”或“大容量存儲”等的驅動器。因此,操作系統(tǒng)12a不能夠自動確定和應用usb設備10需要使用的特定驅動器。

      為了說明usb設備10的上述支持和不受支持功能,圖1將usb設備示出為具有主功能14a和次級功能14b二者。主功能14a在該示例中可以由三個受支持的usb特征14a1、14a2和14a3(例如,分別為hid、大容量存儲設備和智能卡)來實現。次級功能14b具有usb大容量存儲設備14b1,并且至少具有一個不受支持的usb功能14b2。

      次級功能14b可以經由開關10a或經由軟件命令10c來選擇。例如,在使用運行在用戶正在使用的遠程計算機/終端24上的軟件(例如dsview管理軟件或經由遠程調試應用程序)時,軟件命令可能由用戶潛在地發(fā)送。

      usb設備10還包括“重置”開關10b。開關10a和開關10b可以是按鈕開關,但是應理解,可以使用其它類型的開關。對于該示例,usb設備10的主功能14a可以被認為是在usb設備被耦接至目標計算機12并由從usb端口12b接收到的電力而通電時usb設備進入的默認模式。因此,當usb設備最初耦接至目標計算機12的usb端口12b并且首次通電時,不需要驅動開關10a或開關10b中的任一個以使得usb設備10開始執(zhí)行其主功能14a。操作系統(tǒng)包括用于完全支持usb設備10的主功能14a所需的驅動器文件(即在該示例中操作的默認模式執(zhí)行主功能)。

      在其次級功能14b中,usb設備10提供不受支持的特征以執(zhí)行不同的功能。換句話說,次級功能14b不完全被支持;可以被部分支持,這意味著操作系統(tǒng)具有至少一個部分支持次級功能的驅動器,但它仍然缺少一個或更多個驅動器以完全實現次級功能。由于次級功能14b不被完全支持,因此操作系統(tǒng)不知道如何枚舉usb設備10,以使設備能夠執(zhí)行其次級功能的一個或更多個方面。

      需要驅動開關10a(或經由軟件命令10c驅動)以啟動usb設備10的次級功能14b。按壓“重置”按鈕10b執(zhí)行usb設備10的硬件重置(即硬重置)。這將重置usb設備10以執(zhí)行其主要能14a。此外,可以重置usb設備10以經由軟件重置來執(zhí)行其主功能14a。例如,可以通過從與usb設備10通信的網絡交換機、計算機或終端24提供軟件重置信號來重置usb設備10。

      該示例中的usb設備10包括:usb描述符15a,其詳細說明哪些功能由主功能14a來支持;以及第二usb描述符15b,其詳細說明哪些功能由次級功能14b來支持。當使用針對主功能15a的usb描述符通過usb20將主功能14a枚舉至操作系統(tǒng)12a時,這被認為是正常的操作,因為操作系統(tǒng)12a具有支持所枚舉的特征14a1、14a2和14a3的驅動器。當通過開關10a或軟件命令10c來選擇第二功能14b時,usb設備10使用針對次級功能15b的usb描述符通過usb線纜20上重新枚舉至操作系統(tǒng)12a。次級功能15b的usb描述符包含不受支持的usb特征14b2以及受支持的usb大容量存儲設備14b1,所述usb大容量存儲設備14b1包含支持不受支持的usb特征14b2所需的.inf文件16以及諸如版本注釋、“自述”文本文件、用戶指南等其他文件。受支持的usb大容量存儲設備14b1被首先枚舉并且連接至操作系統(tǒng)12a,以使得操作系統(tǒng)12a具有安裝/支持不受支持的usb特征14b2所需要的文件。

      參照圖2,流程圖100示出了本公開的usb設備10的軟件的操作的一個示例。在操作102處,usb設備10耦接至目標計算機12的usb端口12b以開始啟用usb設備的主功能14a操作的處理。在操作104處,usb設備10將包括設備的供應商/產品id和支持的usb特征的其存儲的usb描述15a發(fā)送至目標計算機12以實現主功能14a的操作。在操作106處,目標計算機12接收由usb設備10提供的針對主功能操作的usb描述符15a。在操作108處,操作系統(tǒng)12a自動枚舉usb設備10以使usb設備能夠執(zhí)行其主功能14a。在操作110處,usb設備10開始執(zhí)行其主要能14a。

      在操作112處,檢查usb設備10上的次級功能按鈕或開關10a是否被驅動(或者假定不使用次級功能按鈕或開關10a,檢查是否接收到軟件命令10c)。如果沒有檢測到對次級功能按鈕10a的驅動(或軟件命令10c),則重復操作110。如果次級功能按鈕10a被檢測為已經被驅動(或已經檢測到軟件命令10c),則在操作114處,usb設備10執(zhí)行熱插拔操作(即,其執(zhí)行軟件usb斷開,然后再連接到usb總線)。在操作116處,usb設備10經由.inf文件16(或腳本文件)來提供針對次級功能15b的usb描述符,其包含usb大容量存儲設備14a1和支持次級功能所需的文件。在操作118處,usb大容量存儲設備14a1在目標計算機12上顯示有.inf文件16(即,驅動器安裝文件)和/或支持usb設備10的usb次級功能14b的操作所需的任何其他文件。

      在操作120處,當操作系統(tǒng)認識到它不具有枚舉usb次級功能14b的不受支持的usb特征14b2所需要的驅動器時,它會在用戶的顯示器上呈現針對所需的.inf文件的提示。然后,用戶向操作系統(tǒng)指示存儲有inf文件16的usb設備10上的usb大容量存儲設備14b1,以安裝/設置usb設備10從而執(zhí)行次級功能14b的不受支持的usb特征14b2,并由此完成該usb設備10的枚舉。在操作122處,usb設備10開始執(zhí)行次級功能14b。

      在操作124處,檢查以確定是否檢測到軟件或硬件重置。硬件重置將經由用戶對重置開關10b的驅動進行。如果檢測到任何類型的重置,則重新執(zhí)行操作102至110。如果沒有檢測到重置,則usb設備10下的操作被配置成如操作122所指示的那樣繼續(xù)執(zhí)行次級功能14b。

      雖然,usb設備10被描述為具有主功能14a和可以被選擇啟動的次級功能14b,但還可以使用本公開的教導在一個usb設備上包括三個或更多個功能。例如,如果通過開關10a或通過軟件命令10c選擇了次級功能14b以實現本來不受支持的串行控制臺功能,則串行控制臺功能可以由用戶使用以配置第三不受支持的功能。在該示例中,用戶可以使用串行控制臺功能以向目標計算機12提供一個或更多個另外的.inf文件或驅動器,以使得能夠在目標計算機12上實現第三或“第三級”不受支持的功能。替選地,多于一個次級功能有可能由開關(或有一個或更多個軟件命令)的一些組合被啟用,通過所述開關的組合用戶能夠選擇性地啟動兩個或更多個不同的不受支持的功能中的一個不受支持的功能。在該情況下,usb大容量存儲設備14b1會加載有與每個不受支持的功能相對應的適當.inf文件。操作系統(tǒng)設置有與用戶經由特定開關(或經由一個或更多個軟件命令)選擇的特定選擇的功能(即,不受支持的功能)相對應的適當.inf文件。以這種方式,操作系統(tǒng)能夠將所需要的驅動器映射到usb設備10以提供所需的不受支持的功能。然而,應理解,唯一的限制是可以枚舉的usb裝置10內的usb端口號。在本文呈現的示例中,usb設備10包括內部的三個端口的usb集線器,其允許枚舉usb設備10的3個usb設備:usbhid(鍵盤和鼠標);usb大容量存儲設備14以及智能卡或usb次級功能。

      usb設備10及其操作方法因此形成了單個usb設備可以提供有兩個或兩個以上功能的手段,這些功能中的一個或更多個不被操作系統(tǒng)所支持。usb設備10提供的一個顯著優(yōu)點是:它能夠給操作系統(tǒng)提供所需要的.inf文件,而無需廣域網(例如因特網)連接,并且不需要將.inf文件物理地加載到自身需要物理地插入到目標計算機的usb端口的盤或單獨的usb部件(例如閃存驅動器)。本公開的usb設備10對kvm應用是特別有利的,在kvm應用中,將.inf文件加載到用戶在kvm會話期間可能訪問的每個不同的計算機會是不切實際的。

      usb設備10的另一優(yōu)點在于:它可以被提供有軟件更新和/或其次級功能可以經由軟件更新來改變,而不需要對usb設備10的任何硬件修改。以該方式,可以通過軟件來更新現有的usb設備10以根據用戶的需求變化來執(zhí)行不同的次級功能。

      將進一步參照圖1和圖3,描述usb設備10的一個具體實現,其中,usb設備操作為kvm(鍵盤/視頻/鼠標)設備,并且更具體地操作為數字機架接口盒(“drip”),其提供kvm設備功能,以實現遠程計算機/終端24和計算機12之間的kvm會話。因此,在本示例中應理解,用作kvm設備的usb裝置10,將來自遠程計算機/終端24的鍵盤和鼠標信號傳送至計算機12(例如作為網絡上的以太網數據包),并且將來自計算機12的視頻作為模擬信號傳送回遠程計算機/終端24。

      然而,當用作kvm設備時,由于usb設備10不具有專用串行端口(例如rs-232端口),因此usb設備10通常不能夠提供串行控制臺能力。在kvm應用中,通常需要串行控制臺以使得用戶能夠執(zhí)行初始調試(例如設置ip地址、升級等)以及發(fā)出kvm設備的出廠默認恢復。因此,如果出現用戶無法訪問usb設備10的情況,則用戶通常會需要串行控制臺以提供執(zhí)行重置usb設備10以及重新建立kvm會話所需的各種操作的必要命令。本公開通過使usb裝置10能夠被配置有作為次級功能14b的串行控制臺功能來克服顯著的限制。

      具體參照圖3,流程圖200示出了可以被執(zhí)行以提供usb設備10的串行端口功能的各個操作。應當理解的是,如操作202處所指示的,在該示例中usb設備10操作為具有串行控制臺能力的獨立drip(即,“sdrip”),并且被插入運行microsoft操作系統(tǒng)的計算機或終端的usb端口。串行控制臺能力使usb設備10能夠被設置成用作虛擬串行端口設備,該usb虛擬串行端口設備是不受操作系統(tǒng)支持的usb功能/設備。

      在操作204處,用戶驅動次級功能開關10a(或替選地發(fā)送軟件命令),這在該示例中可以被標記或理解為提供“串行控制臺”功能。如果使用物理開關,則用戶優(yōu)選驅動開關10a(或推動或滑動或切換,這取決于所采用的具體開關)至少約1秒但優(yōu)選小于約5秒。驅動開關10a持續(xù)該間隔,通知被命令的usb設備10進入操作的串行控制臺模式。作為響應,在操作205處,usb大容量存儲設備14a1被枚舉和安裝。在操作206處,向用戶呈現usb大容量存儲設備14a1,usb大容量存儲設備14a1包含sdrip.inf和readme.txt文件.在操作207處,usb虛擬串行端口設備被枚舉,然后操作系統(tǒng)請求用戶指定要使用的驅動器。在操作208處,檢查以確定用戶訪問控制是否被限制。如果確定用戶訪問控制未被限制,則在操作210處,用戶選擇sdrip.inf文件作為用于usb設備10的設備驅動器安裝文件。然后,usb虛擬串行端口設備正確安裝。在該示例中,應理解,該usb虛擬串行端口設備被枚舉為usbcdc類設備,并且更具體地被枚舉為cdcacm類設備。

      在操作212,用戶現在可以通過使用運行作為usb虛擬串行端口的usb裝置10連同適當的單獨串行控制臺軟件(例如開源putty終端模擬器)打開串行控制臺。

      如果檢查在操作208處確定用戶訪問控制被限制,則在操作214處初始安裝失敗。在該情況下,操作系統(tǒng)關注windows更新而不看sdrip.inf文件。然后,用戶可以如在操作216處所指示的,在他/她的計算機上打開設備管理器。在操作218處,用戶可以選擇cdc設備并且選擇“更新驅動器軟件”。此時,可以執(zhí)行操作210。

      雖然描述了各種實施方式,本領域的技術人員將認識到可以在不背離本公開的情況下作出修改或變型。本示例示出了各種實施方式,并且不旨在限制本公開。因此,說明書和權利要求應該進行寬泛的理解,只存在鑒于相關現有技術而必要的那些限制。

      當前第1頁1 2 
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1