Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Converting Windows driver (DLL) to Linux driver

1,194 views
Skip to first unread message

philph...@hotmail.com

unread,
Oct 19, 2003, 4:27:21 PM10/19/03
to
How can I convert a Windows DLL to a Linux driver. The source code is
in Windows assembly and it is PE Explorer generated. (The
manufacturer offers no Linux support, yet a driver for Linux is
needed).

David Schwartz

unread,
Oct 19, 2003, 9:44:25 PM10/19/03
to

<philph...@hotmail.com> wrote in message
news:fb627e1c.03101...@posting.google.com...

You reverse engineer the Windows DLL and then code the same
functionality in a Linux driver. You could also try contacting the
manufacturer about getting specifications from which you could design a
Linux driver. Personally, my preference would be to go to a different
manufacturer if this one won't even tell you how to use their hardware.

DS


Michael Brown

unread,
Oct 19, 2003, 10:01:00 PM10/19/03
to
<philph...@hotmail.com> wrote in message
news:fb627e1c.03101...@posting.google.com...

Depends on what the driver does, and how it runs. I'd say that in most cases
you don't have a hope in hell apart from reverse engineering the thing and
doing it again from scratch (like what I did to the Nex MP3 player). What
you *may* be able to do use the DLL in Wine (which you'll need anyhow for
all the standard system DLL calls) and then modify any IN/OUT instructions
to be routed through a very simple kernel module. This'll not be too easy,
as you can't just replace the IN/OUT instructions with calls, as you don't
have enough space. If you're lucky, the programmers have not inlined the ins
and outs so you can jus modify their procedure to do it through your Linux
module.

If you need to run a Windows DRIVER, not a DLL, then I'd almost certainly
say reverse engineering and doing from scratch would be the easier way. The
only other way I know of would be to develop a complete Win32 kernel with a
whole lot of the default subsystems (security, memory management, etc, etc).
In effect, you'd have to do what the Reactos group has been trying to do for
ages.

A final option is to actually ask the manufacturer for details :) Granted,
it hardly ever works (either even they don't have documentation on its
internals, or they just don't want to distribute it) but sometimes you might
get something.

--
Michael Brown
www.emboss.co.nz : OOS/RSI software and more :)
Add michael@ to emboss.co.nz - My inbox is always open


philph...@hotmail.com

unread,
Oct 20, 2003, 10:10:45 AM10/20/03
to
The manufacturer is 2Wire and the driver I need is for Linux for their
2Wire USB Wireless Adapter...

"Michael Brown" <s...@signature.below> wrote in message news:<DnHkb.184124$JA5.4...@news.xtra.co.nz>...

Gernot Frisch

unread,
Oct 20, 2003, 6:01:56 AM10/20/03
to

<philph...@hotmail.com> schrieb im Newsbeitrag
news:fb627e1c.03101...@posting.google.com...

For those who know about this stuff - take a look at the X-Box 3D card
driver. That would be really great!


--
-Gernot

In order to reply, revert my forename from:
tonreG.Frisch.at...@invalid.com
________________________________________
Looking for a good game? Do it yourself!
GLBasic - you can do
www.GLBasic.com

Michael Brown

unread,
Oct 20, 2003, 10:03:33 PM10/20/03
to

A quick glance through the (non-disassembled) source shows a few strings,
the most noticable being "WaveLAN II". I'd guess that it's just a (Lucent)
WaveLAN II based adapter, for which there is a Linux driver (the one called
"orinoco" IIRC). Failing that, because it's a NDIS driver, you really have
to reverse engineer it and do it from scratch. Which wouldn't be *too* hard
if you understand the hoops that you have to jump through for a Windows
driver and know not to chase down those paths.

Tim Roberts

unread,
Oct 21, 2003, 12:48:39 AM10/21/03
to
"Gernot Frisch" <M...@privacy.net> wrote:
>
>For those who know about this stuff - take a look at the X-Box 3D card
>driver. That would be really great!

Why? The XBox is just a Celeron 733 PC running Windows 2000. It has a
standard nVidia GeForce card. There's nothing terribly remarkable in it,
and certainly nothing you can't get off the shelf.
--
- Tim Roberts, ti...@probo.com
Providenza & Boekelheide, Inc.

0 new messages