通用串行總線設備的驅動程序升級方法及裝置的製作方法
2023-05-19 23:58:01 1
專利名稱:通用串行總線設備的驅動程序升級方法及裝置的製作方法
技術領域:
本發明屬於電數字數據處理技術領域,尤其涉及一種Windows Vista系統(微軟開發的新一代面向個人用戶的作業系統)中通用串行總線(UniversalSerial Bus, USB)設備的驅動程序升級方法及裝置。
背景技術:
一般來說,重新換硬體設備的花費無疑是巨大的,因此,升級硬體設備的驅動程序就顯得非常必要,很多廠商都在硬體設備出廠之後提供最新的驅動程序供下載。
目前常用的USB設備的驅動程序升級方法為首先禁用USB設備的舊驅動程序,然後卸載該USB設備的舊驅動程序,最後安裝該USB設備的新驅動程序。然而對於安裝有Windows Vista系統的主機來說,若長時間不使用USB設備,為了節省電能,Windows Vista系統會自動將該USB設備設置為休眠狀態,此時若需要對該USB設備的驅動程序進行升級,同樣也要在主機中禁用該USB設備的驅動程序,但由於該USB設備已進行了休眠狀態,此時若禁用該USB設備的驅動程序,會讓該USB設備進入假死狀態,即無法響應正常的驅動程序卸載命令。
在實現本發明的過程中,發現現有技術存在至少以下問題在對USBi殳備的驅動程序進行升級時,會因為禁用已休眠USB設備的驅動程序,而造成無法喚醒休眠中的USB設備,導致無法響應正常的驅動程序卸載命令的問題。從而會影響用戶對USB設備的正常使用。
發明內容
為了解決上述問題,本發明的目的是提供一種通用串行總線設備的驅動程序升級方法及裝置,解決了當需要對USB設備的驅動程序升級時,因該USB設備休眠而無法喚醒,從而影響用戶對USB設備的正常4吏用。
為了達到上述目的,本發明提供一種通用串行總線設備的驅動程序升級方
法,包括
按照預定的時間間隔,將命令消息發送至驅動程序待升級的通用串行總線
設備,使得所述通用串行總線設備的工作模式為非休眠模式;
在所述非休眠模式下,對所述通用串行總線設備的驅動程序進行升級處理。
優選的,所述對所述通用串行總線設備的驅動程序進行升級處理的步驟包
括
發送驅動程序禁用命令,禁用所述通用串行總線設備的低版本驅動程序;發送驅動程序卸載命令,卸載所述通用串行總線設備的低版本驅動程序;安裝所述通用串行總線設備的新版本驅動程序。
優選的,在對所述通用串行總線設備的驅動程序進行升級處理的步驟之後,所述方法還包括
所述通用串行總線設備重新啟動,在所述通用總線設備重啟後加載所述新版本驅動程序。
優選的,所述命令消息為通用串行總線設備的寄存器讀寫命令。優選的,所述通用串行總線設備為通用串行總線視頻類設備。本發明還提供一種通用串行總線設備的驅動程序升級裝置,包括命令發送模塊,用於按照預定的時間間隔,將命令消息發送至驅動程序待
升級的通用串行總線設備,使得所述通用串行總線設備的工作模式為非休眠模
式;
驅動程序升級模塊,用於在所述非休眠模式下,對所述通用串行總線設備的驅動程序進行升級處理。
優選的,所述驅動程序升級模塊包括
禁用程序單元,用於發送驅動程序禁用命令,禁用所述通用串行總線設備的低版本驅動程序;
刪除程序單元,用於發送驅動程序卸載命令,卸載所述通用串行總線設備的低版本驅動程序;
5安裝程序單元,用於安裝所述通用串行總線設備的新版本驅動程序。
優選的,所述驅動程序升級裝置還包括
驅動程序加載pf莫塊,用於在所述通用總線設備重啟後,加載所述新版本驅
動程序。
優選的,所述命令消息為通用串行總線設備的寄存器讀寫命令。優選的,所述通用串行總線設備為通用串行總線視頻類設備。
上述技術方案中的至少一個技術方案具有如下有益效果通過按照預定的時間間隔,將命令消息發送至驅動程序待升級的USB設備中,可有效防止該USB設備進入休眠模式,使得用戶在不用重啟Windows Vista系統或者手動插拔USB設備的情況下,能夠的正常的完成對該USB設備驅動程序的升級。
圖1為本發明中驅動程序升級方法的流程圖;圖2為本發明中驅動程序升級裝置的結構框圖。
具體實施例方式
在本實施例中,通過按照預定的時間間隔,將命令消息發送至驅動程序待升級的USB設備中,可有效防止該USB設備進入休眠模式,避免了在對已休眠的USB設備的驅動程序禁用處理後,導致該USB設備無法喚醒的問題,使得用戶在不用重啟Windows Vista系統或者手動插拔USB設備的情況下,就能夠正常的完成USB設備的驅動程序升級。
為了使本發明實施例的目的、技術方案和優點更加清楚明白,下面結合實施例和附圖,對本發明實施例做進一步詳細地說明。在此,本發明的示意性實施例及說明用於解釋本發明,但並不作為對本發明的限定。如圖l所示,為本發明中驅動程序升級方法的流程圖,具體步驟如下
步驟IOI、按照預定的時間間隔,將命令消息發送至驅動程序待升級的通用串行總線設備,使得通用串行總線設備的工作模式為非休眠模式;
在本實施例中,USB設備可選用UVC ( USB Video Class, USB視頻類)設備、USB音頻類設備、或者USB輸入輸出設備中的任意一種。為了便於理解,下面僅以UVC設備為例進行說明本實施例的方法流程,且該UVC設備
與安裝有Windows Vista系統的PC (個人電腦)主機連4妻。
本步驟中可通過現有的硬體檢測技術查找出驅動程序待升級的UVC設備,當找到驅動程序需要升級的UVC設備後,就按照預定的時間間隔(例如間隔2秒鐘),向該驅動程序需要升級的UVC設備發送命令消息。通過間隔的發送命令消息,可有效防止驅動程序待升級的UVC設備進入休眠模式。該命令消息可以是UVC設備的寄存器讀寫命令,也就是對UVC設備的寄存器進行讀寫操作,也可是Vender Command ( USB用戶定義命令),在本實施例中並不限定命令消息的具體形式。
從而可根據接收到的命令消息,將由於在對UVC設備的寄存器進行讀寫操作時,UVC設備的驅動程序需要創建Filter (過濾器),而Windows Vista系統通常是根據Filter是否被創建來判斷UVC設備是否被佔用,當創建有Filter時,UVC設備的工作模式可設置為非休眠模式(即UVC設備不會選擇進入休眠模式)。
在本實施例中,該非休眠模式包括工作模式和待機模式。 一般為了節省PC主機的電能,在本步驟中,可將UVC設備的工作模式設置為待機模式。步驟102、在非休眠模式下,對通用串行總線設備的驅動程序進行升級處理。
在本步驟中,由於uvc.設備並未進入休眠模式,因此可採用現有的驅動
程序更新方式來完成UVC設備驅動程序的升級處理,包括如下步驟
步驟1021、向PC主機發送驅動程序禁用命令,禁用UVC設備的低版本驅動程序;
也就是,通過PC主機的輸入設備,向PC主機的中央處理器發送驅動程序禁用命令,禁用該UVC設備的低版本驅動程序;
步驟1022、向PC主機發送驅動程序卸載命令,卸載UVC設備的j氐版本驅動程序;
也就是,通過PC主機的輸入設備,向PC主機的中央處理器發送驅動程序卸載命令,卸載該UVC設備的驅動程序;
步驟1023、安裝該UVC設備的新版本驅動程序。
7也就是,在PC主機中安裝該UVC設備的新版本驅動程序。步驟103、通用串行總線設備重新啟動,並在通用總線設備重啟後加載新版本驅動程序。
在執行完步驟102後,可以通過一計時器來判斷是否需要執行步驟103,例如在執行完步驟102後,該計時器開始計時,當達到預先設定的時間間隔後,UVC設備自動進行重新啟動,在完成重新啟動後,再加載更新後的新版本驅動程序。當然該UVC設備也可通過接收重啟命令來完成重新啟動的操作,例如在UVC設備接收到重啟命令後,該重啟命令觸發UVC i殳備重新啟動,在完成重新啟動後,再加載更新後的新版本驅動程序。由於只需要UVC設備執行重新啟動,簡化了升級驅動程序的步驟,同時也節省了升級驅動程序所花費的時間。
由上述技術方案可知,通過按照預定的時間間隔,將命令消息發送至驅動程序待升級的USB設備中,可有效防止該USB設備進入休眠模式,使得用戶在不用重啟Windows Vista系統或者手動插拔USB設備的情況下,能夠的正常的完成對該USB設備驅動程序的升級。
為了實現上述的方法實施例,本發明的其他實施例還提供了 一種通用串行總線設備的驅動程序升級裝置。另需首先說明的是,由於下述的實施例是為實現前述的方法實施例,故該裝置中的模塊都是為了實現前述方法的各步驟而設,但本發明並不限於下述的實施例,任何可實現上述方法的裝置和模塊都應包含於本發明的保護範圍。並且在下面的描述中,與前述方法相同的內容在此省略,以節約篇幅。
參見圖2,為本發明中驅動程序升級裝置的結構框圖,由圖中可知,該驅動程序升級裝置包括
命令發送模塊21,用於按照預定的時間間隔,將命令消息發送至驅動程序待升級的通用串行總線設備,使得通用串行總線設備的工作模式為非休眠模
式;
該命令消息可以是寄存器讀寫命令,也就是對uvc設備的寄存器進行讀寫操作。在本實施例中並不限定命令消息的具體形式。由於在對uvc設備的
寄存器進行讀寫操作時,UVC設備的驅動程序需要創建Filter (過濾器),而Windows Vista系統通常是根據Filter是否被創建來判斷UVC設備是否被佔用,當創建有Filter時,UVC設備的工作模式可設置為非休眠模式(即UVC設備不會選擇進入休眠模式)。
驅動程序升級模塊22,用於在非休眠模式下,對所述通用串行總線設備的驅動程序進行升級處理。
在本實施例中,該驅動程序升級模塊22可包括
禁用程序單元,用於發送驅動程序禁用命令,禁用所述通用串行總線設備的低版本驅動程序;
刪除程序單元,用於發送驅動程序卸載命令,卸載所述通用串行總線設備的低版本驅動程序;
安裝程序單元,用於安裝所述通用串行總線設備的新版本驅動程序。
在本發明的另一實施例中,該驅動程序升級裝置還包括驅動程序加載模塊23,用於在通用總線設備重啟後,加載所述新版本驅動程序。
由於只需要UVC設備執行重新啟動,簡化了升級驅動程序的步驟,同時也節省了升級驅動程序所花費的時間。
以上所述僅是本發明的優選實施方式,應當指出,對於本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以作出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護範圍。
9
權利要求
1.一種通用串行總線設備的驅動程序升級方法,其特徵在於,包括按照預定的時間間隔,將命令消息發送至驅動程序待升級的通用串行總線設備,使得所述通用串行總線設備的工作模式為非休眠模式;在所述非休眠模式下,對所述通用串行總線設備的驅動程序進行升級處理。
2. 根據權利要求1所述的驅動程序升級方法,其特徵在於,所述對所述 通用串行總線設備的驅動程序進行升級處理的步驟包括發送驅動程序禁用命令,禁用所述通用串行總線設備的低版本驅動程序; 發送驅動程序卸載命令,卸載所述通用串行總線設備的低版本驅動程序; 安裝所述通用串行總線設備的新版本驅動程序。
3. 根據權利要求2所述的驅動程序升級方法,其特徵在於,在對所述通 用串行總線設備的驅動程序進行升級處理的步驟之後,所述方法還包括'.所述通用串行總線設備重新啟動,在所述通用總線設備重啟後加載所述新 版本驅動程序。
4. 根據權利要求1所述的驅動程序升級方法,其特徵在於,所述命令消 息為通用串行總線設備的寄存器讀寫命令。
5. 根據權利要求4所述的驅動程序升級方法,其特徵在於,所述通用串 行總線設備為通用串行總線視頻類設備。
6. —種通用串行總線設備的驅動程序升級裝置,其特徵在於,包括 命令發送模塊,用於按照預定的時間間隔,將命令消息發送至驅動程序待升級的通用串行總線設備,使得所述通用串行總線設備的工作模式為非休眠模式;驅動程序升級模塊,用於在所述非休眠模式下,對所述通用串行總線設備 的驅動程序進行升級處理。
7. 根據權利要求6所述的驅動程序升級裝置,其特徵在於,所述驅動程 序升級模塊包括禁用程序單元,用於發送驅動程序禁用命令,禁用所述通用串行總線設備的低版本驅動程序;刪除程序單元,用於發送驅動程序卸載命令,卸載所述通用串行總線設備 的低版本驅動程序;安裝程序單元,用於安裝所述通用串行總線設備的新版本驅動程序。
8. 根據權利要求7所述的驅動程序升級裝置,其特徵在於,所述驅動程 序升級裝置還包括驅動程序加載模塊,用於在所述通用總線設備重啟後,加載所述新版本驅 動程序。
9. 根據權利要求6所述的驅動程序升級裝置,其特徵在於,所述命令消 息為通用串行總線設備的寄存器讀寫命令。
10. 根據權利要求6所述的驅動程序升級裝置,其特徵在於,所述通用串 行總線設備為通用串行總線視頻類設備。
全文摘要
本發明提供通用串行總線設備的驅動程序升級方法及裝置,屬於電數字數據處理技術領域,驅動程序升級方法包括按照預定的時間間隔,將命令消息發送至驅動程序待升級的USB設備,使得USB設備的工作模式為非休眠模式;在非休眠模式下,對USB設備的驅動程序進行升級處理。可有效防止該USB設備進入休眠模式,從而使得用戶在不用重啟Windows Vista系統或者手動插拔USB設備的情況下,正常的完成對該USB設備驅動程序的升級。
文檔編號G06F9/445GK101673213SQ200910235779
公開日2010年3月17日 申請日期2009年10月15日 優先權日2009年10月15日
發明者巍 唐 申請人:北京中星微電子有限公司