Top Banner
Mid-term Project Mid-term Project Presentation Presentation Eli Bendersky Eli Bendersky Igor Oks Igor Oks
24

Mid-term Project Presentation Eli Bendersky Igor Oks.

Dec 22, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Mid-term Project Presentation Eli Bendersky Igor Oks.

Mid-term Project Mid-term Project PresentationPresentation

Eli BenderskyEli BenderskyIgor OksIgor Oks

Page 2: Mid-term Project Presentation Eli Bendersky Igor Oks.

The projectThe project

Driver for a 802.11 wireless LAN Driver for a 802.11 wireless LAN network card.network card.

Page 3: Mid-term Project Presentation Eli Bendersky Igor Oks.

Project goalsProject goals

Experience with Windows CE development Experience with Windows CE development for handheld computers.for handheld computers.

Understanding the internals of a wireless Understanding the internals of a wireless network card driver.network card driver.

Serve as a starting-point for future Serve as a starting-point for future projects based on communication using projects based on communication using the 802.11 protocol.the 802.11 protocol.

Setting up a functional WLAN environmentSetting up a functional WLAN environment

Page 4: Mid-term Project Presentation Eli Bendersky Igor Oks.

BackgroundBackground

Page 5: Mid-term Project Presentation Eli Bendersky Igor Oks.

Wireless LANWireless LAN

A Local Area Network, for office, A Local Area Network, for office, home, school etc.home, school etc.

Wireless connection: No need for Wireless connection: No need for network wires, sockets, etc.network wires, sockets, etc.

FastFast Prices droppingPrices dropping

Page 6: Mid-term Project Presentation Eli Bendersky Igor Oks.

How does WLAN workHow does WLAN work

Page 7: Mid-term Project Presentation Eli Bendersky Igor Oks.

What was done so far ?What was done so far ?

Page 8: Mid-term Project Presentation Eli Bendersky Igor Oks.

A development environment A development environment was set upwas set up

HW: Desktop PC and a hand-held PC HW: Desktop PC and a hand-held PC (iPac) with a 802.11 network card. (iPac) with a 802.11 network card. Access point to the network.Access point to the network.

SW: Windows CE Platform SDK, SW: Windows CE Platform SDK, Microsoft Visual C++ for Embedded Microsoft Visual C++ for Embedded applications. Source code of a applications. Source code of a sample driver.sample driver.

Page 9: Mid-term Project Presentation Eli Bendersky Igor Oks.

A thorough understanding of the A thorough understanding of the 802.11 standard802.11 standard

Operates on the Operates on the PhysicalPhysical & & Data Data LinkLink network layers network layers

Consists of an Access points and Consists of an Access points and client(s) (can also operate on peer-client(s) (can also operate on peer-to-peer level)to-peer level)

Page 10: Mid-term Project Presentation Eli Bendersky Igor Oks.

802.11 – Physical Layer802.11 – Physical Layer

Frequency: 2,400 Mhz – 2,483 MhzFrequency: 2,400 Mhz – 2,483 Mhz Speed: 1-2 MbpsSpeed: 1-2 Mbps There are two common methods:There are two common methods: DSSSDSSS (Direct Sequence Spread (Direct Sequence Spread

Spectrum) – uses Phase Shift Keying Spectrum) – uses Phase Shift Keying (PSK) modulation.(PSK) modulation.

FHSSFHSS (Frequency Hopping Spread (Frequency Hopping Spread Spectrum) – uses FSK (Frequency Spectrum) – uses FSK (Frequency Shift Keying)Shift Keying)

Page 11: Mid-term Project Presentation Eli Bendersky Igor Oks.

FHSSFHSS

The 2.4 Ghz band is divided to 79 The 2.4 Ghz band is divided to 79 channels of 1 Mhzchannels of 1 Mhz

Sender and receiver agree on a Sender and receiver agree on a channel switching schemechannel switching scheme

Maximum speed is 2 MbpsMaximum speed is 2 Mbps

Page 12: Mid-term Project Presentation Eli Bendersky Igor Oks.

DSSSDSSS

The 2.4 Ghz band is divided into 14 The 2.4 Ghz band is divided into 14 partly-overlapping channelspartly-overlapping channels

