Mobile Broadband Driver Development for Windows 7

Slides:



Advertisements
Similar presentations
Optimizing Device Drivers For Terminal Servers Plug And Play Device Redirection Framework Gaurav Daga Program Manager Windows Terminal Server Microsoft.
Advertisements

Introduction Service Activation Device-Based Integration Portal-Based Integration Manual Service Activation Access Point Name (APN) Database (DB) Integration.
Virtual Machine Queue Architecture Review Ali Dabagh Architect Windows Core Networking Don Stanwyck Sr. Program Manager NDIS Virtualization.
Mobile DevOps Mobile Apps + APIs = Mobile DevOps Alex Gaber Crittercism QCon New York 2014.
Network Power Management for Windows 7
1 © 2006 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Using the Cisco Technical Support & Documentation Website for Voice Issues.
© 2012 Cisco and/or its affiliates. All rights reserved. Presentation_ID Cisco Public Quad APIs and SDK Preview Sachin Smotra Product Manger, Enterprise.
Provided by: Microsoft ISV OEM IHV User Mode Kernel Mode Mobile Broadband Driver Model Command Line Interface Command Line Interface Session.
IIS7 for Developers Leon Langleyben Chief Architect SRL Group
Certification Test Tool Update Toby Nixon Program Manager Microsoft Corporation.
rd Party Connection Manager User Mode Kernel Mode Mobile Broadband Driver Model Command Line Interface Command Line Interface Mobile.
Introduction To The Wireless WAN Program Hong Liu Program Manager – WWAN Windows Networking and Devices Microsoft Corporation.
Created by the Community for the Community Building a RFID solution in BTS 09.
SMS Gateway OZEKI NG Document version: v Adding SMS functionality to SysAid.
Print Verifier Ashwin Needamangala Senior Test Development Lead Documents and Printing Team
Implementing Efficient RSS Capable Hardware and Drivers for Windows 7
FTP. SMS based FTP Introduction Existing System Proposed Solution Block Diagram Hardware and Software Features Benefits Future Scope Conclusion.
1 © 2006 Cisco Systems, Inc. All rights reserved. Session Number Presentation_ID Using the Cisco Technical Support & Documentation Website for Security.
© 2012 Cisco and/or its affiliates. All rights reserved. CDN-4698 Cisco Public Collaboration Enabled Business Transformation (CEBT) Integration Platform.
Windows Internet Connection Sharing Dave Eitelbach Program Manager Networking And Communications Microsoft Corporation.
NDIS LBFO Miniports (Load Balancing And Failover) Larry Cleeton Program Manager Windows Networking And Communications Microsoft Corporation.
David Harding Software Design Engineer Network Devices Platform Microsoft Corporation SoftAP-Based Test Infrastructure For Obtaining The Logo For WLAN.
Module 14: Configuring Print Resources and Printing Pools.
How to Add WMI Interfaces to SCSIPort and Storport Miniports
Troubleshooting Replication and Geodata Services
Copyright ®xSpring Pte Ltd, All rights reserved Versions DateVersionDescriptionAuthor May First version. Modified from Enterprise edition.NBL.
Windows Image Acquisition Enhancements In Windows Vista
Developing WIA Drivers Byron Changuion Developer Windows Imaging Group Microsoft Corporation.
ANDROID Presented By Mastan Vali.SK. © artesis 2008 | 2 1. Introduction 2. Platform 3. Software development 4. Advantages Main topics.
Configuring Network Connectivity Lesson 7. Skills Matrix Technology SkillObjective DomainObjective # Using the Network and Sharing Center Use the Network.
LiveCycle Data Services Introduction Part 2. Part 2? This is the second in our series on LiveCycle Data Services. If you missed our first presentation,
Exploiting Windows 2000 Kyle Marsh Software Design Engineer Windows Evangelism Microsoft Corporation
Certification Test Tool Sarat Manni Test Lead Microsoft Corporation.
Compatibility and Interoperability Requirements
3rd Party Connection Manager User Mode Kernel Mode Mobile Broadband Driver Model Command Line Interface Command Line Interface Mobile Broadband.
NDIS 6.20 Overview Bob Combs Lead Program Manager Core Networking Narsi Nagampalli Lead Software Development Engineer Core Networking.
Virtual Machine Queue Driver Development Sambhrama Mundkur Sr. Software Design Engineer Core Networking
Enhanced Storage Architecture
PCs and Devices in Windows 7: What You Need to Know Cameron Brodeur Program Manager Device Foundation Platform Adam Lenart Software.
GPRS functionality overview in Horner OCS. GPRS functionality – Peer to Peer communication over GPRS – CSCAPE connectivity over GPRS – Data exchange using.
NDIS Intermediate Drivers Larry Cleeton Program Manager Windows Networking And Communications Microsoft Corporation.
NDIS 6.0 Technical Update Alireza Dabagh Development Lead Network Devices Platform microsoft.com Microsoft Corporation.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Windows Logo Program Tests for NDIS 6.20 Eric Li Test Lead Networking Ecosystem Team Michael Nanakul Test Lead Networking Ecosystem.
Mobile Development Community Chung Webster Consultant Microsoft Developer Services.
WHQL Code Coverage Prototype Program Andy Wen. 2 Agenda What is Code Coverage Prototype Program? What is Code Coverage Prototype Program? A prototype.
Customer and Partner Connections Design and Develop Assess and Certify.
NDIS 6.0 Roadmap and Value Statement
Making The Most Of RFID In Your Applications Anush Kumar DATL01 Program Manager Microsoft Corporation
© 2008 by Wind River; made available under the EPL v1.0 | 19-Nov-2008 TCF The Target Communication Framework Michael Scharf, Wind River wiki.eclipse.org/DSDP/TM/TCF_FAQ.
THE EYESWEB PLATFORM - GDE The EyesWeb XMI multimodal platform GDE 5 March 2015.
Hands-On Microsoft Windows Server Implementing User Profiles A local user profile is automatically created at the local computer when you log on.
What’s New in Fireware v WatchGuard Training.
Accelerometer based motion gestures for mobile devices Presented by – Neel Parikh Advisor Committee members Dr. Chris Pollett Dr. Robert Chun Dr. Mark.
Wednesday NI Vision Sessions
WiFi Hardware IHV Miniport Driver (ExtSTA, NetMon, ExtAP) NDIS Port 1 VWiFi Filter Driver VWiFi Bus Driver VWiFi Miniport Driver NDIS Port.
Rade Trimceski Program Manager Microsoft Corporation Mitesh Desai Software Design Engineer Microsoft Corporation.
Device Service SDK Deep Dive
Developing Drivers in Visual Studio
OPNFV: Support for HA Guest APIs: Introduction
bh
Building great Metro style apps for mobile broadband devices
Understanding mobile broadband and connection management in Windows 8
Introducing low-power buses for Windows 8
Testing mobile broadband devices
Welcome to GDC’05 Riyadh, Saudi Arabia
Certifying graphics experiences on Windows 8
12/1/2018 1:01 PM P4032 System Performance Is a Feature – Understanding System Health Through Telemetry - a continuation of Real-time sentiment built on.
Delivering great hardware solutions for Windows
Presentation transcript:

