Please use this identifier to cite or link to this item: http://hdl.handle.net/11455/7381
標題: RT2500無線網卡驅動程式之錯誤追蹤、缺點植入及當機救援機制
The Error Trace, Fault Injection and Crash Rescue Mechanism for The RT2500 Wireless LAN Card Driver
作者: 王駿修
Wang, Jun-Shiou
關鍵字: Wireless LAN Card;無線網路卡;Device driver;Error trace;Fault Injection;Crash Rescue;驅動程式;錯誤追蹤;缺點植入;當機救援
出版社: 電機工程學系所
引用: [1] M. Gast, 譯者黃裕彰, 802.11 無線網路技術通論(802.11 Wireless Networks: The Definitive Guide, 2/e), O''Reilly, 2005. [2] J. Corbet, A. Rubini, G. Kroah-Hartman, 編譯:林長毅, Linux 驅動程式 第三版, O''Reilly, 2006. [3] D. P. Bovet, M. Cesati, 陳建勳譯, LINUX核心詳解, 歐萊禮, 2006. [4] 許玉霞, TFC: A Tool of Trace, Fault Injection and Crash Rescue for Linux Device Drivers, 國立中興大學, 2006. [5] 陳錦輝, 陳正凱, 黃昭維著, c/c++初學指引Linux程式設計, 金禾資訊, 2003. [6] 徐千洋著, Linux C函式庫參考手冊, 旗標, 2001. [7] Beck, 張耀仁譯, LINUX核心研究篇, 和碩科技文化, 2000. [8] M. Barr原著江俊彥, 林長毅編譯, 嵌入式系統使用C/C++,歐萊禮, 2000. [9] A. Chou, J. Yang, B. Chelf, S. Hallem, and D. Engler. An empirical study of operating system errors. In Proceedings of the 18th ACM Symposium on Operating Systems Principles, Oct. 2001. [10] 6-S. Best, Linux debugging and performance tuning :tips and techniques, Upper Saddle River, NJ :Prentice Hall Professional Technical Reference,c2006. [11] C. S. Rodriguez, G. Fischer, S. Smolski, “The Linux Kernel Primer: A Top-Down Approach for x86 and PowerPC Architectures”, 1st edition, Prentice Hall, Sep. 2005. [12] V. Orgovan, Systems Crash Analyst, Windows Core OS Group, Microsoft Corp.private communication, 2004. [13] S. Chandra and P. M. Chen. Whither generic recovery from application faults? Afault study using open-source software. In Proceedings of the 2000 IEEE International Conference on Dependable Systems and Networks, June 2000. [14] S. Best, Linux debugging and performance tuning :tips and techniques, Upper Saddle River, NJ :Prentice Hall Professional Technical Reference,c2006 . [15] MindShare Inc. ; Tom Shanley and Don Anderson., PCI system architecture, Reading, Mass. :Addison-Wesley, c1995. [16] W. R. Stevens, Advanced programming in the UNIX environment, Reading, Mass. :Addison-Wesley Pub. Co., c1993. [17] " Hijacking_Linux_Page_Fault_Handler", buffer. http://www.phrack.org, 2003-08-13. [18] Linux系統內核的調試, http://www.ibm.com/developerworks/cn/linux/l-kdb/, 2005-12-18. [19] KDB (Built-in Kernel Debugger) , http://oss.sgi.com/projects/kdb/, 2007. [20] 使用 Kprobes 調試內核, http://www.ibm.com/developerworks/cn/linux/l-kprobes.html, 2004-09-19. [21] Linux下PCI設備驅動程序開發, http://www.ibm.com/developerworks/cn/linux/l-pci/index.html, 2004-03-09. [22] 用systemtap研究核心, http://blog.csdn.net/zht_sir/archive/2007/03/21/1536156.aspx, 2007-03-21. [23] 用kprobes實現核心反射機制, http://blog.csdn.net/absurd/archive/2007/05/29/1630054.aspx, 2007-05-29. [24] SystemTap, http://sourceware.org/systemtap/, 2007. [25] SystemTap實例, http://sourceware.org/systemtap/wiki/WarStories, 2007. [26] Kernel korner: kprobes-a kernel debugger http://delivery.acm.org/10.1145/1070000/1064877/7905.html?key1=1064877&key2=1619382811&coll=GUIDE&dl=GUIDE&CFID=22335003&CFTOKEN=21576223, 2005-05.
摘要: 
近五年來,整個世界逐漸走向行動化,如果非得透過有線網路才能夠連上網路,使用者的活動空間必會大大地縮小。相反地,無線網路就無此限制,使用者可以有較寬廣的活動空間。
目前802.11已經成為一種普遍公認的連線方式,祇要有一組基地台,就可以為訪客提供連線服務,不必再透過Ethernet開放公用連接埠。於是無線網路卡的使用普及率便隨著無線網路的方便性而大大的提高。
為使無線網路卡在發生錯誤時,仍能保持正常運作,本文使用 kprobes機制能動態地觀測無線網路卡驅動程式,經由實際測試 Linux 作業系統下的 PCI 網路介面卡驅動程式,證明本文偵錯程式的確能幫助系統在無線網路卡驅動程式出現錯誤時,繼續正常的工作。
同時,雖然目前已存有數種針對核心程式追蹤與除錯的工具,本文偵錯程式提供另一種最直觀的追蹤與除錯功能,能明白指出造成執行期錯誤的系統呼叫參數,並保持系統正常的運作,不受錯誤的影響。另外,本文偵錯程式也含有注入錯誤的功能,程式設計者不需更動無線網路卡驅動程式,便可觀察無線網路卡驅動程式在錯誤發生時的反應。
最後,本文偵錯程式能在系統執行期,動態地,完全地,被載入或被卸載。不需更動作業系統核心,或無線網路卡驅動程式本身任何的地方。

Over the past five years, the world has become increasingly mobile. If users must be connected to a network by physical cables, their movement is dramatically reduced. Wireless connectivity, however, poses no such restriction and allows a great deal more free movement on the part of the network user.
802.11 has been a kind of generally ways that connect to Internet, as long as there is an access-point (AP), it will offer users to connect Internet and need to go through the Ethernet again. Wireless network with goodly convenient, so that the utility rate of wireless card will be raised.
This paper uses the kprobes infrastructure to dynamically instrument the kernel applications (driver module) and it is confirmed from observed results (tests on the PCI network interface card driver for the Linux operation system) to be helpful to Trace, Fault injection, and Crash rescue for Linux device drivers. With this paper's debug program, the system can indeed survive the failure of the RT2500 Wireless LAN card driver.
Several programming techniques can use to monitor kernel code and trace errors. The study of debug program is easier to understand for pinpointing runtime errors from system calls automatically and saving system from crash concurrently. In usual, the other debugging tools in the application or demo program isn't verbose enough to be useful for debugging, and being able to tell exactly which arguments to system calls triggered the error can be a great helping. Furthermore, the study also provides fault injection function for programmers to observe the RT2500 Wireless LAN card driver response.
Finally, this paper's debug program clearly lies in its permitting users to dynamically load and unload into the running kernel. It can be introduced without any changes to the OS kernel and with no changes at all to existing device drivers.
URI: http://hdl.handle.net/11455/7381
其他識別: U0005-0607200708514800
Appears in Collections:電機工程學系所

Show full item record
 

Google ScholarTM

Check


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.