Projects / WinDriver

WinDriver

WinDriver automates and simplifies the development of user-mode Linux device drivers for PCI, CardBus, ISA, PMC, PCI-X, PCI-EXPRESS, and CompactPCI as well as USB 1.1/2.0. No internal OS knowledge or kernel level programming is required. It supports kernel 2.0.31 and above, including embedded Linux, x86 and PowerPC processors, and any 32-bit development environment supporting C or Delphi. Applications are source code compatible across Windows 98/Me/NT/2000/XP/XP Embedded/Server 2003/CE, Linux, Solaris, and VxWorks.

Tags Software Development Build Tools Debuggers Scientific/Engineering Libraries Application Frameworks Testing Hardware Operating System Kernels Linux Software Distribution Utilities
Licenses Shareware
Operating Systems Windows Windows Windows Windows CE Windows
Implementation C++ Delphi

Tweet this project Short link

Rss Recent releases

  • Rrelease-mid
  •  15 Feb 2008 16:48
  • Rrelease-after

    No changes have been submitted for this release.

    • Rrelease-mid
    •  14 Nov 2004 06:23
    • Rrelease-after

    Changes: This minor release enhances PCMCIA by adding an implementation of writing to PCMCIA attribute space. The read mechanism for HID was improved by allowing read requests with no time limitation.

    • Rrelease-mid
    •  29 Jul 2004 10:57
    • Rrelease-after

      Changes: Support has been added for PowerPC on Linux 2.4. Enhanced USB support has been added for Silicon Laboratories' C8051F320 USB board. Support for PCMCIA cards on Windows 2000/XP/Server 2003 has been added.

      • Rrelease-mid
      •  06 Jun 2004 06:20
      • Rrelease-after

      Changes: An API to enable card cleanup handling upon an application's termination was added for PCI/ISA. Usage of console-mode WDDEBUG was simplified. The wdreg.exe installation utility was improved. WinDriver ISA/PCI/USB is now available for Linux PowerPC. Linux kernel 2.6 is supported. It is now possible to develop your driver before your PCI hardware is available. All WinDriver API calls can be logged using the DriverWizard. USB support for Texas Instruments' chips was enhanced. 32-bit and 64-bit Solaris 8-9 on SPARC is supported. 32-bit Solaris 8-9 on x86 is supported. 32-bit user applications are supported on 64-bit Solaris kernel.

      • Rrelease-mid
      •  12 Aug 2003 08:33
      • Rrelease-after

      Changes: A previous problem with Linux 2.4 in which there was a failure in reading from the PCI card's memory on some computers was resolved. The problem has been resolved by calling the pci_enable_device() function. USB device reset and wakeup functions were added.

      Rss Recent comments

      Rcomment-before 13 Dec 2000 12:00 Rcomment-trans omerz Rcomment-after

      WinDriver Security Issues - Comment on klaus Remarks
      Programs access the WinDriver kernel module using the windrvr.o kernel module.
      The access is via a device file, just like any other device file. Its the responsibility of the system administrator to ensure that this access is not misused.
      All of Linux's security and permissions apply to WinDriver access as well.

      WinDriver does not subvert the security of Linux. The superuser may allow all users to access the WinDriver kernel module. He may just as well write the superuser password on the walls of his company.

      We provide a GUI on Linux (in V5.00 soon to be released) that users can use to correctly define the hardware's access registers and limits.
      WinDriver checks that the limits are enforced. Such runtime checking helps write safer code.
      If you go wrong by mistake, WinDriver will probably tell you so. If you want to go wrong, that's your business.

      Please try WinDriver yourself before commenting, and please give more informed details. Whatever concerns you have, we can address them in a constructive way.

      Rcomment-before 13 Dec 2000 11:51 Rcomment-trans omerz Rcomment-after

      WinDriver is GOOD - Comment on Rentar Remarks
      Think of hardware engineers who have been told by their bosses to write a new driver for Linux, because Linux is hot! What's the poor guy going to do ? Read Rubini's book in two weeks, and churn out a Linux kernel module in the next two weeks ? Have you seen the number of hardware engineers posting questions about writing Linux device drivers ?

      You have a mistake in your comment, WinDriver does not move kernel level code to user level. It simply allows you to access hardware directly. It goes to great lengths to make this access safe. We will provide a GUI on Linux (in V5.00) that users can use to correctly define the hardware's access registers and limits. WinDriver checks that the limits are enforced. Such runtime checking helps write safer code. Programmers can do good things with WinDriver, or they can blunder. The same people can also blunder with a kernel mode driver. There are good programmers and bad programmers, even evil programmers. There are no good programs and bad programs, and no evil programs.
      It does not facilitate kernel level code to have hooks in user space. We'll need to look at the review of the german Linux magazine to understand whether it was accurate or mistaken.

      The name does not suggest windoze-esque techniques. Whats in a name? Windows also does not really allow kernel mode code to have hooks in the user mode.
      Since some of the premises you used to draw your conclusion are not accurate, your conclusion is also not very accurate.

      Rcomment-before 13 Dec 2000 11:42 Rcomment-trans omerz Rcomment-after

      WinDriver IS NOT EVIL - Comment on Claudio Remarks
      Since WinDriver aids to produce user mode drivers, these are loaded and unloaded with the applications that use them. They do not therefore bloat the kernel.
      The WinDriver kernel itself is not bloated. It is heavily tested, efficient and optimized.
      Linux lets good (not clueless) application programmers gain access to useful hardware whose manufacturers don't care about providing Linux drivers.

      Rcomment-before 07 Dec 2000 11:02 Rcomment-trans philcc Rcomment-after

      WinDriver Linux Easy and Fast Tool
      I have used Windriver/Kernaldriver to create device drivers for my Linux machine.
      This development tool has made my development of these device drivers so simple and fast that it has
      cut my development time by over 50%.
      Windriver/Kernaldriver are excellent products, and I would recommend them
      to anybody doing driver development on any type of system.

      PHIL

      Rcomment-before 04 Dec 2000 12:50 Rcomment-trans kaiserk Rcomment-after

      WinDriver - DOS style "security" for Linux
      I have read about WinDriver in the Linux Magazin, a german magazine. It is indeed the crudest possible way to acess hardware: A kernel module which gives user mode processes low-level access to any device on the computer - just like DOS. A machine running driver software developed with WinDriver can be rooted by any user. Of course, this applies to the Windows version of WinDriver too.

      The article in the Linux Magazin does mention how to recognize driver software developed with WinDriver - it comes with a kernel module named something like windrv (I don't have the magazine at hand now, so I can't give more details)

      Ee32f835e0097414c4d3f6846fa8e064_thumb

      Project Spotlight

      Stella

      An Atari 2600 VCS emulator.

      No-screenshot

      Project Spotlight

      check_procs_multi

      A Nagios plugin like check_procs, but able to check several processes at once.