KernelDriver automates your Windows 2000/NT, Windows Me/98/95 and Linux device driver development by providing you with powerful tools for hardware debugging, driver code generation, and driver debugging. KernelDriver supports PCI / USB / ISA and EISA drivers. KernelDriver for Windows and Linux includes the powerful Driver Wizard. Using the Driver Wizard you can graphically debug your hardware by "peeking" and "poking" at it without writing a single line of code. After your hardware is diagnosed, use the Driver Wizard to generate a complete kernel mode device driver which will drive your hardware.
Hardware Debugger is a graphical tool for detecting, diagnosing, and testing custom hardware. It is designed to meet the needs of the hardware developer by enabling quick and easy testing of hardware without writing any code. Hardware Debugger runs under Linux, Solaris, and Windows.
WinDriver USB for Linux automates and simplifies the development of user mode Linux device drivers and hardware control applications for USB peripheral devices. No Linux kernel knowledge or kernel level programming is required. Including powerful tools for hardware diagnostics, automatic driver code generation, and driver debugging, as well as intuitive hardware access API, it provides a complete solution for creating high performance drivers and custom hardware access applications, thereby enabling you to focus on your driver's added-value functionality, instead of on your operating system internals.
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.
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.