Device Driver Development...

Device driver development is one of the most complex areas of modern software engineering. Due to many multi-threaded race conditions in combination with simultaneous ongoing multi-level hardware interrupt levels and DMA operations, it is very easy to introduce hard-to-catch bugs that will not be detected until your product has been put into your customers hands.

Over the years we have implemented device drivers for all of Microsoft's operating systems as well as for many Mac, Linux and embedded systems. This experience, in combination with our deep understanding of the underlying hardware functionality, allows us to guarantee a robust and correct implementation of your next Device Driver project.

Click here for a free estimate on your current or future project Past Windows device driver projects

  • Windows 7/Vista WLAN 802.11n PCIe and Mini PCI device drivers. Developed Windows 7 and Windows Vista WDF KMDF NDIS Miniport network drivers. Developed AP and station system software in power management, MIMO Power Save, encryption and decryption, Wi-Fi performance and throughput optimization. Technology: WLAN 802.11n PCIe and Mini PCI, Environment: Visual Studio, C/C++, Windows 7/8.

  • Windows 7/8 PCI driver using Jungo toolkit. PCI DMA/chained buffer data processing, real time tasks, etc. Ported Driver Studio implementation to Jungo Windriver. Technology: C/C++, Environment: Driver Studio, Jungo.

  • Open Virtual Switch (OVS) on Hyper-V.platform. Virtual NIC driver in Windows OS, x86-64 memory mapped I/O instruction decoder and emulator, SR-IOV driver stack for SR-IOV physical and virtual functions (Hypervisor and Guest OS), SR-IOV device configuration and enumeration, GPU emulation and accelerated shared graphics driver in Hypervisor (Intel Sandybridge on chip GPU), Hypercall service Kernel mode library for para-virtualized Windows drivers and Hypervisor communication. (x86 and x86-64). High performance implementation of kernel datapath. High speed data transfer in virtual network. The Hyper-V Extensible Virtual Switch architecture provides fast and thread safe user mode access for flow management.

  • Windows NDIS NIC Miniport device drivers for 802.11 wireless NIC. Porting of NDIS 4 version of NIC miniport driver to NDIS 5.

  • Windows 7 driver for a PCI Express (PCIe) device that provides PCIe to serial communications to be used in PC controlled paint mixers. Reviewed product plans and OEM hardware specification. Designed and developed Windows 7 PCI Express driver to support serial communication and configuration. Created installation package for the Windows 7 driver. Went through complete WHQL process and obtained Microsoft driver signature. Technology: WDM Driver, PCI Express, Installation Package. Environment: Visual Studio, C and C++, Windows 7 WDK.

  • Windows Server 2012 R2 NDIS 6.40 miniport for PCI Express Card. Porting functionality from Linux Driver. Technology: C/C++, Environment: Windows Driver Kit (WDK).

  • PC based digital TV and a set top box. The implementation includes Device Drivers and Direct-Show filters for the Digital TV system. The project involved providing an IP tunnel through MPEG-2 transport on either satellite or digital television. It Included interfacing with the Satellite receiver NDIS driver and the development of an Audio (AC3) and Video(MPEG-2) Direct-Show Source Filters.

  • WinUSB based device driver for scientific instruments on Windows 7 32bit and 64bit platforms, WDF kernel mode driver development. USB device driver development and debugging in C++ and C#. .NET framework, CLR, Kernel mode driver and user mode DLL, SDK API. Silent install of driver on Windows 7. Complete process to obtain Microsoft WHQL driver signature, DTM test and troubleshooting. Technology: WinUSB Driver, WDF, WHQL. Environment: Visual Studio, C++ and C#, Windows 7 WDK.

  • PCI Driver for custom PCI Card. Created INF file, Implemented user mode test application. Technology: C/C++, Environment: Windows WDK, Visual Studio 2010.

  • Windows XP NDIS 5.1 and WDM Driver development. Hired as principal to solve kernel issues in redundant-network process control software that manifested with migration effort from NT4 to XP. Instrument and debug core kernel components including proprietary NDIS protocol driver. Implement WDM serial filter driver to solve printer issue. Develop NDIS 5.1 Intermediate driver and corresponding installation package for next-generation project effort. Adapt network component configuration packages. Develop WMI kernel and user-mode modules. Improve XP build process for Foxboro kernel components.

  • Advanced R&D of Windows WDM USB drivers, PIC32, PIC18, and OMAP-L137 firmware, flash based storage, CMOS sensor, GPS technologies, wireless communications, USB firmware and kernel mode drivers, and application software. Defense and Specialized Government Contractor Environment.

  • Kernel mode bus driver, NDIS miniport driver, and KMDF storage driver. Debug kernel mode driver in WinDBG, WPP TraceView, DebugView, IRP Trace, Prefast, Driver Verifier. Implemented Windows user mode services in VBScripts and C# to manage networking services. Microsoft Windows PowerShell script design and command line tools. InstallShield MSI and InstallScript installer design and debugging, silent mode enterprise installer design. Technology: Fiber Channel, SAN, I/O virtualization, iSCSI, NDIS, KMDF. Environment: WinDBG, WPP TraceView, DebugView, IRP Trace, Prefast, Driver Verifier, Windows PowerShell.

  • Windows 7 NDIS 6.20 TCP/IP Driver. Utilized Scatter / Gather DMA for maximum throughput. Technology: C/C++, Environment: Windows WDK.

  • Development of firmware, kernel mode drivers, API libraries, and applications level software for high end scientific digital camera systems. Block level hardware design for PCIe, USB, and 1394 interfaces. FPGA based imaging microcontroller to support advanced imaging and system integration. Developed instruction set. Was a key player in development of technology for precise timing of FPGAs for maximum CCD performance - forming the core of the client's most advanced camera systems.

  • NDIS 6 driver for a 10GBit Ethernet Network Interface Card for the Windows Longhorn/Vista Operating System. Features include Receive Side Scaling support for MSI-X and optimization for MP server machine.

  • Windows 7 and MAC OS X Lion, Snow Leopard USB 3.0 HID Drivers for mouse/keyboard battery powered devices and application software. Windows 7 HID KMDF Driver development and debugging. MAC OS X Lion, Snow Leopard kernel and application programming in Objective C. USB HID Driver development and debugging for Logitech mouse/keyboard and desktop HID devices. Power management and optimization in battery operated devices. Design Windows 7 and MAC OS X driver for Logitech's next generation universal USB HID receiver modules. Maintenance and bug fixing for existing Logitech HID device drivers. Technology: USB 3.0 HID, KMDF, MAC OS. Environment: Visual Studio, C++ and C#, Windows 7 WDK.

  • Windows 7 USB driver for a composite CDC USB device. Technology: C, Environment: Windows WDK.

  • Windows Vista/XP and Mac OS USB and 1394 Firewire host driver for real-time 3D DirectShow digital video camera modules. Windows Vista/XP host driver development using Microsoft DirectShow, Microsoft Universal Audio Architecture (UAA) and Video Class USB device driver. Design 1394 driver for audio video camera modules. Design and develop user-mode plug-in to extend USB Video Class devices based on USB Video Control Extension Unit Descriptor. Build and test WDM KS filter graphs using Microsoft DirectX SDK COM APIs, Microsoft Windows Driver Kit (WDK) kernel streaming tools, etc. Color sensor data formats (RGB vs. YUV vs. etc.) and video compression (M-JPEG, etc.). Technology/Environment: 1394 Firewire, 3D DirectShow, Universal Audio Architecture, Video Class USB, WDM KS filter graphs, DirectX SDK COM, Winqual WHQL certification, Mac OS X kernel.

  • Windows Socket Direct provider on top of the RDMA iWarp RNIC API (socket emulation over RDMA).

  • Microsoft Winqual WHQL certification process Debug, troubleshoot and fix issues in existing Network adapter drivers for Microsoft Windows Vista and XP. Enhance and implement new features to meet new requirements. Take the Windows driver package through the Microsoft Winqual WHQL certification process, pass the WHQL DTM tests, submit Winqual package to Microsoft, and get the official digital certification and logo. Develop Mac OS X kernel extension (kext) driver. Technology/Environment: 1394 Firewire, 3D DirectShow, Universal Audio Architecture, Video Class USB, WDM KS filter graphs, DirectX SDK COM, Winqual WHQL certification, Mac OS X kernel.

  • Windows NDIS Miniport driver for Atheros 802.11 wireless NIC. Optimized for low latency and low jitter connection requirements for a gaming hardware company.

  • Advanced R&D on high performance computer interface technologies, including PCIe, PCI, IEEE 1394, USB 2.0 / 3.0. Scatter/Gather DMA in hardware, firmware, and kernel driver space to achieve maximum system performance. Directed development of nVidia CUDA based plugin for post processing of image data, mimicking / extending capabilities found in FGPA based camera systems and for legacy (non-FPGA) camera systems.

  • Dual Ethernet NDIS Driver for XP/Vista/2003 32/64-bit. Technology: C, Environment: Windows WDK.

  • NDIS Intermediate driver to support trunking. Load Balancing and Fail Over for multiple NIC devices.

  • Windows Vista/7 kernel driver for Bluetooth 3D glasses. The driver synchronizes the 3D glasses with Windows host HID Bluetooth stack, Works with CSR and Broadcom Bluetooth chipsets and SDKs, Implements C and C++ kernel mode Bluetooth driver and firmware. Designed and developed GPU display and graphics driver, DirectX, Direct3D, WDDM, and driver installation packages in MSI, InstallShield. C and C++ development of display and graphics driver in Microsoft Display Driver Model (WDDM), DirectX and Direct3D video rending, encoding and decoding, and resolve issues in existing driver. GPU driver installer design and implementation in InstallShield on Windows Vista and XP.

  • Driver stack for supporting PCIe IO Virtualization in Windows Longhorn Operating System. The design is based on a virtual bus driver which instantiates multiple Physical Device Objects (PDOs) for every Virtual Function configured in the PCIe Root Complex (RC).

  • Silent mode driver installer design and implementation. MSI driver installer package design and implementation in InstallShield and Microsoft installer. Coinstaller design and implementation, integrate driver installer with existing C and C++ coinstaller, DLL and applications to validate driver INF, matching device IDs with hardware installed, etc. DIFx driver installation framework programming. Develop Apple Mac application on OS X Leopard, installer packages, DMG packaging. Technology/Environment: Bluetooth, CSR and Broadcom Bluetooth chipsets, GPU display and graphics driver, DirectX and Direct3D, MSI driver installer package, OS X Leopard, C and C++.

  • Windows kernel mode filter drivers for blocking image capture over GDI and WDDM standard drivers.

  • Implemented SCSI III Medium Changer, 200 Disc DVD Changer, 1394, Am188 RTOS/Firmware, Windows Driver Development. Development environment used Paradigm C++ Professional Linker / Locator, RTKernel-C on embedded x86. Ported RTKernel-C RTOS from PC/DOS environment to Embedded / Paradigm environment. Project was showcased as a main stage keynote demo for WinHEC 1997.

  • Windows File system minifilter driver and its communication to other kernel components for proprietary file-access security system. Also developed System Event Log module.

  • Windows Device driver stack to support I/O virtualization system. The driver stack exposes a Virtual NIC (VNIC) and a virtual HBA (VHBA) to the Operating System enabling the sharing of network and storage devices over the an Infiniband (IB) fabric. The provisioning of resources to the server is flexible and manageable (preconfigured QoS). The I/O virtualization driver stack is implemented on top of the IB HCA drivers. The servers communicate with the physical devices through a fast and low latency RDMA channels.

  • XP/Vista/7 WDM USB Audio Filter Driver that intercepts sound buffers and periodically modifies the sound buffers. Technology: C, Environment: Windows WDK.

  • Windows Printer Driver (Unidriver) for business / industrial multi-form dot matrix printers.

  • Windows NT Adaptec Fibre Channel Storage Adapter Protocol Stack Maintenance. Developed Fibre Channel chip engineering validation diagnostics, also developed flash programming utility for Adaptec's Emerald chip. Emerald is used in JNI's FCE-3200 and FCE-6400 line of 32-bit and 64-bit PCI-to-Fibre Channel host adapter cards. 

  • Windows XP, Vista and Windows 7NDIS 5.1 miniport para-virtualization driver on Windows XP, Vista and Windows 7. FreeScale PowerPC e500. QEMU and Kernel-based Virtual Machine (KVM) virtualization structure development. Port 5.1 miniport to NDIS 6 spec. Crash dump analysis, BSOD root cause analysis and debugging. Obtain Microsoft Designed for Windows logo and pass Microsoft Winqual WHQL certification test. Technology: NDIS 5/6 miniports, QEMU, KVM, Winqual WHQL certification. Environment: Windows 7 WDK, C and C++.

  • Windows NDIS NIC Miniport device driver for 802.11a/b/g wireless NIC. 802.11 IBSS mode. Porting of NDIS 5 version of NIC miniport driver to NDIS 6.

  • Windows Direct Show filters for A/V subsystem. Multi-PVR Media Center product Architecture, Design and implementation. The design includes a kernel mode driver stack and Direct Show filters for the A/V subsystem. It provides a solution for fundamental issues in a broadcast network such as: client/headend synchronization, A/V lip-sync and distribution, clock skew fixing, minimal latency, headend clock recovery and implementation of trick modes on a live and stored MPEG transport stream. The architecture is based on the AVStream and the Broadcast Architecture frameworks and the WDM Kernel Stream.

  • Migration of NDIS 5.x miniport driver to interface with next-generation bus architecture for high-speed wide-area wireless CDMA device on Windows XP/2K platform. Work with modem firmware team on system integration and issue investigation. Instrumental in preparing driver for WHQL submission process. Develop component to interpret customer's proprietary structure in system BIOS to ensure device security at startup. Wrote corresponding documentation.

  • Windows XP/7 WDM driver for a PCI Express 64-port Serial I/O Board. Technology: C/C++, Environment: Windows WDK.

  • Windows 7/8 and embedded USB software and firmware design for the client's mobile TV, audio and video solutions. Architectural design and development of USB software on new IPTV chip product from scratch. IPTV device firmware based on ARM7TDMI processor and toolchain. Analog and digital video, DVB-T and DVB-H protocol, MPEG, YUV encoding and decoding. Chipidea USB IP stack modification and integration. Help hardware team make architecture decisions, e.g. Hardware buffer size requirement analysis. Video and Audio USB class driver and firmware development, High Speed USB 2.0 specification.

  • WDM USB host-side driver debugging of crash that manifested when client had moved to Windows 7 platform. Developed KMDF version of driver for proper migration. Subsequently assigned side task of investigating and developing solution employing Windows Text Services Framework for detecting various language input events.

  • WDM bus driver. Multiple remote control handsets architecture and design for using a single RF receiver. The design is based on a bus driver which creates device object for any remote control handset and a single HID mini driver (per handset) which maps USB packets to HID. Application use HID API to retrieve input regardless of the current windows in focus.

  • Windows WDM and WDF host USB audio and video driver design, and integration with device firmware, using DirectX, DirectShow, DirectSound, AVStream. Bulk, Interrupt, and Isochronous USB transfer, descriptor and endpoint priming, queue heads, etc. Debugging and troubleshooting with Ellisys and CATC USB analyzer, A/V decode, frame analysis. RGB and YUV format, encoding/decoding. Technology/Environment: USB 2.0, ARM7TDMI, DVB-T and DVB-H, MPEG, YUV, Chipidea USB IP, Video and Audio USB class, WDM and WDF, DirectX, DirectShow, DirectSound, AVStream RGB and YUV.

  • WDF and WDK drivers for Windows 7,Vista and XP PCI Cards. Designed and developed architecture for supporting client's proprietary PCI digital boards and corresponding network interface. Solution involved implementation of four (4) WDF drivers for platform matrix consisting of Windows 7 32-bit & 64-bit, and Vista & XP 32-bit. Driver set included: PCI driver for each of two (2) in-house boards; NDIS-WDM upper device filter driver; and custom root-enumerated driver for control and multiplexing between network and multiple PCI cards. Developed internal I/O test application. Applied client's signing certificate for 64-bit installations.

  • Windows 2003, 2003R2, 2008, 2008 R2, 2012 2 - Change Block Filter Driver development for NTFS, CSVv2, SMBv3, REFS, FAT32. Technology: C, Environment: Windows WDK.

  • Direct Show filters and device driver for ancillary A/V Windows CE based node. The node receive an A/V interleaved extended Transport streams over a network, demultiplex the audio and video streams and send packets to a hardware based MPEG decoder (TriMedia). The node includes an implementation of headend clock recovery as well as precise A/V lipsync.

  • PCI VxD to NT4 Audio Driver porting of embedded digital audio system from Windows 98 to NT Embedded. Solely responsible for port of VxD to NT4 kernel mode device driver for proprietary PCI Busmaster audio card to enable transition. Responsible for creating embedded configurations using Target Designer tool and subsequent installation of images.

  • Windows Vista/7 KMDF USB HID Driver for force feedback gaming device. Windows device driver development in C and C++. KMDF HID Filter driver development. Gaming HID USB device driver development. Microsoft WHQL certification and testing. Technology/Environment: KMDF USB 2.0 HID, force feedback, KMDF Filter Driver, WHQL certification.

  • Dedicated WIA driver for high-speed scanner. Technology: C/C++ Environment: Windows WDK.

  • XP/CE 802.11b NDIS 5.1 driver for PC card. The driver includes an implementation of the .11 OIDs, as well as support for encryption (EAP/TLS). The driver was WHQL certified and was complied with the Windows XP and CE .NET Zero Configuration.

  • Windows 802.11n WiFi drivers on Atheros AR9130 chipset, Broadcom and Marvell chipsets with Integrated MIPS, MAC, Baseband and ADC/DAC. Design and Develop Bluetooth high performance devices. Develop Linux 2.6 based kernel driver, BSP, MadWiFi driver, and USB based WiFi device drivers, LTIB (Linux Target Image Builder) to deploy BSPs (Board Support Packages) for various target platforms. Develop Windows 7 and Windows Vista WDF NDIS Miniport network drivers based on the latest Microsoft Windows 7 device driver architecture, device stage, device metadata packaging, etc.

  • Windows 7 WDM driver for a LSI SAS/SATA 5 Gbps PCI Express Host Controller Card. Involved use or PCI Express Protocol Analyzer to maximize throughput of multiple simultaneous DMA Transfers. Technology: C/C++ Environment: Windows WDK.

  • Voice over IP (VoIP) kernel mode driver. The kernel mode driver includes a Real Time Protocol (RTP) implementation over a TDI, which minimize the audio signal latency across the network. The driver handles network jitter and clock skews as well. The software uses the MGCP protocol for signaling and two voice CODECs: ADPCM and G711. The project was part of Shoreline Communication Softphone product.

  • Windows NDIS miniport device driver for 802.11b wireless NIC.

  • Porting of 32-bit XP/7 USB Driver to 64-bit. Driver Signing. Technology: C Environment: Windows WDK.

  • Windows PCI Express audio/video kernel mode drivers and user mode sample applications and SDK for surveillance camera and security market applications. C/C++ Host side kernel mode PCI Express driver development, bug fixing, and performance enhancement. Directly interface with client's PCIe surveillance card hardware and firmware. Driver transports live streaming compressed audio and video data MPEG4/H264/ASF, as well as uncompressed preview (live video) data through DMA at different video resolutions 30 fps, supports multiple channels on multiple PCIe cards. User mode multi-threaded GUI sample applications, DLLs and SDK to help customer write applications. Performance tuning and improvement, reduce driver and application's CPU utilization.Technology/Environment: PCI Express, C/C++, MPEG4/H264/ASF, Windows 7/8.

  • WDM Driver, BIOS and WinQual Development. Responsible for migration of BIOS-based FailSafe system to BIOS-agnostic Windows platform using two-phased approach: Phase 1: Modified kernel-mode WDM driver to support such activity. Implement Windows Native application to provide POST/BIOS verification upon startup of systems intentionally disabled via server UI. Incorporate installer library in previously-written personal Setup application provided to client. Develop applications/libraries to hook client system current input context. Upgrade DTM server and oversee Winqual (WHQL) efforts to obtain certifiable version of crucial driver component. Work with personnel dedicated to this custom effort to successfully deliver product to customer. Phase 2: Second phase of project involved migrating above security platform to desktop virtual environment. Involved in fundamental architectural discussions and subsequent design and implementation of proposed solution. Extend Linux kernel driver to support secure storage of data from previous phase. Customize third-party NDIS filter driver framework to adapt to platform, and work with team personnel to extend existing Windows WDF virtual PCI driver to support proprietary network over shared memory/shared interrupt interface; extend to KMDF v1.9. Implement Windows kernel mode driver-to-driver communication to provide proprietary network interface from Windows guest domain to secure host domain. Implement custom library to provide interface to these kernel-mode routines to fundamental product applications.

  • WDM Kernel Streaming driver for a USB camera. The driver includes an implementation of communication protocol, which controls the camera over asynchronous USB pipe. The driver receives a compressed video input stream through the use of isochronous USB channel. The driver was developed for the Logitech QuickCam USB product line.

  • Windows 2008 Windows Graphics Device Driver to replace rdpdd.sys for Windows Terminal Services. Framebuffer rendering from the GDI. Technology: C/C++ Environment: Windows WDK.

  • Windows Vista NDIS Network driver. Port of NDIS 5.1 to NDIS 6. Technology: C/C++ Environment: Windows WDK.

  • Windows Vista 32/64-bit NDIS Network Device Drivers. Design and develop VOIP based Ethernet Layer 2 protocol driver for Cisco IP Video phone, switches and routers. Port the existing CDP driver from Windows XP/2000 to Windows Vista 32-bit and 64-bit platforms. Implement Layer 2 Cisco Discovery Protocol driver and firmware based on CDP RFC specification. Technology/Environment: VOIP, Ethernet Layer 2, Cisco IP Video, CDP driver, CDP RFC specification, NDIS, WDM, TCP/IP, KMDF, x64, DIFx, 802.3 Ethernet, TLV/TTL processing, PREfast, DebugView, SoftICE.

  • NDIS protocol driver design based on Microsoft WDM, TCP/IP network programming. Driver porting from WDM on Windows XP/2000 to the latest KMDF driver architecture on Windows Vista. Windows Vista driver implementation, 64-bit x64 Windows Driver development. Ethernet NIC binding, 802.3 Ethernet protocol, TLV processing, multicast, TTL processing. PREfast for Drivers static analysis and driver verifier, DebugView, SoftICE driver debugging.

  • WDF USB driver for fingerprint sensor being ported to WDF and Vista 32/64-bit OS. Employed WDTF tools to assist with driver submissions for WHQL process. Develop filter driver for inserting SAS sequence into keyboard stream. Develop virtual mouse device stack using KMDF as prototype solution towards utilizing sensor for user I/O navigation.

  • WHQL certification, Microsoft Driver Install Framework (DIFx), InstallShield scripting, install packaging.

  • Apple Mac OS X platform software in Xcode. Technology/Environment: VOIP, Ethernet Layer 2, Cisco IP Video, CDP driver, CDP RFC specification, TCP/IP, x64, 802.3 Ethernet, TLV/TTL processing, PREfast, Apple Mac OS X, XCode.

  • Porting of Linux RAID driver to Windows SCSI miniport. Technology: C/C++ Environment: Windows WDK.

  • Windows XP/Vista Network Device Drivers. NDIS, WDM Driver, Windows Kernel, embedded software and BSP development for the company's complete line of WiMAX mobile wireless PC cards on Windows XP and Windows Vista, Reverse engineering pre-existing code-base, write new design specification documents based on the reverse engineering result, fix bugs and add enhancement features to the code-base thereafter. Support WiMAX drivers on PCMCIA, CardBus, MiniPCI, SDIO and USB PC card interfaces. Design and trouble-shoot wireless network drivers on Windows driver architectures through WinDBG, SoftICE, crash dump analysis, debugview, etc.

  • BlueTooth / Wireless driver for camera device. Technology: C/C++ Environment: Windows WDK.

  • Research of distributed file system on Windows 2000/XP. MIT Information Systems deploys and maintains AFS as a distributed file system across entire campus on XP and 2K workstations. Hired as principal to solve issues involving running AFS as Win32 system service. Research and author white paper for purposes of encouraging further discussion concerning benefits and tradeoffs of moving AFS to native file system running in kernel of XP/2K systems.

  • GEN 3.0 PCIe Reference Design card using Stratix GX FPGA. Implementation of Altera Express Driver and associated DDK in Linux. Development of Altera Express DDK for Windows using the Storport Miniport. 

  • Debugging of WDM PCI device driver that works on XP SP2 but stops working after SP3. Technology: C/C++ Environment: Windows WDK.

  • Windows 2000/2003 Server SCSI Port/Miniport drivers (Pentium + Itanium). Ported Windows code base to run as a Stor miniport driver for AMCC's next generation 1/2/4/10 Gig. product. Built-in failover and load-balancing capabilities. Performance enhancements via Intel VTune Performance Analyzer.

  • NDIS NIC Miniport for a IEEE-1394 satellite receiver card. The project includes the development of the WDM 1394 miniport and a Ndis miniport. The NIC miniport also DeMultiplex MPEG-2 streams to an elementary stream or IP datagram packet and deliver it to the transport drivers (IP Tunneling over MPEG2)

  • Windows 2000/XP SCSI miniport and Win9x VxD Development. Pioneer effort with select team to create client-side portion of streaming media player for Windows 2000/XP, leveraging existing technology for Win9x platforms. Responsible for kernel components including SCSI Miniport, dynamic device management, and completion of proprietary installable file system. Orchestrate developer-friendly build process for same project. Modify VxD components for previously released Win9x product.

  • PCI Express EXPRESSvault and DDR3 NVvault software maintenance. Environment/Technology: Microsoft Windows Driver Kit, Windows Storport Miniport. 

  • UMDF driver for USB 2.0 device on Windows 7 32 & 64 bit. Technology: C/C++ Environment: Windows WDK.

  • Debugging of device driver issues with USB GPS receiver on Windows XP. Technology: C, Environment: Windows WDK.

  • Windows XP/2003 RAID miniport driver for LSI 1068 SAS/SATA controller. Integrated the LSI 1068 chip firmware (MPI Fusion) to work with the Aristos software stack. This provided SAS/SATA support to the Aristos RAID controller, which was fibre channel based at the time. Part of small team which got the third generation chip (MPX) integrated to the Aristos Software Stack. This product has native SAS/SATA support and is a replacement for a currently shipping product. Refactored, simplified, cleaned up and solidified 'inherited' code.

  • Debugging of USB driver crashes for an embedded product. Technology: C/C++ Environment: Windows WDK.

  • Windows NDIS 5 Ethernet device drivers for AMD's PCnet family of products. Windows device drivers to meet latest NDIS 5 and OS specifications. Enhanced features for Fail-Over and Load Balancing as well as Power Management (On Now/ACPI) and Windows 2000 Plug n Play. Optimization of PCI bus mastering NDIS miniport for performance and implementation of Fast Ethernet Channel standard and Port Aggregation protocol. Implementation of IEEE 802.1p priority protocol. De-Serialization for NDIS 5 driver for the PCnet Ethernet 10/100 Mbps controller.

  • Windows virtual RAM/FILE-based storage driver for Win7/Vista/XP 32/64bit. Technology: C Environment: Windows WDK.

  • Windows Kernel mode drivers (PS/2 and Serial ports interrupt handlers) for pointing input devices: mice, touchpad, trackball, cordless devices etc.

  • Windows XP/7/Vista Serial port (RS-232/RS485) WDM driver for a PCI Express Card. Technology: C Environment: Windows WDK.

  • NDIS intermediate driver which was part of the RedCreek Communication VPN client software which enables a remote user to securely access corporate resources through either public networks or existing corporate dial-up facilities. Security is provided through the use of 56-bit DES, 168-bit Triple DES encryption) and the user authentication (ISO X.509 v.3 digital certificates), and the key management (IKE)

  • Windows XP/7 Serial Attached SCSI (SAS) Miniport driver for the LSI SAS 1064 Controller. Included installation script for seamless driver installation. Technology: C Environment: Windows WDK.

  • NDIS miniport device driver for a line of DSL network adapters.

  • NDIS network device driver. A design and an implementation of a high performance, deserialized network device driver for the 3COM Python network server based Network Interface Card. The driver maximizes the level of concurrency and the full duplex operation. It scales network throughput along with the addition of system processors and network cards. In order to implement the deserialization in the driver it should meet more stringent design requirements. The driver protects SW and HW critical resources and also manages its own queues rather than using the Operating System services.

  • Windows XP/Vista/7 XPS compatible print driver. Technology: C Environment: Windows WDK.

  • Windows 7 USB driver silent install. Signing, INF, WHQL etc. Technology: C Environment: Windows WDK.

  • Driver Signing of USB driver for XP and newer 32/64-bit platforms. WHQL-submission. Technology: C Environment: Windows WDK.

  • Windows XP and Vista WDF Driver for an infrared Device. Use of WinDbg and SoftICE. Technology: C. Environment: Windows XP, Vista DDK, Visual Studio .NET 2003, WinDbg.

  • Windows XP kernel-mode drivers for disk encryption. Modification of the bootloader, creation of disk filter drivers. Assembly and C reverse engineering. Documentation. Use of WinDbg and SoftICE. Technology: C. Environment: Windows XP DDK, Visual Studio .NET 2003, WinDbg.

  • TDI driver for a 10 Gbps Ethernet network card. Use of WinDbg and SoftICE. Technology: C. Environment: Windows XP DDK, Visual Studio .NET 2003, WinDbg.

  • Windows 2000 NDIS intermediate driver. An architecture and a design of a server based Port Aggregation and Fail Over system. The design was based on a development of a Windows 2000 NDIS intermediate driver for supporting VLAN (virtual LANs) and Fail-Over. This driver supports a Plug and Play configuration of virtual LANs and fail over teams. Also, it supports the Fast Ethernet Channel trunking protocol as well as a generic port aggregation.

  • Reverse-engineering and debugging of a multi-port serial WDM driver for Windows 2000/XP. Fixed major bugs and implemented flow control in the driver. This was for a custom multi-purpose I/O board. Use of WinDbg and SoftICE, Oscilloscope etc. Technology: WDM, C. Environment: Windows XP DDK, Visual C++ 6.0, WinDbg.

  • NDIS 5 network driver for 802.11a wireless device. The NDIS 5 driver was developed for a prototype in a ten-week period. Along with a driver a diagnostics infrastructure was developed to enable interaction between a user mode test script application and the hardware through the driver. The driver over the prototype was used to demonstrate a DVD stream playback over the network.

  • Porting an existing USB driver to Vista. Technology: WDM, C. Environment: Windows XP DDK, Visual C++ 6.0, WinDbg.

  • W98 to Xp PCI card driver porting for several custom PCI cards. Technology: WDM, C. Environment: Windows XP DDK, Visual C++ 6.0, WinDbg.

  • NT 5 Graphics and Video Input Drivers for the Cyrix Media-GX and Media-MXi platforms. The drivers were developed for the Windows NT 5.0 Beta Operating Systems and include the latest features such as : Multiple monitor support, Power management and Kernel Mode Interface. The Display driver includes the support for Direct Draw 6.0 and the implementation of the Video Port Extension interface.

  • Redesign of USB 1.1 USB driver to 2.0 for XP/Vista. 8 channel I/O isochronous audio data streaming Synchronization to master clock. I/O channel selection. Interface with a control panel. MIDI message handling support Multiple sample rate support (48KHz, 96KHz). Environment: Windows XP/Vista DDK, Visual C++ 6.0, WinDbg.

  • WDM Kernel Streaming driver for PC based digital TV. An architecture, design and implementation of system modules and device drivers for PC based digital TV. The implementation includes a WDM Kernel Streaming mini driver for controlling an on-board MPEG decoder and streaming data. The driver enables the satellite receiver PCI card to participate in a Direct-Show graph for streaming and synchronizing audio and video. The driver extracts data streams out of the MPEG2 transport and injects IP data to the built in IP stack of the Operating System. Also, an NDIS intermediate driver was developed to enable the delivery of an IP based data to the OS stack.

  • WDM driver for a custom PCI I/O card. The I/O card contained several D/A converters, serial EEPROM and other components that the card interfaced to via the I2C serial interface. A driver installation script was provided for seamless installation. The driver was designed to work on the Windows 98 / 2000 / XP / 2003 platforms. Technology: WDM, C. Environment: Windows XP DDK, Visual C++ 6.0, WinDbg.

  • Windows XP printer driver for USB Device. Windows XP DDK, Visual C++ 6.0, WinDbg.

  • Windows 9x and NT/2000 kernel mode development of XML/SVG printer drivers. Generates an XML/SVG file that contains scalable information that describes the printed page. The SVG file can later be viewed using Adobe's SVG viewer or printed to an SVG compatible printer. Technology: C. Environment: Windows 9x/2000 DDK, SoftICE.

  • XP/Vista/Server 2003/Server 2008 32/64-bit Windows Network Driver for Controlling QoS Tagging. Technology: C. Environment: Windows WDK.

  • Multi-Channel and AC3 Direct Show audio renderer filter audio driver for the Aureal Vortex hardware. The filter includes an implementation of a Direct Show graph clock, which is used to synchronize the audio, and video streams embedded in a DVD. The WDM driver supports an internal and external S/P DIF for multiple channel output.

  • WDM and VxD device drivers for Windows 95/98/98SE/2000/XP/Vista. The drivers intercept all sounds sent via the Wave and DirectX/DirectSound APIs, applies various 3D-sound algorithms to the sound data before sending the sound buffers on to the sound card or USB speakers. Also developed a user mode DLL for hooking Wave out on Windows 9x. Technology: WDM & VxD kernel mode development in C and x86 Assembly. Environment: 95/98/W2K DDKs. 16 bit compiler for the hook DLL.

  • Windows XP USB Driver for Custom USB Device. Device firmware development. MicroChip PIC4455. Microchip MPLab. Environment: Windows XP DDK, Visual C++ 6.0, WinDbg.

  • Windows 2000 Graphic Device Drivers for the Rendition 22000 graphic chip. A video miniport incorporated enhanced features of the Windows 2000 including Plug N Play, Power Management and the support for Multi-Adapters. Microsoft Windows Hardware Quality Lab (WHQL) tests.

  • Windows XP application, firmware and driver for USB2.0 SCSI NAND SD Flash mass storage device to help Production Test of USB flash drive controller & embedded USB PHY. Develop Visual Basic 6 test application and user mode DLL in Windows XP to drive USB device. C, Python, Jungo USB tool, Windows XP, JTAG debugging, Visual Basic 6. USB Host and device driver implementation for HID and SCSI MSC drivers. Firmware testing verification/validation, production test. Terydyne ATE tester, USB2.0 HUB, 8 USB 2.0 SD flash memory cards with SPI interface. Improve real-time test performance, debug test program in CATC and Ellisys USB protocol analyzers. Technology/Environment: USB2.0, SCSI, NAND SD Flash, mass storage device, USB PHY, Visual Basic 6, HID and SCSI MSC, USB2.0 HUB, CATC and Ellisys USB protocol analyzers.

  • Windows 2000 Display driver. Include an implementation of the GDI Device Driver Interface. A video memory manager enabled a high performance drawing functions on on-screen as well on off-screen Device Managed Bitmaps. Microsoft Windows Hardware Quality Lab (WHQL) tests.

  • Windows 2000/XP/Whistler printer driver that generates SVG/XML-data. Contains two COM-component plug-ins that handle rendering into the XML/SVG file respectively defines the user settable properties of the printer driver. Technology: COM, ATL, and C. Environment: Windows 2000 DDK, Visual C++ 6.0.

  • OpenGL graphics drivers for multiple graphics chipsets. Optimized NT driver that rotated graphics to make a portrait display.

  • Windows CE printer driver design and implementation. Porting of Windows CE operating system code to a new hardware platform. Setup of Windows CE build environment on a build server and system integration of Windows CE to the target system. Technology: Microsoft Windows CE 2.0. Environment: Microsoft Embedded Toolkit, C.

  • WDM Kernel Streaming mini driver for hardware DVD decoder to support high-performance video/audio playback. The driver handles 3 types of streams ( video-MPEG2, audio PCM and AC3 and the sub-picture ) through the use of Direct-Show proxy filter. The Video is rendered through the Direct Draw HAL and VPE extensions. Implemented Audio/Video synchronization and provide the Direct-Show graph clock.

  • NT4, CE 1.0 device driver and application development. Various accomplishments for Windows NT embedded market, including augmenting NTDETECT functionality, modifying NT kernel device drivers, developing multi-threaded benchmarks, creating GUI applications to monitor above, and documenting interfaces and various research activities. Work with Windows CE 1.0, modifying kernel code and developing drivers and applications for various hardware platforms (Intel, MIPS 4300, Hitachi SH-3). Access high-resolution timer for purposes of obtaining hard real-time metrics to investigate viability of this platform for real-time embedded market. Port EIDE disk driver from NT DDK to CE 2.0 for company's QuickStart product. Design and develop DOS-less boot product to load and run Windows CE images for x86 PCs. Created NT kernel driver for booting NT Embedded from CD-ROM.

  • Windows Real-time HAL subsystem replacement. Design and develop calibration and diagnostics ATE software components, and made significant real-time software performance improvement to micro-controller based software. Design, implement and test ATE calibration and diagnostics modules in large-scale ATE software packages. Choose a Windows Real-time extension subsystem to replace regular HAL and interrupt scheduling. Design and implement real-time solution, and multi-tasking benchmarking application in C and C++ on Windows DDK. The result shows that the interrupt latency and repeatability improved by at least 100%. Develop real-time application software SDK based on the new design and successfully release the SDK to both internal and external customers. Develop Python and Perl based unit test tools and nightly build scripts. Technology/Environment: Windows HAL, C and C++, Python and Perl.

  • NT4 stream device driver in C++. Used for generating simulated data that implements a virtual USB device. Technology: Vireo Driver::Works class library, C++. NT DDK, C. Environment: NT4.

  • Windows NT Filter driver development. Determine and correct show-stopping problem on Windows NT platform for software licensing system. Create NT filter driver for data protection scheme. Development on similar project using Win32 API-hooking approach.

  • WDM Audio miniport driver for Sti4600 AC3 decoder.

  • USB WDM device driver for Windows98/NT5. Used for collecting real-time data from a medical data acquisition instrument. Technology: Microsoft DDK. C. Environment: Windows 98 and Windows 2000.

  • Modem network stack design and implementation. Error correction and data compression protocols over telephone modem complying with the standards V42, V42bis , MNP 2-4, MNP 5 for National Semiconductor. Protocol stacks software is event driven and implemented as background tasks executing on a proprietary real-time multi-tasking operating system.

  • Advanced multi-threaded WIN32 DLL and application development for NT 4.0 Workstation. Client is developing a medical device that monitors a laser catheter inside the heart and displays a 3D representation of the movement and operation of the catheter in real-time on Windows NT 4.0 Workstation. Responsible for design, development, documentation, and delivery of multi-threaded Win32 DLL that employs OVERLAPPED serial I/O for real-time acquisition of coordinates from tracking system. Library also parses data stream and provides soft real-time data management for graphics application, exposing an API to readily access formatted data representing catheter activity. Also implemented multi-threaded dialog-based application for development tool.

  • NDIS network driver for an ATM/ADSL card on Microsoft platforms. Performed impact studies for proposed product lines, describing kernel issues and conflicts.

  • Windows CE portable medical data acquisition device system and application programming. Subprojects included: 1) Specification and development of Windows CE device drivers for data acquisition, 2) Windows sockets communication over infrared link (IrDa), 3) Application programming using WIN32API, Visual C++ and MFC for Windows CE. Environment: Windows CE, C, C++, Embedded toolkit for VC++.

  • Windows 95/NT device drivers and system design of an ISDN Multimedia telephone for Windows 95/NT. DirextX technologies like DirectShow, DirectDraw and DirectSound were used for multimedia presentation. A video for windows (VFW) device driver was used for interfacing the hardware with the system. A NDIS 4.0 miniport driver handled the network communication. TAPI was used for call management. Technologies: DirectX, VFW, NDIS miniport, TAPI. Environment: Microsoft DDK, Windows 95/NT, C/C++.

  • Wireless modem drivers for Win95/DOS. Implementation of software class to support wireless modem under Windows95 and extended-DOS through TSR. Also research and partly implement serial port driver for supporting multiple protocols, via NDIS and serial port VxD. Help design future architecture for Winsock 2.0 compatibility.

  • NT device driver for a PCI based fibre network card. Subprojects included: 1) Specification and development of an NDIS 4.0 miniport. It used bus master DMA for transferring data between main memory and the PCI Network card, 2) A LAN emulation software was designed and implemented for interfacing NT's connectionless TCP/IP network stack to the connection oriented DTM network. Environment: Microsoft NT DDK. C, Windows NT 4.0.

  • Windows NT stream device driver used to control a general-purpose parallel ISA interface board. A user mode DLL was developed for easier access to the device driver from application programs written in C, C++, Pascal and Visual Basic. Test applications for the targeted programming languages were also developed. Technology: Microsoft NT DDK, C, WIN32 API, Visual C++ and Visual Basic.

  • Software for LCD-based projection system. Included drivers for Windows 95 and NT, an emulator using MFC in Visual C++, and applications and utilities in Visual Basic and Win32.

  • Kernel mode audio driver for Microsoft Windows NT. The audio board was partly Soundblaster compatible. User mode support drivers were also developed which enabled plug-into the NT multimedia subsystem. Technology: C, Microsoft C Compiler.

  • Windows for Workgroups 3.11 NDIS 3.0 miniport. The miniport controlled a NE2000 compatible ISA network card. Installation script was also developed for the network driver. Technology: C, Microsoft C Compiler.

