Download presentation
Presentation is loading. Please wait.
1
Final Presentation Wireless LAN driver for Win CE Eli Bendersky & Igor Oks Supervisor: Yevgeny Rivkin
2
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 802.11 protocol Set up a functional WLAN environment Important: Extensive documentation
3
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
4
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
5
NDIS Network Driver Interface Specification Provides a fully-abstracted interface for network adapter device-driver development
6
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
7
Driver Code
8
DriverEntry Primary initialization routine for the driver Initializes the wrapper and registers the miniport driver in the system
9
Demonstration: Sending mechanism
10
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)
11
IsrIsr This handler implements MiniportIsr Called when an interrupt arises Defers most I/O interrupt handling to IsrHandleInterrupt
12
IsrHandleInterrupt Handles most of the interrupts for the driver Upon receiving interrupts, appropriate functions are called
13
SendSend Implements the MiniportSend handler Handles some bureaucracy of interrupt masks and defers the actual sending to AdapCopyDown
14
AdapCopyDown Copies data from memory to the adapter Uses the AdapWriteUshort function to write data to the adapter from the memory buffer
15
AdapWriteUshort Writes one USHORT (unsigned short, usually 4 bytes) to the adapter Calls NDIS’s supplied NdisRawWritePortUshort routine
16
NdisRawWritePortUshort NDIS internal function Writes an USHORT value to an I/O port on the network card
17
Building the Driver Porting to MS Visual C++ Embedded workspace Modifying workspace settings Adapting parameters for Win CE compilation
18
Building the Driver (cont.) Finding suitable Project Settings Code Generation / Runtime settings Object / Library modules Conditional compilation settings
19
Building the Driver (cont.) Resolving compilation and linkage errors Modifying code for successful linkage Linking to the DDK Linking to NDIS
20
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
21
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
22
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.