Hello to all ReactOS developers,
thanks for great work. I introduce our case first.
--------------------------------------------------------------------
We have developed, maintain and use uLan RS-485 multi-master protocol
for years - sources traced to 1992 year. The protocol is used by
multiple companies and individuals for broad range of applications
from laboratory instruments control, home automation to agriculture
feeding and milking systems. We started by Linux support. But due
to customers demand, we have added Windows KDM and later WDM
support as well. I remember, that pointer to our driver has been
mentioned as one of little fully open-source drivers available
for Windows on ReactOS list many many years ago.
The uLan project homepage
http://ulan.sourceforge.net/
The uLan driver code can be compiled for Linux, Windows NT KDM,
Win98/2k/Vista WDM, plain DOS, system-less ARM and other devices.
The old legacy UART, PCI addon cards and USB converters
are supported for Linux and WDM version. All builds form same
sources with unification layer of macros which unifies systems
to something more close to Linux driver model. The code is
not so elegant and readable, the portability layers are quite
complex and sometimes hairy tasks. The traces of old age of
project can be seen there as well.
But it works and may it be, it could be some example
and source of helpers functions for porting of Linux
USB drivers to WDM model.
The ReactOS has got to the stage where it is able to run one
of our user applications utilizing our control protocol link.
Because I believe in open technologies, I would be very
happy if the project is usable even on RectOS - even that
I do not expect that our users could and want to switch
anytime soon or ever.
The Open Chromatography Station - CHROMuLAN
http://sourceforge.net/projects/chromulan/
If you think that it worth, it can be added to the
list of applications working with ReactOS 0.4-git/svn.
--------------------------------------------------------------------
As for the uLan driver. I have maneged it build for WDF with PCI
and UART support only to run on ReactOS and whole CHROMuLAN
setup seems to be functional.
I have even interrest to build driver code with ReactOS to test it more,
find incompatibilities and continue with 64-bit testing in future.
The effort seems to be not so far form success. The driver builds
with RectOS build under Linux when USB support is disabled.
The build with USB seems to be near as well.
There are two main problems:
1) We need to include usbdlib.h in the driver build, but DECLSPEC_EXPORT
in this header is not declared/maintained. We use this file
for next types declaration
USBD_INTERFACE_LIST_ENTRY
PUSBD_INTERFACE_LIST_ENTRY
struct _USBD_INTERFACE_LIST_ENTRY'
May it be, we should use different include headers, but next setup
works for years with Microsoft WDF
#include "wdm.h"
#include "usbdi.h"
#include "usbdlib.h"
2) If we overcome by some hack problem 1) the link fails on undefined
references to
__imp__USBD_ParseConfigurationDescriptorEx@28
__imp__USBD_CreateConfigurationRequestEx@8
There seems to be traces of implementation of these functions
in ReactOS old/disabled USB code. The functions are even included
in usbd.sys, usbd.exp and drivers/usb/usbd . But import library seems
to be missing. Am I right? Is there way to use them or plan to solve
that.
Thanks for reply in advance. Even that we do not much expect to use
ReactOS build in production environment the option has value for us.
It allows to test Windows builds in Linux environment without
need to start Wine for WDF. ReactOS build even helped us to find
some real bugs in our code because rectos runtime is more strict
in some checks then Windows systems.
Please, keep my email addres in reply, I do not expect (have ability)
to follow ReactOS development closely between my other duties.
It is unfortunate a little, that only way to contact developers
on the list is to subscribe.
Best wishes,
Pavel
--
Pavel Pisa
e-mail: pisa(a)cmp.felk.cvut.cz
www:
http://cmp.felk.cvut.cz/~pisa
university:
http://dce.fel.cvut.cz/
company:
http://www.pikron.com/