Device Drivers...


Need a custom device driver?
We have throughout the years developed device drivers for most of Microsoft's operating systems. Examples of implemented drivers are Windows 98/2000/XP/Vista USB drivers, Windows 95/98 VxD drivers, Windows 98/2000/XP/2003/Vista WDM drivers, Windows 2000/XP printer drivers, Windows CE device drivers, NDIS network drivers, TDI drivers  etc.


Past device driver projects

  • Implementation of a Windows XP Serial Attached SCSI (SAS) Miniport driver for the LSI SAS 1064 Controller. Included installation script for seamless driver installation. Technology: C Environment: Windows DDK.

  • Implementation of 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.

  • Implemented various 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.

  • Specification, design and implementation of a 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.

  • 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.

  • Specification, design and development of a 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 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.

  • Development of kernel mode WDM and VxD device drivers for the Windows 95/98/98SE/2000/XP-Whistler platforms. 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.

  • Specification and development of a 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.

  • Design and development of a Windows CE printer driver. 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.

  • Development of a 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.

  • Development of an 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.

  • System and application programming of a Windows CE based portable medical data acquisition device. 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++.

  • Specification of 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++.

  • Specification and development of a high performance 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.

  • Implementation of a 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.

  • Implementation of a 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.

  • Specification and development of a 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.

     

  •