2019年10月28日 星期一

Hinet 網頁系列 --- USB DIY 系列(十三)---USB DIY 講座 (十一) 驅動程式

(補充說明:這篇文章坦白講沒啥技術含量,這些東西以現在 Google 強大的搜尋能力來說:

應該也輪不到我來寫吧。只是當初好玩,自己有興趣研究實驗一下,就把它紀錄下來了。

我記得這些方法或是這樣子思維,是我以前當出社會上班時,是幫單位管理"電腦工作站",

那時國內有這一種UNIX 作業系統的工作站,外面的技術資源都不足,就得要常常仰賴

原廠的技術支援工程師,而說實在的,他們也沒有比較厲害,但他們都學會一招就是類似的

摸索能力,常常在系統中,利用一些小技巧來Trace 這些東西,當初耳濡目染之下,也多多

少少的被訓練出這樣子的手感。後來發現也都蠻受用的~我想他們可能也是被國外原廠的



工程師們所訓練出來的這一種敢動手去摸索與實驗的精神吧。只是我們國內從小的教育常常被

要求考試作題寫答案,就是要一次到位的 100 分答案,反而抑制了學生摸索與實驗的基本精神

吧,所以我們也常常會聽到一些網友所提出的問題,往往就是要你"精準"的答案,而非是一個

提供摸索實驗的過程吧。或許,你有小孩子,而且還在初等教育階段,真的別忘了,除了給她

一百分的答案外,也不妨多鼓勵他們摸索與實驗,越有犯錯的機會,其實是越有學習成長的

空間的~當然啊~你會問我說:那幹嘛還給他一百分的答案?因為許多教育制度你是一時改變

不了的,與其抱怨或咒罵外,還真的不如多花一點心思陪小孩學習成長吧。)

>>>>+++++++++++++++++++++++++
好久沒寫USB 的東西呢! 人家還以為我已經腸思枯竭了。哈~哈~作這種東西哪會啊。

只有您自己要停下來,或是只想想交交作業或領份薪水而已。那當然慢慢如不進的水庫

一般。寫USB 是交交朋友,當然也有人請我去上課。不過,筆者可不是專業作家,

也不一天到晚在家給老婆看臉色的米蟲。當然,重點是:上上課賺那講師費,相對於

作產品來說:還是屬於微薄收入(如果您是學校老師的話,那就另當別論了)。

還有就是:筆者不擅言詞,也戒慎恐懼,長年在業界第一線工作,看了許多工程師,

深怕誤人子弟。那就更罪孽深重了。
        
標題是驅動程式,那我要寫什麼?!當然還是比較實務的東西啊。這篇文章本來是想

收集多一點再寫,不過,先寫Window XP 部分,其他的部分再以補充的方式加註。

如果您是用標準作業系統所附的驅動程式的話,也這沒有這種樂趣了,您也可以不用

研究我這一篇了。
       
現在您在玩USB 的東西,人家都會跟您說:先安裝驅動程式,再插入裝置。當然,

不懂USB的人,也有可能直接拿著USB 裝置就往PC上插。您就會看到這個畫面了:


這個大家都知道,那筆者要寫什麼呢?!那如果拔掉後再差一次呢?(當然,您有可能

已經安裝過驅動程式了)當然,就不會出現這個畫面了。您知道為什麼嗎?!

        現在的安裝軟體,大多都可以幫客戶作到自動安裝與卸載驅動程式的功能(當然,

這又是另一個議題,筆者哪會腸思枯竭呢?也要不要教教大家寫安裝光碟程式啊?

所以,要筆者寫一個完完整整USB裝置的產品,包括安裝光碟,絕對來這個網站准沒錯!

,但是,當我想用手動的方式卸載的話,怎麼辦?!因為,在發展過程中,有可能都

還在測試驅動程式,那我該如何手動卸載驅動程式呢?!
        
首先,我們必須知道,一般USB的驅動程式是安裝到哪一個目錄下:(筆者再一次強調:

這裡寫的是Window XP 作業系統,若是別的像 Window98SE 或Win2000 的話,我再另外

補充!!)首先一般USB的驅動程式有哪些:就是一個  *.inf 及 *.sys 檔案 !他們是

安裝到哪?!以 INF 檔來說:就是安裝到 作業系統目錄下的 INF 目錄

(如 C:\Windows\inf\ ,注意:這個目錄可能是隱藏的!);而 SYS 檔呢?就是一樣是

作業系統目錄下的  C:\windows\system32\driver\ 下。不過, Windows XP 可能會把您的INF

改個名字:oemxx.inf 再加一個 oemxx.pnf !您只要打開這個檔案看一下就知道。所以,

要手動卸載USB 驅動程式的話,就可以把這三個檔拿掉!(oemxx.inf, oemxx.pnf 及 *.sys )

 然後就沒事了嗎?!還沒有!!哪來這麼簡單?您看過筆者寫東西,有這麼簡單的嗎?!

哈~哈~

        當您拿掉上述的檔案後,當您把USB裝置在插入PC時,還是不會出現上述畫面!!

就是代表您清得不夠乾淨!!那要怎麼拿比較乾淨呢?!

        首先:在作業系統的左下角『開始』下『執行』:"regedit"


您就可以看到以下的畫面:


找一下有沒有我上圖中的東西?!您一定會好奇?為什麼有兩個 ControlSet00x 呢?

因為一般PC會提供四個  USB port ,但是他是用兩組作出來的,所以,當您安裝USB裝置

與驅動程式後,不小心插到不同 USB port 時,作業系統有時還會再問您一次驅動程式

就是這樣子啦。

        再往下找:
新增說明文字
找到這裡,您應該就可以找到您想找的東西了吧:USB 的 PID 與 VID !!您當然也可以

點進去看:


您就可以看到您INF 的所描述的內容了。他的內容,您有興趣的,盡可好好去研究一番。

所以,當我們要很乾淨的移除USB的驅動程式時,就得把  ControlSet00 及 ControlSet01 中,

關於我們USB的資訊也要一併移除。如下圖:




注意喔:當您可能要移除時,會發生權限的問題!此時,您要去『使用權限』那,

先變更一下權限,您就可以勇敢的移除您USB的裝置了。

            當您移除完上述的動作時,再把您的USB裝置插到PC的  USB Port 時,您的PC算是又宛如

與您USB裝置初次見面一般羞澀!哈~哈~簡單吧!

-------------------------------------------------------------------------------------------------------------------------------
            這個東西,筆者從 window 98SE 就開始這樣子玩了,您不太擔心會有什麼後遺症。

而這些內容包您再一次見識到在別的USB相關書籍中不會教您的!好玩吧!您自己可以

試試看。玩一兩次之後,除了莞爾一笑之後~也別忘了來網站留個感謝函!謝謝指教一下!

哈~哈~

            至於, Window 98SE 或 win2000 的,倒可以自己先去研究一下。我也是在 window XP 

自己玩出來的。

            謝謝!

沒有留言:

張貼留言