網卡驅動程序范文
時間:2023-03-21 13:46:25
導語:如何才能寫好一篇網卡驅動程序,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。
篇1
windows nt是一個功能全面的操作系統,具有完全集成式的連網能力,它的網絡模型開始于mac子層,網絡接口卡(network interface card以后簡稱網卡或nic)驅動程序駐留在其中。通過相關的網卡把windows nt與網絡連接起來,但一直到80年代后期,許多傳輸協議的實現受限于mac層接口的獨特實現,因為mac層定義了協議與網卡之間的轉換機制。
1989年,microsoft和3com兩公司提出了一個定義mac層與osi模型高層協議驅動程序之間的網絡設備接口規范(network device interface specification : ndis),ndis給數據交換提出了一個靈活的環境,它規范了軟件接口──稱為ndis接口,傳輸協議可用它與網卡驅動程序進行通信。因此在windows nt環境下開發核心態網卡驅動程序應遵循ndis規范。
對于高速網絡fddi(fiber distributed data interface)網卡驅動程序還需要smt(station management)站管理功能的實現,否則將不能作為一個fddi站連入環結構中,只能實現點到點間的數據通信。故有必要將smt軟件移植到網卡驅動程序中,這將又導致對miniport nic驅動程序編程框架的破壞,于是有必要形成fddi網卡驅動程序(包含smt)與windows nt操作系統的良好接口──由邏輯網卡的注冊和mac層驅動程序的初始化來完成。
所以,本課題旨在深入研究應用microsoft公司的ddk(device driver kit)將smt移植于windows nt的fddi網卡驅動程序過程中如何注冊miniport nic驅動程序。即怎樣正確注冊邏輯網卡和mac驅動程序的初始化。著重討論與初始化相關的上邊緣函數的使用和調用關系以及初始化過程中遇到的各種問題的具體解決。
第一章windows nt環境下fddi網卡驅動程序
總體結構介紹
第一節windows nt網絡結構
§1.1.1 windows nt網絡體系結構
windows nt的網絡體系結構是基于國際標準化(iso)制定的標準模型──開放式系統互連(open system interconnection:osi)參考模型分層建立的,這種方式有利于隨時擴展其它功能和服務。
windows nt網絡模型開始于mac子層,網卡驅動程序就駐留在其中。它通過相關的網卡把windows nt與網絡連接起來,圖中的多個網卡表明在一臺運行windows nt的計算機上能使用多種網卡。
這一網絡體系結構包括兩個重要接口──ndis接口與傳輸驅動
程序接口(tdi)。這兩個接口把兩個層隔離開來,辦法是相鄰的部件只允許按單一的標準來寫,不允許多重標準。例如一個網卡驅動程序(在ndis接口的下面)就不需要特地按每個傳輸協議來寫它的代碼塊,恰恰相反,該驅動程序是寫給ndis接口的,它通過符合ndis的相應傳輸協議來請求服務。這些接口包含在windows nt的網絡體系結構中,以容納可移植、可互換的模塊。
在兩個接口之間,是傳輸協議。它在網絡中起著組織者的作用。一個傳輸協議規定了數據以何種方式呈遞給下一個接收層,以及如何對數據相應地進行打包。它通過ndis把數據傳給網卡驅動程序,并通過tdi把數據傳給轉發程序(redirector)
tdi之上是轉發程序,它把本地的網絡資源申請轉送給網絡。
為了能和其他廠商的網絡互連,windows nt允許有多個轉發程序。對于每一個轉發程序windows nt計算機必須也有一個相應的供應者(provider)(由網絡廠商提供)。多供應者路由選擇程序決定適當的供應者,然后借助于供應者,對應用請求到相應的轉發程序做出選擇。
§1.1.2 windows nt網絡驅動程序
windows nt支持兩種類型的網絡驅動程序
傳輸驅動程序
實現數據鏈路層中的邏輯鏈路控制子層協議和傳輸層協議。向 下與ndis接口,向上與tdi接口。
網卡驅動程序
實現對物理層的管理和數據鏈路層中介質訪問控制子層協議,通過ndis向下管理物理網卡,向上與傳輸驅動程序通信。
§1.1.3 windows nt網卡驅動程序
windows nt環境下的網卡驅動程序也分為兩種:
miniport網卡驅動程序:miniport驅動程序只須實現與網絡硬件相關的操作(包括發送和接收)。而所有底層網卡驅動程序的通用操作(如同步),一般由ndis接口程序來實現。
full網卡驅動程序:full網卡驅動程序必須實現所有硬件相關和同步、排隊等操作。例如full網卡驅動程序為了響應數據接收,需要保持本身的捆綁信息,而miniport就可以由ndis接口庫來實現。
在windows nt的早期版本中,full網卡驅動程序要求開發者實現許多底層操作,來處理多處理器的核心問題以及處理器、線程的同步,這樣不同的開發者在大量重復著許多相同的工作。
而miniport網卡驅動程序允許開發者僅僅寫一些與網絡硬件相關的代碼即可,而那些通用的函數由ndis接口庫來實現,這樣開發出來的驅動程序減少了不必要的工作。
第二節miniport驅動程序的結構
ndis接口規范了網卡驅動程序的實現,同時也對tdi驅動程序的實現提出了一定的要求,在nt中,ndis約束下的網卡驅動程序、tdi驅動程序和系統的關系如下圖所示:
圖2.0 ndis約束下的網卡驅動程序、tdi驅動程序和系統的關系
miniport驅動程序包括驅動程序對象、驅動程序源代碼和ndis接口庫代碼。windows nt ddk提供ndis.h作為miniport驅動程序的主要頭文件,定義了miniport驅動程序的入口點、ndis接口庫函數和通用數據結構。
上邊緣函數的作用是網卡驅動與ndis接口庫進行通信,而下邊緣函數是tdi協議驅動程序與ndis通信的手段。
§1.2.1 miniport網卡對象
ndis用一個叫做邏輯網卡的軟件對象來描述系統中的每塊網卡,而邏輯網卡與windows nt設備對象的通信由i/o子系統來管理,描述網卡的設備對象包括相關的網絡信息如名字、網絡地址和網卡內存基地址等,它還包含與硬件相關的驅動程序狀態數據(捆綁數目,捆綁句柄,包過濾數據庫等)。ndis分配一個句柄到miniportinitialize這個上邊緣函數的一個結構中,然后miniport網卡驅動程序將在以后提供這個句柄來給ndis調用,這個結構一直被ndis保持,并且對miniport驅動程序不透明。
當miniport網卡驅動程序初始化一塊網卡時,它創立自己的內部數據結構來描述網卡,記錄需要它管理的與設備相關的狀態信息。當miniport網卡驅動程序調用ndismsetatttibutes或ndismsetattributesex兩ndis庫函數時,它傳遞一個句柄給這數據結構。這樣,當調用miniport驅動程序入口點時,它就傳遞這個句柄來驗證驅動程序所對應的網卡的正確性。這個數據結構為miniport網卡驅動程序所擁有并維護。
§1.2.2網絡對象標識符
miniport nic驅動程序還需要維護一組對象,這些對象是系統定義的對象標識符(object idetifier:oid)來標識,以描述驅動程序的性能和當前狀態信息。為查詢這些信息,上層驅動程序調用ndisrequest向ndis接口庫指示oid。oid表示了調用所需的信息類型,如miniport驅動程序所支持的lookahead緩沖區大小等。ndis接到上層驅動程序的查詢請求,將oid傳遞給上邊緣函數miniportqueryinformation實現對oid的查詢,如果上層驅動程序請求改變狀態信息則調用miniportsetinformation實現對oid的設置。
§1.2.3 miniport網卡驅動程序代碼
典型的miniport nic驅動程序必須有一些函數來通過ndis接口實現上層驅動程序與硬件的通信。這些函數稱為上邊緣服務函數。
這些上邊緣服務函數由驅動程序的開發者根據驅動程序面向的特定低層網絡類型和硬件以及相應環境,可以有選擇地實現,但必須保證驅動程序最基本的功能,這些基本功能包括初始化、發送、中斷處理、重置、參數查詢與設置和報文接收。
miniportinitialize:操作系統根據系統配置信息,檢測出網卡已安裝時,由ndis接口在初始化時調用,主要完成低層網絡類型確定,對應于物理網卡的邏輯網卡初始化,中斷信息注冊,網卡與主機通訊方式的確認。i/o端口的申請與注冊,內存映像,mib的初始化,物理網卡的驗證與初始化等。
miniportreconfigure:支持網卡參數動態變化,和miniportinitilize一樣由ndis接口以初始化級別調度執行(不能屏蔽中斷,必須由驅動程序承認并清除在此期間產生的中斷),支持即插即用和軟配置的網卡在動態改變參數時,必須提供此函數。
miniportqueryinformation:查詢網卡的狀態以及網卡驅動程序的操作或統計參數,如是否支持組通訊、網卡的物理速率是否支持回環、是否支持直接拷貝等,這些參數以oid方式統一管理。
miniportsetinformation:ndis接口或協議驅動程序通過調用此接口改變驅動程序維護的oid庫,一些操作參數的改變也將同時改變驅動程序狀態,例如組地址的設置。
miniportreset:包括網卡硬件重置和驅動程序軟件重置,軟件重置包括驅動程序狀態重置,以及一些相關的參數重置,還需考慮有些參數的恢復,重置時不必完成所有正在活躍的外部請求,但必須釋放已占用的外部資源。
miniporthalt:掛起網卡并釋放該網卡驅動程序占用的所有資源,在此期間不屏蔽中斷。
miniportisr:高優先級的中斷處理程序,進行的工作包括初始中斷處理類型,決定是否進行中斷轉交,對卡上中斷進行處理 等,該服務類型只在以下情況被調用:
ndis接口調用miniportinitialize和miniporthalt兩函數時。
.中斷處理類型設為每此中斷處理過程都調用時。
為使系統能及時響應所有硬件中斷,高優先級的硬件中斷處理程序應盡可能的減少運行時間,防止長時間的屏蔽低優先級中斷,避免造程中斷丟失。
miniporthandleinterrupt:由中斷延時處理程序在中斷延時處理時進行調用。ndis排隊所有的延時處理,該服務主要處理發送完成、報文接收、描述符用盡、溢出、網卡異常等中斷。
miniportsend:ndis收到上層發送請求時經過若干協議處理再向下調用此服務過程,發送的packet已含有llc和mac頭,該服務過程進行邊界對齊、packet約束重整、描述符映射和報文發送、以及發送資源和packet緩沖隊列管理。
miniporttransferdata:多個已和網卡捆綁的協議驅動程序在接收到報文到達指示后,向網卡驅動程序發出傳送請求以拷貝各自所需的報文數據部分,網卡驅動程序根據各協議驅動程序對單個packet是否進行多次拷貝,以決定是否暫存只允許單次拷貝的packet等。
miniportcheckhandle:ndis每秒調用此服務函數一次,驅動程序發現網卡異常時報告給ndis由ndis調用miniportreset進行硬件重恢復。
miniportenableintrrupt:中斷使能。
miniportdisableinterrupt:中斷屏蔽。
另外,每個網卡驅動程序必須有一個初始化入口點,由driver entry函數實現,它和系統相關,由操作系統在裝入驅動程序時調用,主要完成初始化ndis wrapper,再由wrapper初始生成驅動程序管理塊并完成相應各種初始化工作,登錄網卡驅動程序所有上邊緣服務入口點,同時寫入ndis版本信息。
§1.2.4 ndis接口庫
ndis接口庫包括在ndis.sys中,它是一個核態函數庫,有一套抽象的函數,無論協議驅動程序還是nic驅動程序都連接到這個庫中,以實現上下層之間的操作。
第二章fddi網卡驅動程序的加載和運行
第一節 網卡驅動程序的安裝
windows nt網卡驅動程序安裝的目的是實現網卡相應硬件信息和驅動程序在windows nt注冊庫中的注冊,使windows nt能夠正確識別網卡,了解所必需的軟硬件信息并能在windows nt啟動時加載相應驅動程序。
網卡驅動程序安裝時,首先在主群組的控制面板中選擇“網絡”,然后添加網卡,指定相應信息文件──oemsetup.inf的路徑,以完成以下兩個必要的操作:
復制驅動程序到相應的系統目錄(windows nt根目錄\system32\drivers\)中;
在windows nt注冊庫中存入相應軟硬件信息。
下面主要以fddi網卡為例介紹安裝驅動程序所必需的工作:
§2.1.1網卡一般硬件參數
對于fddi網卡,必須在編寫其oemsetup.inf文件時確定以下硬件參數:
總線類型:pci(5)……括號中的數字5表示pci總線在ndis中的總線類型代碼;
廠商代號:0x5588……系統加載時確定網卡的標記,也是編程時確定pci槽號的標識;
cfid: 0x01;
介質類型:光纖(3) ……括號中的數字表示光纖在ndis中的介質類型代碼;
是否支持全雙工:支持。
對于其它的硬件信息在此inf配置信息文件中可有可無,如若配置,則可在驅動程序的編寫時利用這些信息,方便編程,同時有利于其它應用對其參數的確定和使用。
§2.1.2 fddi網卡加載時需在注冊庫登錄表里做的網絡配置
網卡驅動程序的安裝通常將創建登錄表中的四個不同子鍵:
software registrion鍵,對應于驅動程序,存在于hkey_local_machine\software\company\ productname\version中。我們的fddi網卡驅動程序所對應的是hkey_local_machine\software\net612\yhfddi\yhfddi1.0;
網卡的軟件登錄鍵,存在于hkey_local_machine\software\microsoft\ windows nt\nt3.51\networkcards\yhfddi1;
驅動程序的服務登錄鍵,存在于hkey_local_machine\system\currentcontrolset\services
網卡的服務登錄鍵,存在于hkey_local_machine\system\currentcontrolset\services
對于每一個網絡部件,一個名為netrules的特殊子鍵在鄰近的驅動程序或網卡登錄子鍵里創建,netrules標識網絡部件為網絡整體的一部分。
fddi網卡驅動程序對應的標準軟件登錄表項將出現在以下路徑:
hkey_local_machine\software\net612\yhfddi\yhfddi1.0;
驅動程序對應的標準項的值為:
description =yhfddi/pci adapter controller
install date =……
……
refcount =0x01
servicename =yhfddi
softwaretype =driver
title =yhfddi/pci adapter controller
而且在yhfddi驅動程序相關的netrules子鍵下,這些值項為:
bindable =yhfddi driver yhfddi adapter non exclusiver
bindform =“yhfddisys”yes no container
class = reg_multi_sz “yhfddi driver basic”
infname =oemnad1.inf
type =yhfddisys ndisdriver yhfddidriver
use =driver
yhfddi網卡在如下路徑的networkcards子鍵里介紹:
hkey_local_machine\software\microsoft\
windows nt\nt3.51\networkcards\yhfddi1;
網卡的標準項包括以下這些值:
description =yhfddi/pci adapter controller
install date =……
manufacturer =net612
productname =yhfddi
servicename =yhfddi01
title =[01]yhfddi/pci adapter controller
§2.1.3編寫inf信息配置文件
gui inf描述語言被windows nt用以書寫系統所有部件的配置文件,當然也可以用以書寫網絡系統各部件的配置文件,該配置文件描述了網絡部件安裝、配置、刪除的執行過程。當網絡部件進行初始安裝或二次安裝(通常通過ncpa進行)時,安裝程序讀取部件對應的配置文件,進行解釋執行。gui inf描述語言由節、命令、邏輯操作、變量規范、流程控制以及一套調用dll或外部程序的機制組成,其中,節是配置文件的主體,節可分為install節(類似于函數),shell節(也類似于函數,但可調用insall和shell節),detect節(不包含命令),一個配置文件一般由若干不同類型的節組成。驅動程序的開發者根據需要可以在配置文件中編寫相應代碼,使得用戶和系統之間能進行交互,并且由用戶決定一些配置參數。
nt網卡配置文件有其一套規范,驅動程序開發者必須按規范編寫配置文件,一般來說,一個配置文件至少應該提供下面三個節:
安裝入口點:[identify]shell節。該節主要功能是給出安裝部件的類型名,系統通過它識別該部件屬于哪一大類(display,mouse,scsi,network等)中的哪一類(網絡adapter,driver,transport,service,network和netprovidor),同時,還需要給出映像文件和配置文件所在的源介質及標識。
[returnoption]shell節。系統執行安裝identify節后,執行該節。它主要功能是檢查所需安裝的部件是否支持的硬件平臺和語言,并給出網卡名(有些配置文件支持多類網卡,此時必須讓用戶進行選擇,并獲得選擇結果)。
[installoption]shell節。該節是配置文件得主體,也是上次安裝完后再次進行配置、刪除、更新的入口點。主要功能是拷貝映像文件和配置文件,生成配置的各種選項,創建該部件在注冊庫中對應的各種登錄子樹并更新重寫。
第二節 驅動程序的加載過程
§2.2.1 windows nt的啟動過程
篇2
一、
1、右擊計算機、管理、設備管理器;
2、點擊設備管理器、其他設備、以太網控制器、更新驅動程序軟件;
3、選擇瀏覽計算機以查找驅動程序軟件,瀏覽位置直接找到網卡驅動文件路徑。
二、
1、用驅動人生備份原驅動:以防止新安裝驅動和硬件不兼容,導致電腦運行問題。 進入驅動人生、驅動管理、選擇驅動備份,勾中網卡,然后開始備份;
2、用驅動人生還原驅動:當我們發現新驅動還不如原始驅動時,就需要還原驅動;
篇3
1、本地連接未識別的網絡,寬帶連接已斷開解決方法如下:右鍵點擊桌面的計算機圖標,選擇設備管理器,在設備管理器下方找到網絡適配器選項(確保已經安裝匹配的網卡驅動程序)。
2、打開網卡驅動列表,找當前網卡驅動右鍵點擊,選擇禁用,然后再點擊啟用(恢復網絡默認設置)。
3、還不行,使用疑難解答向導檢測、維修即可。
(來源:文章屋網 )
篇4
關鍵詞:計算機;硬盤還原卡;局域網;系統拷貝
中圖分類號:TP393文獻標識碼:A文章編號:1009-3044(2007)04-10960-01
1 問題的提出
計算機實驗室常見的系統保護措施可以分為軟件保護和硬件保護兩種。軟件保護通常采用“還原精靈”進行系統恢復,或是采用“GHOST軟件”克隆系統[1];硬件保護一般采用還原卡,例如“小哨兵還原卡”、“三茗保護卡”之類的硬件擴展,進行系統恢復。
高校計算機中心、多媒體實驗室等局域網絡,承擔著計算機實驗教學和培訓、計算機等級考試、以及計算機方面學術研究的多重任務,系統維護工作很頻繁,也很繁重。上述保護措施僅能實現單機系統還原和維護,頂多利用“復制硬盤”功能進行兩塊硬盤之間的對考;卻無法對相同配置的機器進行網絡拷貝[2]。在機房維護和管理工作中,我們發現普通小哨兵還原卡經過一定設置,也可以實現網絡拷貝功能。既可以在局域網內實現一對多網絡拷貝,大量減輕系統維護工作量;又無需購買專門的網絡拷貝硬件,如“小哨兵網管專家”、“小特工卡”等,可以節約一定資金。
2 小哨兵還原卡的普通功能
小哨兵還原卡是南京小哨兵科技有限公司開發的硬盤保護卡,安裝在主板的PCI插槽上。它具有C盤保護、多盤保護、管理員口令設定、備份CMOS數據、更新硬盤數據、驅動軟件升級、復制硬盤、移除還原卡、直接啟動等功能[3]。啟動計算機,在BIOS自檢結束時按下CTRL+F10,輸入管理員口令(默認口令為:manager),即可進入小哨兵還原卡安裝設置界面。
快速安裝:僅保護C盤;高級安裝(或參數設置):可以設定多盤保護和數據恢復方式;設置管理員口令:初次設置或更改管理員密碼;備份CMOS數據:自動分析并備份當前CMOS數據;更新硬盤數據:在沒有移除還原卡的情況下,安裝新軟件后,執行更新數據操作,可以將軟件正式安裝到硬盤中;軟件升級:升級還原卡驅動程序;復制硬盤:可以將硬盤中的數據完全復制到另一個硬盤中,此方法只適用在單機上進行一對一硬盤拷貝,并且要求硬盤磁頭數和扇區數相同;直接啟動:不調用還原功能,直接啟動計算機,系統處于開放狀態;移除小哨兵:如果決定不再使用小哨兵,可選擇此項。
3 小哨兵還原卡的網絡拷貝功能及其運行條件
所謂網絡拷貝,就是將局域網內一臺安裝好的計算機作為發射端,同時向其它作為接收機的數十臺甚至上百臺電腦發射系統數據。網絡拷貝一般可用30-50分鐘完成局域網內多臺電腦的系統傳送,接收端計算機所有參數與發射機完全一樣。傳送完畢,逐臺重啟電腦,修改IP地址和計算機名就可以了。
小哨兵還原卡網絡拷貝功能的運行環境是MS-DOS系統,網絡拷貝的主程序是XSBnet.exe(小哨兵網絡拷貝2.0測試版),軟件大小為41KB。小哨兵還原卡網絡拷貝的輔助程序是網卡驅動程序中的或 等可執行文件。在此,集錄各種常見網卡對應的Dos平臺下Pack Driver驅動文件,列表如下:
4 網絡拷貝的實現
4.1 啟動發射端
使用DOS啟動盤,將安裝好系統軟件和應用軟件的發射機啟動到MS-DOS系統下,運行網卡驅動程序中的DOS驅動文件,加載網卡驅動程序包。例如:對于RealTek8139網卡,其命令語句為C:/> 0x60,如果屏幕顯示:
System:[345]86 processor, PCI bus, Two 8259s
Packet driver software interrupt is 0x60
Interrupt number is 0x9
I/O port is 0x6100
My Ethernet address Is 00:0A:E6:11:61:6B等語句行,說明網卡已經識別。
在DOS下運行XSBnet.exe網絡拷貝程序,顯示小哨兵網絡拷貝主界面。選擇發送端按鈕,回車確認,等待接收端登錄到發送機。
4.2 啟動接收端
移除小哨兵還原卡,在接收端啟動MS-DOS系統,先運行文件,加載網卡驅動程序包,屏幕同樣會顯示:……My Ethernet address Is 00:0A:E6:11:61:6B等類似語句;然后運行XSBnet.exe文件,選擇“接收端”并確認,將接收端連接到發送端。
4.3 數據拷貝
按同樣方法,把每一臺接收端都與發送端連接起來。這時,發送端將會顯示登錄成功的所有計算機編號(圖1)。點擊圖1中的“開始發送”按鈕,開始向接收端發送數據,并在發射端隨機顯示數據發送進度。同時,接收端將同步接收發送端傳送的數據,并顯示接收數據進度。
注意:只能選一臺機器作為發送端,如果接收端進度條與發送端進度條不同步,說明該接收端已經掉線??梢缘绕渌邮斩私邮諗祿戤?,再單獨對此臺計算機重新發送。
發送完畢,發送端和接收端將顯示網絡拷貝完成界面;選擇退出按鈕,退出網絡拷貝程序。
5 結束語
網絡拷貝功能硬件配置要求:主機CPU為PⅢ550以上,IDE、SCSI接口硬盤均可,系統盤剩余空間600MB以上,內存64Mb以上,10M/100M自適應網卡。
網絡拷貝功能軟件配置要求:適于Microsoft Windows 98,Windows 2000,Windows XP多種操作系統的網絡拷貝,支持 NTFS、FAT32文件系統格式。若使用多系統開機,必須確認多重開機系統沒有使用硬盤的MBR區塊;否則可能會破壞操作系統。
進行小哨兵還原卡網絡拷貝,要求發送端與接收端必須滿足:相同的硬盤參數,主板相同,且主板BIOS版本號相同,并保證網絡連接暢通。
建議先重裝發送端計算機系統,再進行數據發送;否則,應先執行磁盤碎片整理,然后再發送數據,以加快網絡拷貝速度。
若接收端在數據拷貝中途掉線,重啟進入系統時發現磁盤容量變小??稍贒OS下運行ClrPart.exe恢復磁盤參數(ClrPart.exe是磁盤參數的修復工具,可以在網絡拷貝程序中找到);然后重啟計算機,進入CMOS檢測磁盤參數,并保存CMOS數據的改動。
對于Windows 98操作系統,不必安裝小哨兵還原卡驅動程序。如果是Windows 2000或Windows XP操作系統,網絡拷貝結束后,必須先以管理員身份登錄計算機,安裝小哨兵還原卡驅動程序;否則,還原卡起不到系統保護功能。
參考資料:
[1]程玉昆,等. 局域網計算機的Ghost安裝[J]. 成都:西南民族大學學報,2005.3.
[2]儲德軍. 計算機實驗室系統維護方法比較[J]. 北京:實驗科學與技術,2005.3.
篇5
2、此時可以打開計算機系統屬性窗口,點擊左側邊欄的“設備管理器”菜單項。
3、這時可以打開電腦的設備管理器窗口,在這里找到“網絡適配器”一項。
4、雙擊網絡適配器菜單項后,可以打開該菜單,找到我們的網卡驅動。
5、右鍵點擊網卡驅動程序,然后在彈出菜單中選擇“屬性”菜單項。
6、這時會打開網卡屬性窗口,點擊上面的“電源管理”標簽。
篇6
3、打開在桌面上我的電腦,雙擊光驅;4.找到并打開USB網卡客戶端程序和驅動程序文件夾;5.加載驅動;
6、安裝客戶端軟件;
7、配置客戶端,用無線網卡模擬AP;
8、打開手機設置,打開無線局域網設置,連接模擬AP;
篇7
一、TCP/IP體系結構
TCP/IP協議因簡潔、實用而得到了廣泛的應用,TCP/IP是由一組通信協議所組成的協議棧,主要由TCP協議(Transport Control Protocol,傳輸控制協議)、IP協議(Internet Protocol 因特網協議)協議組成。TCP/IP體系結構模型自下向上分別為:網絡接口層(NetworkAccess)、互聯網層(Internet layer)、傳輸層(Transport layer)、應用層(application layer)。
四層結構中在實際的網絡系統中,有兩個明顯的分界點,即應用層與傳輸層是各種操作系統與應用軟件的分界點;互聯網層與數據鏈路層是邏輯網絡與實際互聯網絡的分界點。
依靠這樣的分層,使TCP/IP協議在全球范圍內實現將不同硬件結構、不同操作系統、不同網絡系統的互聯成為Internet。
二、基于TCP/IP模型的Web服務通信過程
目前,普通高中校園網接入Internet廣泛使用Web服務,www服務以Http協議為網絡通信服務協議。校園網中的源主機A通過Internet的www服務訪問另一臺目的主機B上的資源,完成這樣一次通信過程抽象模式如圖1所示。
圖1 www服務通信模型
源主機A在操作系統的支持下通過瀏覽器啟動一個www服務進程A,通過本機的1668端口,向傳輸層的TCP協議請求;傳輸層將源端口號(1688)與需要向目標主機請求的www服務端口號(80)連同所要傳輸的數據一起封裝在TCP報文中成為數據段(Segment),向主機A的IP層傳輸;在主機A的IP層,IP層將傳輸層的數據段看做數據(Data),與主機A的IP地址(192.168.155.166)和目標主機的IP(192.168.155.168)地址封裝成網絡層數據包(Packet)傳輸到下一層。這樣,在主機A中,通過端口號(1688)唯一地確定了本機上的一個應用層程序,通過主機A的IP地址(192.168.155.166)唯一地確定了Internet中的一臺主機,主機A的服務端口號(1688)與本機的IP地址(192.168.155.166),即TCP/IP模型中的套接字(Socket=IP+端口號)唯一地確定了Internet上的一個應用層程序。通過TCP/IP的網絡接口層(在實際網絡模型中為DL和PL)傳輸到主機B。主機B根據對等層通信原則,將下層數據包層層解封裝以后,通過本機的端口(80)把主機A請求提交給應用層程序,進而再利用TCP/IP模型對等層的通信原則,將服務提供給主機B,從而完成網絡服務。
從TCP/IP通信過程的分析和常見網絡通信故障可知道,在實際的網絡運行過程中,出現網絡故障后,可以根據事實上的網絡標準分層排查,確定故障點,進而排除故障,實現良好的網絡維護與管理。
三、日常網絡維護與管理實踐
1.網絡接口層維護與管理實踐
在TCP/IP體系結構中,對網絡接口層沒有具體定義,但在實際應用的網絡標準中,這層對應于OSI參考模型中的物理層(PL)和數據鏈路層(DLL)。
物理層(Physical layer)在實際網絡層次體系結構中,物理層是在信道上傳輸透明的比特流,規定了機械的、電氣的、功能的、規程的接口,以及相應的傳輸介質。對于具體物理層實體,例如:普通高中常見的PC機、集線器、交換機、路由器、Modem、光電轉換器等設備,通常在保證網絡傳輸介質(注意各種介質的最大傳輸距離限制)連通的狀態下,主要查看各網絡實體設備的信號燈,各設備模塊的Link(LNK)燈應該是恒亮,Action(ACT)燈呈現閃爍狀態。在對物理層設備排錯的過程中,主要是確認網絡傳輸介質(線序正確)及介質與設備接口連通良好,通過檢查模塊信號指示燈確認各個電子集成模塊正常工作。
數據鏈路層(Data Link Layer)定義了將數據組裝成正確幀的規程和在網絡中傳輸幀(幀是指一串數據,它是數據在網絡中傳輸的單位)的規程。包含網絡接口卡(Internet Interface Card網卡)和各種設備適配卡及相關的驅動程序(目的在使各種底層硬件可以在TCP/IP網絡相互聯結通信)。在計算機安裝的操作系統中,應根據不同的底層網絡接口卡配置網卡驅動程序。例如:我們高中教師機和學生機用的Windows Xp Ghost系統,會自帶與機器設備相匹配的萬能網卡驅動,但對于較早版本的Windows系統,則需要手動安裝所需的網卡驅動程序進而確保工作在這層的協議能在相關物理層設備的支持下正常運行。一般采用ping 127.0.0.1來測試loopback是否有響應;來確認是否為網卡驅動的故障。
路由器和交換機網絡接口層故障檢測,則在管理模式下檢測各網絡接口線路、帶寬、速率、工作模式(雙工/半雙工)是否相匹配。
篇8
2、我們在電腦的桌面上找到計算機按鈕,有的電腦上是顯示我的電腦。
3、找到后我們右鍵點擊我們的電腦,然后找到屬性按鈕。
4、進入到屬性設置頁面后我們在左邊的快捷欄中找到設備管理器按鈕,找到不到的看下面的配圖。
5、進入到設備管理器頁面后我們接著找到聲音按鈕,點擊聲音按鈕后我們就能夠看到聲卡驅動了。
6、看到聲卡驅動后我們在右鍵點擊聲卡驅動,然后點擊卸載按鈕。
7、等待幾秒聲卡驅動就能夠卸載完成。
8、上面的步驟是卸載聲卡驅動,因為要重新安裝聲卡驅動必須卸載原來已經安裝好的驅動程序才能夠重新安裝,下面小編繼續給大家介紹聲卡驅動卸載完成后怎么重新安裝聲卡驅動。
9、我們打開搜索引擎,在搜索引擎的搜索框內輸入360驅動大師下載,下載完成并且安裝,安裝好后打開360驅動大師。
10、打開后驅動大師會自動幫助你掃描電腦上的聲卡驅動,包括顯卡,網卡驅動程序,掃描完成后我們點擊安裝聲卡驅動按鈕。
篇9
引言
S1C33209是EPSON公司推出的RISC結構的32位高性能CMOS微處理器,具有高速、低功耗、低電壓操作、精簡指令集等特點,提供乘與累加功能,既可用于辦公設備,也特別適用于需要高級數據處理的便攜設備,可以進行高速運算、靈活的I/O口控制和高效的數據操作。S1C33209具有8KB的內部RAM,其運算速率可達60MHz,加上優化的多數為單時鐘周期的指令集,使S1C33209吞吐量大為提高。S1C33209比常規MCU有更快的運算速度及可靠的性能、可重復編程的結構,使得精簡的TCP/IP能夠在其中可靠運行。
1 硬件平臺結構及設計
信息家電遠程訪問時,通信數據量不大,10M以太網的通信速率即可滿足要求;其次信息家電對實時性的要求不高,可定位在秒級。
在這種情況下,構造了家電網絡硬件平臺服務器S1C-WebServer,其結構如圖1所示。S1C33-WebServer主要由三部分組成,即S1C33209微處理器、RTL8019AS全雙工以太網控制器(RealTek公司出品,100腳的TQFP封裝,最大速率10Mbps,自帶16KB的SRAM,工作在Ethernet II和IEEE802.3、10Base5、10Base2、10BasetT下,全雙工,支持8位與16位數據總線,與NE2000兼容)、可擦寫Flash(采用Intel的E28F320,容量為4MB)??紤]到Flash的擦寫在程序調試中不太方便,所以為S1C33209外圍擴展512KB的SDRAM。在S1C33209中,運行用戶程序和S1C33-Stack。在Flash中,存放S1C-WebServer的各種Web資源信息,綜可處理Web頁面、圖像文件等,與PC機上WebServer中的硬盤可以存儲大量的不同頁面。Flash的容量決定了WebServer的資源文件的大小。RTL9019AS是Ethernet控制器,負責S1C33209與Ethernet的數據傳遞。在信息家電已具備RS232或相關標準接口的條件下,使用家庭自動化總線HAB(Home Automation Bus)作為S1C33-WebServer與家庭網絡協議SHNP(Simple Home Networks Protocol)。家電通過RS232接口與S1C33-WebServer連接,經由EEthernet接入Internet。
經過分析,S1C33209與RTL8019AS讀寫時序是兼容的,而且MCU的讀寫時延比RTL8019AS小得多。MCU與RTL8019AS的連接如圖2所示。RTL8019AS的工作電壓為5V,而S1C33209的工作電壓為3.3V,所以RTL8019AS的數據線輸出需要電平的轉換。選用2個8位(采用16位數據總線)的具有雙向數據傳輸功能的74HC245來完成,由于S1C33209的輸出電平符合RTL8019AS輸入電平的要求,所以地址線可以直接相連,而不需電平轉換,RTL8019AD中斷信號(INT0)為高電平有效,在S1C33209中選用端口中斷輸入的K60端口與之相連。由于S1C33209的中斷有效方式(高、低電平或脈沖)可以根據對寄存器的設置調節),所以不用對INT0作反向或電平轉換。
2 精簡TCP/IP協議棧的實現
構建的S1C33-Stack運行在以S1C33209嵌入式CPU為基礎的硬件平臺上,是一組可配置的多種Internet協議的組成。這些協議按照分層協議棧的方式組織,包括應用層的HTTP、DHCP、SMTP,傳輸層的TCP、UDP,網絡層的IP/ICMP、ARP,通過鏈路層和物理層(如Ethernet)進行數據的交互。S1C33-Stack的結構模型如圖3所示。S1C33-Stack利用S1C33的高速處理能力處理TCP/IP數據包,避免了在有限容量的RAM中緩存大量數據,使得控制器可以處理比內部RAM總線更多的數據包。利用嵌入的S1C33-Stack,Webserver能通過Hypertext Transfer Protocol(HTTP)與任何瀏覽器通信,能夠提供各種類型的資源,如HTML、圖片文件等。這些資源可以使用一種特殊的文件系統URI,被存放在容量為4MB的Flash中。這種文件系統可包含任意多的目錄,對URL的長度也沒有限制。
考慮到嵌入式系統的可用資源有限,在此采用經過裁減的TCP/IP協議?!猽IP。uIP協議主要包括TCP/IP協議組中的四個基本的協議:ARP、IP、ICMP、TCP。鏈路層協議,如PPP,則作為設備驅動在uIP底層實現。應用層協議,如HTTP、FTP、SMTP則作為應用程序在uIP上層實現。
(1)地址解析協議ARP
該協議將IP地址映射成以太網MAC地址。在uIP中,ARP的執行依靠維持一張表來完成IP地址和MAC的地址的映射。當有一個IP數據包要發送到以太網上時,從ARP表中查詢相應的MAC地址。如果在ARP表中找不到IP地址則送出相應的ARP請求。當目的主機收到ARP請求報文后,發送ARP REPLY報文將請求的MAC地址送出。當收到ARP REPLY后,ARP表被更新。每隔10s,ARP表就被新新一次,舊的ARP表項將被刪除。每個ARP表項的生存周期是20min。
(2)網間協議IP
在uIP中,IP層的代碼有兩個功能:驗證到來的IP報文報頭的正確性,并且對TCP和ICMP報文實行分流。因為不考慮IP的分片和重組,uIP中IP層的代碼非常的精簡。
(3)網間報文控制協議ICMP
在uIP中,僅有一種類型的ICMP信息被實現:ICMP ECHO主要用于應用程序ping,檢查網絡是否連通。在uIP中,ICMP ECHO通常以一種很簡單的方式進行處理;將ICMP類型由“ECHO”改為“REPLY”,同時調整ICMP校驗,交換發送方和接收方的IP地址。
(4)傳送控制協議TCP
為了減少對內存的使用,在uIP中,TCP并不使用滑動窗口來接收和發送數據,到達的TCP報文并不進行緩沖而是立刻交給應用程序處理。但是應用程序本身可以對要發送的程序本身可以對要發送的數據進行緩沖,因為每次連接中通常有若干的TCP報文要發送。uIP網絡通信模塊結構如圖4所示。
網絡通信需要要底層RTL8019AS驅動程序的支持,參考RTL8019AS與S1C33209的資料說明文檔,編寫出針對此系統的RTL8019AS驅動。
uIP并不緩存到達的數據包,當網絡上有數據包(在這里專指出太幀)到達網卡時,網卡驅動程序將暫存在網卡緩存中的數據包,一次一個的以DMA形式傳送到目標板上的RAM中。這時將會有一段代碼將到達目標板RAM中的數據包復制到全局數組uip_buf[]中,uIP協議棧程序隨后對uip_buf[]中的數據進行操作。
當上層應用程序或協議棧程序產生了向網絡上發送的數據包時,也將數據包放入uip_buf[]。然后調用網卡驅動程序,將uip_buf[]中的數據讀到網卡的緩存中,隨后發送到網絡中。
在此要說明一下協議棧與網卡驅動程序、應用程序之間的同步機制問題。在系統初始化的時候,通過操作系統提供的系統調用vcre_tsk()創建三個任務:任務一(task1),uIP協議棧;任務二(task2),家電監控程序;任務三(idle_task),空閑任務。而網卡驅動程序則作為硬件中斷,由“檢測到網絡上傳過來數據包”事件激發。
整個協議棧程序流程圖如圖5所示。
任務一的優先級最高,任務二次之,任務三的優先級最低。當系統開始運行時,任務一首先進入RUN狀態,在任務一中加入系統調用wai_flg(),由于沒有網絡請求,任務一隨后進入WAIT狀態。此時任務二進入RUN狀態。當網絡上有數據包到達,網卡驅動程序作為硬件中斷開始執行。在退出中斷前,通過系統調用set_flg(),將任務一期望的標志位置位。當中斷返回后,由于任務一的等待條件已經滿足,任務一的優先級又高于任務二,因此任務一進入RUN狀態,即uIP協議開始處理數據。如果網絡上一直有數據包到達,則任務一和中斷程序不斷的切換。當網絡任務完成,返回到任務二的斷點處繼續向下執行。
由于uIP不緩存網絡數據,因此在任務一執行的過程中,即uip_buf[]正在作時,將關閉所有中斷。這樣可以避免數據包被破壞,缺點是實時性差了一些,但是滿足本系統要求。
3 操作系統
本系統使用的操作系統是由EPSON公司提供的ROS33V31。ROS33是為S1C33系列MCU提供的一種嵌入式實時操作系統,符合uITRON 3.0標準。使用ROS33可以迅速、有效地開發針對打印機、PDA以及各類控制設備的嵌入式應用程序。
ROS33具有以下特點:
*支持uITRON 3.0標準——符合該標準的S級*最大任務數為255,采用優先級調度機制,支持9種不同的優先級,提供信號燈、郵箱、消息緩沖等多種通信機制:
*內核優先并緊湊——最小可為1.7K;
*響應快——最快調度響應時間為7.8μS(CPU主頻為33MHz,下同),最大中斷屏蔽時間為4.3μs ;
*高級語言支持——除匯編語言外,還支持基于ANSI標準的C語言編程。
注釋:μITRON將系統功能分成四級。R級(必要級)只提供包括實時、多任務OS所需的基本系統調用;S級(標準級)提供所有標準的系統調用;E級(擴展級)包括附加的和擴展的系統功能;C級(CPU依賴級)的系統功能依賴于具體的CPU和系統實現方式。
ROS33基本內核按功能劃分為6大部分:
*任務管理——負責系統中任務狀態的變遷;
*任務相關的同步管理——通過睡眠/喚醒、掛起/解掛等操作,處理相關任務及任務之間的同步關系;
*同步與通信——通過信號燈、事件、郵箱等通信機制,實現獨立任務之間的同步與通信;
*系統管理——對系統環境的管理;
*時鐘管理——日歷時鐘、定時器、定時任務等的管理;
*中斷管理——開/關中斷。
圖6給出了ROS33內核的概念模型。
4 Web服務器及上層應用程序框架
WEB服務器所采用的方式稱為uip_connect,比通常在設計中所使用的Socket套接字更適合于嵌入式系統下面即是WEB服務器的大體框架。
#include<uip.h>
void http_listen_init(void){
uip_listen(80);
} //http listen初始化
void listen_init(void){
http_listen_init();
}
void application(void){
if(uip_connected()) //如果當前的連接狀態為connected
switch (uip_conn->lport){
case htons(80):
httpd; //如果80 PORT有數據到達,則調用HTTP處理HTML文件的傳送
}
}
首先,服務器與客戶機建立連接,再通過偵聽端口80,判斷是否有客戶請求到達,若有則將調用應用程序httpd進行相應處理,否則,繼續偵聽。Httpd是用于處理HTTP請求的應用程序,具體設計在協議棧uIP中有描述。uip.h是協議uIP的一個頭文件。
在應用軟件上實現簡單WEB服務器功能,其主要由兩個模塊構成:一是用戶登陸模塊;二是家電監控模塊。用戶登陸模塊需要解決用戶的合法性檢查,即接收用戶輸入的用戶名和密碼,進行校驗,合法則進入家單監控頁面,非法則發出警告頁面。家電監控模塊針對各家電的硬件情況,收集信息家電的狀態碼,并通過網頁形式顯示。
在兩個模塊中,有一部分相似的處理,即對輸入的數據進行解析?,F在定義數組htmlinputs來存放解析后的信息。對表單輸入的數據進行解析后,將其name值和value值分別存放在htmlinput_struct.name和htmlinput_struct.value里,便于以后的處理。變量htmlinputcount存放表單里輸入變量的個數。定義如下:
struct htmlinput_struct htmlinputs[100];
int htmlinputcount=0;
除此外,定義函數get_inputs()和translate()對輸入的數據進行處理。
Int get_inputs();//將從表單輸入的數據分別裝到對應的name/value數據隊中
Void translate(char*sourcestr);//解讀編碼URL字符
具體程序代碼在此就不再多述。
整個上層應用程序的流程圖如圖7所示。
篇10
>> 可以損害硬盤的幾款軟件 衛星數字機的自動搜索功能 附:女巫的黑豆 技術驅動搜索營銷 一款實用的桌面端全文搜索工具:FileSearchy 搜索信息與下載文件 實時搜索將成新的搜索戰場 軟件搜索下載 我要快 專業搜索下載快快快 基于全文搜索的中文自動答疑系統設計實現 搜索營銷與SEO 搜索你的成績 搜索營銷的細節 搜索的眼睛 企業搜索的未來 中國的“搜索之王” 《搜索》:時代的鏡像 網上的整合搜索 搜索的是愛 媽媽的“搜索雷達” 常見問題解答 當前所在位置:
軟件主頁:http:///
軟件授權:免費版
軟件大?。?4417KB
驅動精靈利用先進的硬件檢測技術,配合驅動之家近十年的驅動數據庫積累,能夠智能識別你的計算機硬件,匹配相應驅動程序并提供快速的下載與安裝。你可以毫不在乎你的計算機硬件配置,徹底扔掉驅動程序光盤,忘記那些你根本也不想去了解的廠商和驅動網站,把驅動程序的安裝與升級交給驅動精靈來搞定。驅動精靈正式獲得“微軟Windows 7徽標計劃”認證,兼容性和穩定性全部符合計劃要求。
2 超級兔子驅動天使
最新版本:超級兔子驅動天使(完整版)2.75
華軍下載:/soft/75575.htm
軟件主頁:/
軟件授權:免費版
軟件大?。?8687KB
超級兔子驅動天使是一款功能強大的驅動下載安裝利器,可以自動識別當前計算機硬件的驅動信息,一鍵安裝所有驅動。安裝驅動過程中,你無需任何驅動光盤,不用知道設備型號,它會自動檢測設備品牌型號,方便快捷地為你安裝設備驅動。它具備全面安全的驅動備份和還原功能,讓你無后顧之憂,即使安裝錯誤,也可以輕松恢復。
3 驅動人生
最新版本:驅動人生2.26 build 2030
華軍下載:/soft/84181.htm
軟件主頁:/
軟件授權:免費版