Data is sent over a single channel Data is sent over a single channel without switchingwithout switching

Page 13: Mid-term Project Presentation Eli Bendersky Igor Oks.

802.11 – Data Link Layer802.11 – Data Link Layer

LLC – Similar to other 802 networks LLC – Similar to other 802 networks (such as Ethernet)(such as Ethernet)

MAC – Uses CSMA/CA (Carrier Sense, MAC – Uses CSMA/CA (Carrier Sense, Multiple Access / Collision Avoidance)Multiple Access / Collision Avoidance)

Page 14: Mid-term Project Presentation Eli Bendersky Igor Oks.

Driver implementationDriver implementation

Using the Windows CE DDK (Driver Using the Windows CE DDK (Driver Development Kit)Development Kit)

Following Following NDISNDIS (Network Driver (Network Driver Interface Specification)Interface Specification)

Latest NDIS version is 5.0Latest NDIS version is 5.0

Page 15: Mid-term Project Presentation Eli Bendersky Igor Oks.

Understanding NDIS 5.0Understanding NDIS 5.0 NDIS – interface by which one or more LAN NDIS – interface by which one or more LAN

adapters communicateadapters communicate The 802.11 network card driver uses NDISThe 802.11 network card driver uses NDIS Primary purpose: define a standard API for Primary purpose: define a standard API for

Network Interface CardsNetwork Interface Cards

Page 16: Mid-term Project Presentation Eli Bendersky Igor Oks.

The driverThe driver

Directly manages a network interface Directly manages a network interface card and provides an interface to card and provides an interface to higher level drivers.higher level drivers.

Miniport – wrapped by NDIS on both Miniport – wrapped by NDIS on both the higher and the lower levelsthe higher and the lower levels

Calls lower-level NDIS functionsCalls lower-level NDIS functions Provides functions to upper levels. Provides functions to upper levels.

For example: DriverEntryFor example: DriverEntry

Page 17: Mid-term Project Presentation Eli Bendersky Igor Oks.

DriverEntryDriverEntry

Called by the system to load the driverCalled by the system to load the driver Creates an association between the driver Creates an association between the driver

and the NDIS Libraryand the NDIS Library Registers driver version number and entry Registers driver version number and entry

points with NDISpoints with NDIS

Page 18: Mid-term Project Presentation Eli Bendersky Igor Oks.

Heaps of source codeHeaps of source code

Given a sample driver (from Intel)Given a sample driver (from Intel) Going through the code, Going through the code,

understanding the flowunderstanding the flow Recognizing lower-level and higher-Recognizing lower-level and higher-

level interface callslevel interface calls

Page 19: Mid-term Project Presentation Eli Bendersky Igor Oks.

To be done …To be done …

Page 20: Mid-term Project Presentation Eli Bendersky Igor Oks.

Understanding the driverUnderstanding the driver

A lot of source code to go through !A lot of source code to go through !

Page 21: Mid-term Project Presentation Eli Bendersky Igor Oks.

Making things workMaking things work

Compiling the driver (with MS VC++ Compiling the driver (with MS VC++ Embedded)Embedded)

Loading the driver onto the iPacLoading the driver onto the iPac

Page 22: Mid-term Project Presentation Eli Bendersky Igor Oks.

Establish CommunicationEstablish Communication

Establish communication from the Establish communication from the iPac to an access point using our iPac to an access point using our driverdriver

Remote debugging to watch over the Remote debugging to watch over the processprocess

Page 23: Mid-term Project Presentation Eli Bendersky Igor Oks.

If that succeeds…If that succeeds…

Communication via 802.11 works !Communication via 802.11 works ! Think about applications Think about applications Extensive documentationExtensive documentation

Page 24: Mid-term Project Presentation Eli Bendersky Igor Oks.

ScheduleSchedule

21.1.02 – Complete our 21.1.02 – Complete our understanding of the driver and the understanding of the driver and the underlying protocols.underlying protocols.

31.1.02 - Debugging31.1.02 - Debugging 14.2.02 – Making the driver work on 14.2.02 – Making the driver work on

the iPac with a 802.11 network cardthe iPac with a 802.11 network card 3.3.02 – Final presentation & report3.3.02 – Final presentation & report