Final Presentation Wireless LAN driver for Win CE Eli Bendersky & Igor Oks Supervisor: Yevgeny Rivkin.

Slides:



Advertisements
Similar presentations
MICROPROCESSORS AND MICROCONTROLLERS
Advertisements

Computer-System Structures Er.Harsimran Singh
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Nios Multi Processor Ethernet Embedded Platform Final Presentation
© 2003, Cisco Systems, Inc. All rights reserved..
Department of Computer Science and Engineering University of Washington Brian N. Bershad, Stefan Savage, Przemyslaw Pardyak, Emin Gun Sirer, Marc E. Fiuczynski,
Chorus and other Microkernels Presented by: Jonathan Tanner and Brian Doyle Articles By: Jon Udell Peter D. Varhol Dick Pountain.
Home: Phones OFF Please Unix Kernel Parminder Singh Kang Home:
Figure 1.1 Interaction between applications and the operating system.
Cs238 Lecture 3 Operating System Structures Dr. Alan R. Davis.
Input-Output Problems L1 Prof. Sin-Min Lee Department of Mathematics and Computer Science.
USB Mass-Storage Implementation on an Embedded System (D0113) Supervisor: Dimitry Sokolik Performed by: Yoav Gershoni Shachar Faigenblat Final Presentation.
CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University1 Input/Output – 3 I/O Software CS 342 – Operating Systems Ibrahim Korpeoglu.
1 I/O Management in Representative Operating Systems.
Mid-term Project Presentation Eli Bendersky Igor Oks.
Project Characterization Implementing a Modem driver for Windows CE by Eli Bendersky and Igor Oks Supervisor: Evgeny Rivkin.
Hardware & Software Needed For LAN and WAN
Copyright Arshi Khan1 System Programming Instructor Arshi Khan.
MDK-ARM Microcontroller Development Kit MDK: Microcontroller Development Kit.
Com Port API Karl Riehl
General System Architecture and I/O.  I/O devices and the CPU can execute concurrently.  Each device controller is in charge of a particular device.
NDIS LBFO Miniports (Load Balancing And Failover) Larry Cleeton Program Manager Windows Networking And Communications Microsoft Corporation.
LWIP TCP/IP Stack 김백규.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 8-1: I/O Management Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
LWIP TCP/IP Stack 김백규.
Silberschatz, Galvin, and Gagne  Applied Operating System Concepts Module 2: Computer-System Structures Computer System Operation I/O Structure.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
I/O Example: Disk Drives To access data: — seek: position head over the proper track (8 to 20 ms. avg.) — rotational latency: wait for desired sector (.5.
Embedded Runtime Reconfigurable Nodes for wireless sensor networks applications Chris Morales Kaz Onishi 1.
Operating Systems Lecture 7 OS Potpourri Adapted from Operating Systems Lecture Notes, Copyright 1997 Martin C. Rinard. Zhiqing Liu School of Software.
Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage Structure Storage Hierarchy Hardware Protection Network Structure.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Operating Systems Lecture November 2015© Copyright Virtual University of Pakistan 2 Agenda for Today Review of previous lecture Hardware (I/O, memory,
A Critical Analysis of the Windows mLAN Driver
WHDC PowerPoint Template Notes & Handouts
1 Presented By: Eyal Enav and Tal Rath Eyal Enav and Tal Rath Supervisor: Mike Sumszyk Mike Sumszyk.
1 Networks: A group of two or more computer systems linked together. There are many types of computer networks, including: local-area networks (LANs) :
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Operating Systems 1 K. Salah Module 1.2: Fundamental Concepts Interrupts System Calls.
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
Silberschatz, Galvin and Gagne  Applied Operating System Concepts Chapter 2: Computer-System Structures Computer System Architecture and Operation.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Computer Studies (AL) I/O Management. Reference Silberschatz, Galvin, Gagne “Operating System Concepts 6 th edition”, 2003, Wiley Stallings, “Operating.
Chapter 1 Basic Concepts of Operating Systems Introduction Software A program is a sequence of instructions that enables the computer to carry.
© 2015 Wind River. All Rights Reserved. Integrating FACE™ Aligned Componentry Larry Kinnan Principal Technologist, Wind River.
ECE 354 Copyright C Andras Moritz, S. Kundu Big Picture for Lab 5.
MINIX Presented by: Clinton Morse, Joseph Paetz, Theresa Sullivan, and Angela Volk.
© 2002, Cisco Systems, Inc. All rights reserved..
MICROCONTROLLER INTERFACING WITH STEPPER MOTOR MADE BY: Pruthvirajsinh Jadeja ( ) COLLEGE:DIET BRANCH:EC.
LonWorks Introduction Hwayoung Chae.
1 Chapter 2: Operating-System Structures Services Interface provided to users & programmers –System calls (programmer access) –User level access to system.
Android Mobile Application Development
Operating System Structure
Chapter 2: Computer-System Structures(Hardware)
Chapter 2: Computer-System Structures
LWIP TCP/IP Stack 김백규.
Programmable Logic Controllers (PLCs) An Overview.
Computer-System Architecture
Module 2: Computer-System Structures
Chapter 2: Operating-System Structures
Operating Systems Lecture 3.
Module 2: Computer-System Structures
Java Programming Introduction
Outline Operating System Organization Operating System Examples
Chapter 2: Computer-System Structures
Chapter 2: Computer-System Structures
Module 2: Computer-System Structures
Chapter 2: Operating-System Structures
Module 2: Computer-System Structures
Presentation transcript:

Final Presentation Wireless LAN driver for Win CE Eli Bendersky & Igor Oks Supervisor: Yevgeny Rivkin

Project Goals Experience with Win CE based development Understanding the internals of a WLAN card driver Serve as a starting point for future projects based on communications using the protocol Set up a functional WLAN environment Important: Extensive documentation

Overview Driver originally written by Symbol Technologies Handed over to Intel for further development Our laboratory received the sources from Intel to understand and improve the driver

Driver Development Models Monolithic – code consists of both platform dependent and platform independent code Layered – code is divided to platform independent code (usually common to all drivers) and platform dependent code

NDIS Network Driver Interface Specification Provides a fully-abstracted interface for network adapter device-driver development

Miniport Drivers Our driver is a Miniport driver A Miniport driver is wrapped with NDIS from both sides Higher level applications use NDIS calls to contact the driver The driver uses NDIS calls to connect to the underlying hardware

Driver Code

DriverEntry Primary initialization routine for the driver Initializes the wrapper and registers the miniport driver in the system

Demonstration: Sending mechanism

Interrupt Handling Hardware generates an interrupt whenever it reaches a state where software intervention is required The interrupt is handled by the Interrupt Service Routine (ISR)

IsrIsr This handler implements MiniportIsr Called when an interrupt arises Defers most I/O interrupt handling to IsrHandleInterrupt

IsrHandleInterrupt Handles most of the interrupts for the driver Upon receiving interrupts, appropriate functions are called

SendSend Implements the MiniportSend handler Handles some bureaucracy of interrupt masks and defers the actual sending to AdapCopyDown

AdapCopyDown Copies data from memory to the adapter Uses the AdapWriteUshort function to write data to the adapter from the memory buffer

AdapWriteUshort Writes one USHORT (unsigned short, usually 4 bytes) to the adapter Calls NDIS’s supplied NdisRawWritePortUshort routine

NdisRawWritePortUshort NDIS internal function Writes an USHORT value to an I/O port on the network card

Building the Driver Porting to MS Visual C++ Embedded workspace Modifying workspace settings Adapting parameters for Win CE compilation

Building the Driver (cont.) Finding suitable Project Settings Code Generation / Runtime settings Object / Library modules Conditional compilation settings

Building the Driver (cont.) Resolving compilation and linkage errors Modifying code for successful linkage Linking to the DDK Linking to NDIS

Results A lot of experience with Win CE driver development Internals of a WLAN driver understood and documented Extensive documentation written Working WLAN environment wasn’t set up

Reasons for failure to set up a working environment No support from Intel No hardware specification No external documentation for the driver Therefore: No practical way to debug and improve the code

Some Optimism The knowledge gained and documented during the project can be very helpful to future projects Hopefully the above mentioned resources will be available in the future This, together with our documentation can give future projects a very good starting point