Mobile Broadband Driver Development for Windows 7 Malayala Srinivasan (Srini) Senior Program Manager Lead Wireless WAN - Microsoft IDC r.malayala.srinivasan@microsoft.com

Agenda Session Goals Mobile Broadband in Windows 7 Driver Design Challenges Driver Development Stages Call to Action

Session Goals This session is targeted for the Mobile Broadband driver developer community and will: Introduce Mobile Broadband (MB) driver development for Windows 7 Identify and prepare for key driver design areas in Windows 7 Help in getting ready for MB driver development in Windows 7

Terminology Mobile Broadband is also referred as Wireless WAN WWAN MB VAN UI – View Available Networks UI is Windows Vista’s “Connect to network” UI equivalent in Windows 7 Launched either through “Connect To” or “Network Tray Icon” Mobile Broadband Driver is also referred as IHV Miniport Driver MB Driver Miniport Driver

Mobile Broadband in Windows 7 Driver developers must use the “Mobile Broadband Driver Model Specification” for Windows 7 Supports packet-switched data connectivity over the Wireless WAN (3GPP / 3GPP2) devices Based on NDIS6.20 miniport driver model Control path designed for slow response devices (AT command based) Data path optimized for Wireless WAN devices New logo program for Mobile Broadband devices in Windows 7 New APIs for Mobile Broadband user-mode application development in Windows 7