Past Linux/miscellaneous device driver projects

  • Linux WLAN 802.11n PCIe and Mini PCI device drivers. Designed and implemented Linux kernel driver, managed and updated kernel driver distributions and driver packages, automated packaging tools, GNU toolchains and Make. Developed AP and station system software in power management, MIMO Power Save, encryption and decryption, Wi-Fi performance and throughput optimization. Technology: WLAN 802.11n PCIe and Mini PCI, Environment: GNU, C/C++, Linux Kernel.

  • Linux kernel software and device drivers for Storage, Fiber Channel based storage adapter and data center I/O virtualization solutions on XEN and KVM. C and C++, Linux kernel mode virtual storage driver. XEN Hypervisor open source virtualization development, modification, and performance optimization for servers in data centers. Paravirtualization development in Linux Kernel-based Virtual Machine (KVM) for storage I/O controller. Designed and developed High Availability (HA) drivers for iSCSI bus adapter, virtual Ethernet NIC.

  • Atheros IEEE 802.11s MadWiFi embedded Linux WLAN NIC driver. Development and support of wireless mesh network implementation.

  • Linux 3G/WiMAX kernel driver for security, intrusion detection and blocking features for the company's WiFi analyzer software suites. Develop VoFi (Wireless VoIP) analyzer software to analyze and pinpoint wireless communication issues for clients. Implement application to integrate with Cisco Call Manager protocol engine into VoFi analyzer to analyze Cisco VoFi phone call statistics, QoS metrics and identify problem areas. Develop 802.11a/b/g WIFI driver on Atheros 5212 based on PowerPC IBM405GP platform running Denx ELDK embedded Linux, on MiniPCI Atheros Wifi card. Ubuntu Linux host dev platform. Read Mini PCI IBM 405 data sheet, troubleshoot PCI register configuration problems. MadWifi Soft AP access point configuration shell scripts, AP management CLI and Web interface in CGIC scripts and thttpd web server.

  • Linux kernel (2.4 and 2.6) software and device drivers for multi-service business gateway devices which integrate VOIP, Ethernet, DSL, and T1/E1 WAN interfaces. C and C++ in real-time embedded Linux and VxWorks U-Boot bootloader programming, UBoot customization, board bringup. Linux kernel ramdisk based image programming, TFTP protocol. Fix interrupt handling problem in interrupt service routines. Technology/Environment: 802.11n WiFi drivers, ADC/DAC, Bluetooth, Linux 2.6 Kernel, BSP, MadWiFi, Linux Target Image Builder, 3G/WiMAX, Wireless VoIP, 802.11a/b/g WIFI, Atheros 5212, PowerPC IBM405GP, embedded Linux, Ubuntu Linux 2.4/2.6, VOIP, Ethernet, DSL, and T1/E1 WAN, C and C++, VxWorks U-Boot, TFTP.

  • Atheros OEM Wi-Fi drivers for embedded Linux boxes and MS Windows PCs. Drivers were used for a proprietary wireless meshes network-based integrated mobile video surveillance system for public safety applications.

  • OpenBSD/NetBSD Network Device Drivers. Embedded software and BSP development for the company's complete line of WiMAX mobile wireless PC cards on OpenBSD and NetBSD. Reverse engineering pre-existing code-base, write new design specification documents based on the reverse engineering result, fix bugs and add enhancement features to the code-base thereafter. Support WiMAX drivers on PCMCIA, CardBus, MiniPCI, SDIO and USB PC card interfaces. Technology/Environment: OpenBSD/NetBSD, CardBus, MiniPCI, SDIO and USB PC card, wireless, crash dump analysis, IPv4 and IPv6.

  • OpenBSD and NetBSD wireless driver debugging and troubleshooting. Drivers implement Ethernet and IP Convergence sublayers, Packet classification, QoS support, Connection management, IPv4 and IPv6. Software deliverables include downloadable firmware, config files for chipsets, NDIS device drivers on Windows, API library/DLL, installer setup programs, and sample connection management application. Technology/Environment: OpenBSD/NetBSD, CardBus, MiniPCI, SDIO and USB PC card, wireless, crash dump analysis, IPv4 and IPv6.

  • Linux PCIe Gen 3 driver for Altera Stratix GX FPGA Reference Design board. Implementation of Altera Express Driver and associated DDK in Linux. Development of Altera Express DDK for Windows using the Storport Miniport.

  • Solaris UNIX disk driver performance tuning. Increased Solaris driver performance by 25%. Responsible for getting the Solaris driver through the McData qualification test cycle. Debugged various problems found in the field. Did core dump and protocol analyzer trace analysis. Re-architectured and maintained the hardware access layer of the driver.

  • PCI Express Linux device driver and configuration utility for SSD (solid state disk). The driver supports both block and character devices as well as proprietary IOCTL interface. Extensive user manual documentation.

  • Broadcom device driver for WiFi radios on embedded Linux and Android systems. Added features such as detecting DHCP packets and signaling events for them. Debugged and improved proprietary user-space WiFi management utility in C. Provided on-site customer support to debug issues in the field.

  • Linux touchscreen driver in C to be used on next-generation multi-lane PIN entry retail payment terminals, using Cirque Pinnacle touchscreen controller on SPI bus. Supported 300 sample/second signature-capture mode, finger-only mode, and signature window mode where finger input is ignored inside signature box but accepted elsewhere. Also implemented touchdown, smoothing, and linear correction filters. Configuration options implemented with sysfs.

  • Nucleous RTOS thermal printer control driver in C, implementing new algorithm which buffers lines and computes optimal speed for each line so that motor can be decelerated before reaching lines requiring many dots turned on, in order to avoid sudden deceleration which caused compressed lines.

  • Nucleus RTOS Embedded C programming. Implemented new features in PIN entry terminal software such as printer overvoltage detection. Debugged and fixed issues with PIN entry terminal C++ software running on Nucleus RTOS, such as intermittent error with I2C bus read, and string buffer overflow error during password entry. Brought up Linux development environment for new generation of Linux-based payment terminals.

  • Linux device driver for MSC7120 GPON (Fiber-to-the-Home) SoC product based on e300 PowerPC core, with one 2.4 Gbps optical port and two gigabit Ethernet ports. Provided extensive debugging support to characterize silicon bugs and devise software workarounds. Created MAC bridging driver using C to bridge optical and Ethernet network ports on MSC7120, using the existing Linux bridging driver to learn new routes, and then programming these routes into Direct-Link Bridge hardware on SoC to achieve bridging between these network ports at full speed. Added /proc filesystem tree to Linux device driver for printing debug information. Added features to device driver, such as implementing configurable outgoing packet padding and VLAN select bit in buffer descriptor. Created automated release notes generation utilities using Perl and LaTeX. Set up and managed Bugzilla website for tracking bugs within group.

  • Linux 2.6 kernel and OpenEmbedded filesystem. Brought up Intel IOP348 development board. Took performance measurements using hard drives connected to IOP348 with SATA, using Linux RAID subsystem. Created C application to communicate with host computer over Ethernet and transfer data to and from drives in order to measure throughput.

  • Linux 802.11 NIC driver debugging: connectivity issues (with Meru AP) for a medical equipment company (Atheros code-based embedded Linux 802.11 NIC driver).

  • Implemented Linux Kernel message-signaled interrupt (MSI) support for Intel IOP34x X-scale I/O processors. Modified Vitesse SATA controller driver (sata_vsc) to use MSI interrupts and successfully submitted for inclusion in Linux kernel. libposix-aio library using C to be thread-safe and modified IOmeter application to use it.

  • iSCSI kernel driver for Linux. Debugged and tested proprietary iSCSI kernel driver on Intel IOP341. Architected, wrote, and debugged a run-time C++ data coherency test checking application ("Intrepid") which interfaced to VHDL bus trackers using Verilog PLI and was used for pre-silicon validation of three-core processor for use in mobile applications. Performed pre-silicon RTL debugging on X-Scale ARM I/O processors using ModelSim in Verilog. Wrote automatic test generation and checking software in Perl for use in pre-silicon validation, and also for validation of Linux-based NAS product. Set up and administered Linux servers for group use (Bugzilla, Subversion, NFS/SMB, backup, etc.).

  • Debugging of Embedded Linux 802.11ac/n SoC device drivers.

  • Link Layer Solaris GLDv3 10GBit Ethernet driver for Sun OS 10 and OpenSolaris Operating Systems. Driver includes implementation for CrossBow extension for network and device virtualization.

  • Linux driver for a 5MP MIPI camera on a TI OMAP4460-based Pandaboard. Designed adapter board to interface a 12.7MP camera to the Pandaboard.