1 / 14

A Critical Analysis of the Windows mLAN Driver

A Critical Analysis of the Windows mLAN Driver. Supervisor: Prof. Foss By: Shaun Miles. Overview. What is mLAN? Project Focus Windows Driver Model – more in depth mLAN Driver Analysis Timeline Questions?.

ruby
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. Overview • What is mLAN? • Project Focus • Windows Driver Model – more in depth • mLAN Driver Analysis • Timeline • Questions?

  3. 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 Isochronous and Asynchronous transfer methods Standardised – built on CSR architecture or 1394 What is mLAN?

  4. mLAN Device PC 1 2 3 4 0 IEEE1394 Interface Card mLAN Driver What is mLAN cont… • Can have PC host controller • modelling device connection • connects input/output plugs between devices • allows easy routing of audio

  5. Project Focus • Windows drivers must conform to WDM architecture • provides defined communication stream • how applications access hardware/devices • call appropriate system services • mLAN Driver: virtual management of devices on the firewire bus via interface card in PC • Understand yamaha’s mLAN driver approach • Driver design: object model and sequence diagrams • Write IOCTLs wrapper classes

  6. Windows Driver Model - WDM • Architecture for Windows Operating system • designing • developing • Kernel-mode driver • system calls • has to be reliable • Layered approach • driver stacks • moves away from monolithic drivers

  7. 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 • handles & allocates hardware resource requests

  8. I/O Request Packets – IRP’s • Built by I/O Manager • In response to application • system communicates with kernel-mode drivers • Driver Communication packets • requests an action from device • handled by relevent driver in stack • passed on until request is satisfied

  9. IOCTLs • I/O Control Codes – part of IRP • Specifies function or action other than read/write requests • Defined by unique code • Project focus: IOCTLs wrapper classes • Interface an application can communicate directly with a device via its driver

  10. Device and Driver Objects • Driver object • used by I/O Manager to access driver code • contains pointers to driver entry routines • created in I/O Manager on driver install and load • Device object • represents a logical, virtual, or physical device • handles I/O requests (IRP’s) • does most of the processing

  11. Applications User Space WIN32 Kernal Space PnP Manager I/O Manager Power Management IRP Client Driver IRP IRP 1394Bus IRP IRP Host Controller IRP IRP PCI HAL Hardware Bus Example of driver stack • Simplified view • I/O manager creates IRP • Drivers pass down until request satisfied

  12. Application user space kernel space IOCTL calls CmLanBusDriver mLAN bus driver CmLanBus mLAN (child) Device 1394 ASIO WDM AUDIO WDM MIDI kernel space hardware mLAN Driver Analysis • CmLANBusDriver • Driver object • handles driver initialisation, device management • CmLanBus • Device object • implements PnP, Power and IRP management functionality • Makes use of other client drivers

  13. Time Line • Third Term: • Produce Object Model • Extrapolate Sequence Diagrams • Write IOCTLS wrapper classes for driver • Project Poster • Fourth Term: • Finish and test IOCTLS wrappers • Write short paper • Write thesis

  14. Questions? Thank you

More Related