Mid-term Project Presentation Eli Bendersky Igor Oks.
Published byModified over 4 years ago
Presentation on theme: "Mid-term Project Presentation Eli Bendersky Igor Oks."— Presentation transcript:
Mid-term Project Presentation Eli Bendersky Igor Oks
The project Driver for a 802.11 wireless LAN network card.
Project goals Experience with Windows CE development for handheld computers. Understanding the internals of a wireless network card driver. Serve as a starting-point for future projects based on communication using the 802.11 protocol. Setting up a functional WLAN environment
A development environment was set up HW: Desktop PC and a hand-held PC (iPac) with a 802.11 network card. Access point to the network. SW: Windows CE Platform SDK, Microsoft Visual C++ for Embedded applications. Source code of a sample driver.
A thorough understanding of the 802.11 standard Operates on the Physical & Data Link network layers Consists of an Access points and client(s) (can also operate on peer- to-peer level)
FHSS The 2.4 Ghz band is divided to 79 channels of 1 Mhz Sender and receiver agree on a channel switching scheme Maximum speed is 2 Mbps
DSSS The 2.4 Ghz band is divided into 14 partly-overlapping channels Data is sent over a single channel without switching
802.11 – Data Link Layer LLC – Similar to other 802 networks (such as Ethernet) MAC – Uses CSMA/CA (Carrier Sense, Multiple Access / Collision Avoidance)
Driver implementation Using the Windows CE DDK (Driver Development Kit) Following NDIS (Network Driver Interface Specification) Latest NDIS version is 5.0
Understanding NDIS 5.0 NDIS – interface by which one or more LAN adapters communicate The 802.11 network card driver uses NDIS Primary purpose: define a standard API for Network Interface Cards
The driver Directly manages a network interface card and provides an interface to higher level drivers. Miniport – wrapped by NDIS on both the higher and the lower levels Calls lower-level NDIS functions Provides functions to upper levels. For example: DriverEntry
DriverEntry Called by the system to load the driver Creates an association between the driver and the NDIS Library Registers driver version number and entry points with NDIS
Heaps of source code Given a sample driver (from Intel) Going through the code, understanding the flow Recognizing lower-level and higher- level interface calls
Understanding the driver A lot of source code to go through !
Making things work Compiling the driver (with MS VC++ Embedded) Loading the driver onto the iPac
Establish Communication Establish communication from the iPac to an access point using our driver Remote debugging to watch over the process
If that succeeds … Communication via 802.11 works ! Think about applications Extensive documentation
Schedule 21.1.02 – Complete our understanding of the driver and the underlying protocols. 31.1.02 - Debugging 14.2.02 – Making the driver work on the iPac with a 802.11 network card 3.3.02 – Final presentation & report