Windows 7 Mobile Broadband Architecture View Available Network UI Connection Flow Experience UI Properties UI 3rd Party Connection Manager Command Line Interface User Mode Mobile Broadband API Profiles Session 0 WWAN Service NDISUIO Provided by: Microsoft ISV OEM IHV Kernel Mode Mobile Broadband Driver Model WWAN Miniport Driver WWAN Miniport Driver MB Miniport Driver

NDIS6.20 Data Path Optimizations for MB Devices IHV Miniport Driver NDIS 6.0 TCP/IP Stack Send / Receive 802.3 Frames NDIS 6.20 IP Frames DHCP Emulation ARP Emulation Windows Vista Windows 7 Windows 7 IHV Miniport Drivers for Mobile Broadband can: Take advantage of raw IP support in send/receive path Eliminate DHCP and ARP spoofing in miniport drivers

Control Path Functionalities Mobile Broadband Driver Model defines the following control path functionalities for the IHV drivers Device State Management Connectivity Management Radio Control SMS (Short Message Services) PIN Provisioned Contexts Service Activation Vendor Specific

Control Path for Mobile Broadband Drivers WWAN Service uses NDIS OIDs for control requests (SET or QUERY) to miniport drivers. Miniport drivers can respond asynchronously to WWAN Service. Device state changes can be notified to WWAN service using event notification by miniport drivers

Asynchronous Response WWAN Service Miniport Driver Designed for slow responding AT command based devices Initiated by WWAN Service 2 Types : SET or QUERY RequestId is Non-NULL NdisOidRequest Oid = OID_WWAN_CONNECT RequestHandle = 0x12345678 RequestId = 0x0000F00D … AT Cmd(s) to Device Return NDIS_STATUS_INDICATION_REQUIRED NdisMIndicateStatusEx Device Responds StatusCode = NDIS_STATUS_WWAN_CONTEXT_STATE DestinationHandle = 0x12345678 RequestId = 0x0000F00D ActivationState = WwanActivationStateActivated …

NdisMIndicateStatusEx Event Notification Used for device or network state changes Initiated by driver Request Id = NULL WWAN Service Miniport Driver Device / Network state change NdisMIndicateStatusEx StatusCode = NDIS_STATUS_WWAN_CONTEXT_STATE RequestId = 0x0 ActivationState = WwanActivationStateDeactivated …

3rd Party Apps / Connection Managers Custom IHV Features 3rd Party Apps / Connection Managers Framework provides vendor-specific OID for driver developers to implement IHV specific features WWAN Service provides a pass-through control path for Windows 7 applications to communicate with IHV drivers Set VendorSpecific OnEventNotification WWAN Service NDIS_STATUS_WWAN_ VENDOR_SPECIFIC OID_WWAN_VENDOR_SPECIFIC MB Miniport Driver

Driver Design Challenges

OID Handler Implementation Understand AT commands and response from device. Responding to each OID may require sending multiple AT commands to device. Incorrect string processing in kernel mode may result in fatal failures. See “Using Safe String Functions” in the WDK http://msdn.microsoft.com/en-us/library/aa489552.aspx Partner with your Connection Manager application developer or firmware engineer to get more insight on AT command semantics. Some OID requests may require using device-specific AT commands. Some OID responses (e.g, network error code, service activation, and raw IP handling) may require firmware changes. Partner with your device firmware team to get firmware changed.

Asynchronous OID Handling WWAN Service may send multiple OIDs without waiting for the completion of the current OID request. Driver developers should design query OID handlers to send the requests to the device without serializing. For out-of-sequence device responses, use command tag in the response to associate the response with the corresponding request.

