Presentation is loading. Please wait.

Presentation is loading. Please wait.

A Critical Analysis of the Windows mLAN Driver

Similar presentations


Presentation on theme: "A Critical Analysis of the Windows mLAN Driver"— Presentation transcript:

1 A Critical Analysis of the Windows mLAN Driver
Supervisor: Prof. Foss By: Shaun Miles

2 Overview mLAN system WDM DriverStudio Framework Object model
IEEE 1394 IEC 61883 WDM DriverStudio Framework Object model IOCTL analysis Conclusion and Questions

3 mLAN

4 mLAN cont. Bus manages itself – no server
PC is useful tool – connection management Application suit Driver makes PC look like mLAN device

5 FireWire – IEEE 1394 Flexible serial bus
Fast – good for real time multimedia Control and Status Register architecture Standardises offset locations Node – addressable entity

6 Asynchronous or Isochronous
Asynchronous – control packets Data integrity Any time arrival Isochronous – streaming packets Continuous stream CIP – IEC 61883 Ideal for real-time systems

7 IEC 61883.6 High level streaming standard
Audio and music data transmission Based on mLAN specification Common isochronous packet – CIP AM824 8 bit label 24 bit audio/music data

8 Why study the driver? To understand the driver
Platform to investigate mLAN potential Model driver for future extensions Audio/video extension?

9 Windows Driver Model Kernel-mode vs user-mode drivers
All kernel-mode drivers – WDM drivers Supports PnP – device management Driver – communication pathway – I/O Layered architecture – driver stack

10 IO request packet Further specifies the type of request within the major category All IRPs have a major function code Categorises type of request Target device object of the I/O request Specifies IOCTL code if has major function code of IRP_MJ_DEVICE_ CONTROL

11 I/O Control code Means for driver responding to IO request
Custom codes for special drivers – mLAN Definable codes with handler routine Communication pathway Contained in IRP – IO request packet Use DeviceIoControl IOCTL code Handle to device - GUID Input/output buffer

12 DriverEntry AddDevice IRP Handler
User-mode space Application Ah, a new device This is the driver to load WIN32 API I/O Manger The kernel PnP Manger System Registry Object Manger – system addressable memory Driver object IRP Device Object DriverEntry AddDevice IRP Handler New Device!!

13 DriverStudio Driver development tool C++ class library framework
Utility classes Forms skeleton, backbone of driver Encapsulates essential driver features Used by mLAN

14 mLAN driver object model

15 Kernel Streaming Minidriver
Stream Minidriver Filter driver Controls adapter Stream Adapter Controls stream Controls hardware Stream Data processing of media stream

16 IOCTL code handling

17 mLAN IOCTL codes Grouped by underlying functionality
IEEE 1394 asynchronous requests IEEE 1394 isochronous streaming IEC 61883 ASIO – Audio Streaming Input Output WDM Streaming (KS)

18 WDM Streaming (KS) Inter-driver communication KS Minidriver to mLAN

19 ASIO Implements ASIO driver functionality Overrides ASIO classes
Used by applications for audio record and playback

20 Asynchronous IEEE 1394 Asynchronous communication with bus via Firewire bus driver Allocate/deallocate bus resources Channel Bandwidth Address range Driver state information

21 Isochronous IEEE 1394 Allocate/deallocate stream resource
Start stream creates WDM minidriver to control stream Make several requests to Firewire driver to service initial request

22

23 61883 Uses 61883 protocol driver Formatting of stream data
Used for plug modelling and connectivity Plug – input/output Start/end point of stream

24 Conclusion Driver is clearly structured Modules based on functionality
Compilation problems due to incompatability issues Analysis done manually, time consuming and messy Missed out on powerful debugging tool

25 Questions? Thank you


Download ppt "A Critical Analysis of the Windows mLAN Driver"

Similar presentations


Ads by Google