1 / 11

A Critical Analysis of the Windows mLAN Driver

A Critical Analysis of the Windows mLAN Driver. Supervisor: Prof. Foss By: Shaun Miles. Yamaha – using FireWire to connect studio devices via 1394 nodes implementing the mLAN architecture Allows easy connection of equipment in a professional environment Moving away from legacy studios

rosina
Download Presentation

A Critical Analysis of the Windows mLAN Driver

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Yamaha – using FireWire to connect studio devices via 1394 nodes implementing the mLAN architecture Allows easy connection of equipment in a professional environment Moving away from legacy studios peer-to-peer transfer of data – no need for host server serial bus – high speed standardised, structured architecture What is mLAN?

  3. Can have PC host controller • modelling device connection • connects input/output plugs between devices • allows easy routing of audio/video • To understand the approach taken by Yamaha, must understand the Windows Driver Model (WDM) • drivers must conform to WDM architecture • handle I/O requests (IRP) from system • call system services in response • issue IRP’s to other drivers

  4. mLAN Device PC 1 2 3 4 0 IEEE1394 Interface Card mLAN Driver I am looking at… • Driver: how the host controller communicates with the firewire bus and connected devices via interface card in PC • Understand Driver design and development • Understand yamaha’s mLAN driver approach

  5. WDM • System creates Physical Device Object (PDO) on device detection • contains physical attributes of device • used for configuration and Power management • PDO creates Functional Device Object (FDO) • represents device • models device functionality • Driver creates instance of FDO on driver load • associated with PDO • interacts with device • can have many instances

  6. Windows Kernel: • Power Management • handles device power management messages • I/O Manager • builds suitable IRP’s from requests from applications • passes IRP’s to driver stack • PnP Manager • manages device objects that represent physical devices • Manages PDO’s and enumerates FDO’s

  7. Kernal Space PnP Manager I/O Manager Power Management IRP Upper Filter IRP IRP Functional IRP IRP Lower Filter IRP IRP Bus HAL Hardware Bus • Function driver • understands how to make the hardware work • implements functionality of device • initiates I/O operations • Bus driver • manages connection between the hardware and computer • Filter drivers • optional secondary or support drivers • usually implemented by vendor

  8. Application user space kernel space IOCTL calls CmLanBus mLAN (child) Device 1394 ASIO WDM AUDIO WDM MIDI CmLanBusDriver mLAN bus driver kernel space hardware mLAN Driver Analysis • CmLANBusDriver - extends KDevice • handles driver initialisation, device management • PDO of driver • CmLanBus – extends KPnPDevice • implements PnP, Power and IRP management functionality • FDO of driver • KClass – template class for driver – Driver Development classes

  9. I Propose… • To make a critical analysis of the driver, and in doing so • produce an OO design document – model driver • produce an API for the Windows mLAN Driver • easier means to develop applications for mLAN • for further research purposes • attempt to improve or suggest relevant improvements to the driver

  10. Time Line • due to nature of project, time line is not concrete and exact length can undetermined • Second term: • Produce OO design document • Evaluate Driver • Literature Review • Third Term: • Investigate driver for weaknesses • Produce API • Project Poster • Improve driver • Fourth Term: • Finish and test API • Write short paper • Write thesis

  11. Questions? Thank you

More Related