IHV and Operator-specific Commands Use OID_WWAN_VENDOR_SPECIFIC to implement custom features. For example: SIM Tool Kit (STK) Commands USSD Commands Phonebook Commands Voice Commands Firmware-specific commands And more … Use OID_WWAN_SERVICE_ACTIVATION to implement operator-specific service activation.

Staged Driver Development

Test the driver in each stage Driver Test Tools Use existing Connection Manager Write simple connect / disconnect app. WwanDriverTestApp from WDK * Windows 7 VAN UI , Advance UI * WwanDriverTestApp from WDK Windows 7 VAN UI , Advance UI Mobile Broadband Logo Tests from WLK Stage High Level Tasks Stage 0 Develop NDIS 6.0 driver or migrate from NDIS 5.x to NDIS 6.0 , if available Use custom Connect / Disconnect Control OID Test Send/Receive Path Stage 1 Implement basic OIDs from MB Driver Model Spec.* Test Connect / Disconnect experience with Windows 7 “VAN UI” Make the AT command parsing implementation robust Stage 2 Design and implement concurrent OID request handler. Implement rest of the mandatory OIDs from MB Driver Model spec Test PIN, roaming and profile related experience with Windows 7 UIs Stage 3 Data Path: Migrate to NDIS 6.20 - Implement Raw IP support. Remove DHCP & ARP Use MB Logo tests to find issues and fix them Prepare for Mobile Broadband Device Logo * Available at the time of Windows 7 Beta Test the driver in each stage

Development Best Practices Plan and implement the following items early in the development cycle of a Mobile Broadband driver : Log the AT commands and responses in a file. Helps in debugging and root cause analysis. Use Event Tracing to log configuration and network issues. NdisWriteErrorLogEntry DDI for logging driver-related errors NdisWriteEventLogEntry DDI for logging generic or network-related issues Use the optional description member “StringsList” to log meaningful and actionable information regarding the error.

Call To Action Migrate existing NDIS 5.x mobile broadband drivers to NDIS 6.0 Helps in moving to NDIS 6.20-based Mobile Broadband Miniport model. MB devices must be NDIS 6.20-based to get logo. Prepare for testing commercially deployed Mobile Broadband device solutions in Windows 7. Get ready for Windows 7-based driver development. WDK will be available at the time of Windows 7 Beta. Review Mobile Broadband device logo requirements and send us feedback. Contact us at win7mb@microsoft.com

Resources Mobile Broadband Logo Requirements on https://winqual.microsoft.com/ Log in, click on the Logopoint link on the left side menu, and search for “MBN” requirements. WDK Documentation on MSDN Porting NDIS 5.x Drivers to NDIS 6.0 http://msdn.microsoft.com/hi-in/library/ms795567(en-us).aspx IP Helper http://msdn.microsoft.com/hi-in/library/bb742902(en-us).aspx Check the Windows 7 Beta release for additional resources: WDK documentation Mobile Broadband Driver Model Specification Mobile Broadband Driver Test App (WwanDriverTestApp) NDIS 6.20 SDK documentation Mobile Broadband API Specification Windows Logo Kit (WLK) Mobile Broadband Logo Tests WHDC Web site at http://www.microsoft.com/whdc/default.mspx Mobile Broadband Driver Development White Paper

Related Sessions NDIS 6.20 Overview Day / Time NDIS 6.20 Overview Mon. 9:45-10:45 and Tues. 9:45-10:45 Unified Tracing and Network Diagnostics Framework Mon. 1:30-2:30 and Wed. 11-12 Network Power Management in Windows 7 Tue. 5:15-6:15 Windows Logo Program Tests for NDIS Mon. 11-12 Wed. 9:45-10:45 Lab: How to Debug an NDIS 6.20 Driver Mon. 2:45-3:45 and Wed. 9:45-10:45 Discussion: Porting Drivers to NDIS 6.20 Wed. 8:30-9:30 Extending Device Installation by Using Co-installers Mon. 4-5 and Wed. 1:30-2:30 Using the Windows Feedback Loop to Deliver High-Quality Drivers Mon. 8:30-9:30 and

Thank You!