Windows Drivers Under Linux?
sniggly writes "The Inquirer has an article about how Montreal, CA based Linuxant
has created a 'compatibility wrapper' allowing standard Windows NDIS 5.0 drivers to work on linux. After pointing to another project allowing windows printer drivers to work on OS/2 the author asks 'Are printer and network card drivers going to become, over time, a commodity with Win32 drivers one day the 'de-facto standard' run via wrappers?"
Most of the BSOD in Windows 2K/XP are caused by unstable drivers. Will using these drivers in these wrappers destabilize Linux as well?
I mentioned ages ago that this would solve a lot of driver shortages. Now if this layer can snoop and aid the development of Linux drivers then even better. Of course laws can be broken with this approach.
What about all the windows drivers which have a 'light' NDIS layer solely to establish a communications channel with the hardware and assignment of resources. They then rely on more complex programs to do what should happen in the driver.
I'm thinking of several printers, including the new MFDs, not to mention the separate mess called 'WinModems'.
No thanks, id rather have native drivers for my hardware. Not some sort of kludgy hack to make windows drivers work..
Even if it worked well, there is no guarantee that Microsoft wouldn't make it impossible to keep doing this, leaving us out in the cold.
+ you cant honestly think performance and stability would be the same as a true, well written, native driver for your chosen OS ( regardless of what that OS is )
---- Booth was a patriot ----
Not a snowball's chance in Hell. A large part of Microsoft's power rests in limited device support for other OS's. They will keep the OS-specific requirements alive. This whole thing is a cool trick, but it's in the "why bother" class, along with NetBEUI for Linux.
Not a good thing. If Drivers are written for windows and then emulated to other OS's it will give Windows a permanent performance advantage.
The way I see it, all of these layers of software are what are going to require faster processors. What exactly will you not be able to do next year with the 3Ghz processor you bought this year? Then again, are these layers going to cause bugs that can never be found?
It costs $15 to use the modem driver which is more money than I paid for my network card and modem combined.
Unless of course you only need to access your modem for 30 days.
The store can be found Here
Thank you Mario! But our princess is in another castle!
It's kind of like MPlayer's win32 codecs -- very practical and a great way to pollute your system with proprietary crap. In other words it's great for open source advocates and evil for free software advocates (myself included). Actually, this Windows drivers, codecs, formats, APIs (Office, Wine, .Net, etc.) it is a very interesting issue where free software differs from open source. Great article.
Sincerely,
Pan Tarhei Hosé, PhD.
"Homo sum et cogito ergo odi profanum vulgus et libido."
Yes, you too can have compatability with Windows crashes!
I realize that I'm sounding a bit sarcastic here, but it's a known fact that a lot of the issues with Windows stability are driver-related issues. I for one am not keen on running the graphics driver within ring 0 (which Microsoft does in NT at least) to speed up video performance. If the video driver runs in ring 0, a problem with the video card can bring down the whole system.
-- Joe
This is an even worse idea than WINE. The only thing we'll gain from this is even fewer native Linux drivers. Im sure that if this works, many hardware companies won't even consider making native Linux drivers, because users can just use DriverLoader.
Things like DriverLoader and WINE are and will be misused by companies to claim Linux compatability or make quick and low quality Linux solutions. It would be great if it where to be used only as a last resort, not as a permanent solution.
We should kill of Linuxant before they hurt anyone.
In general it is not possible to use drivers under any other OS than the one it was developed for. And any kernel developer will tell you it is not a good idea. A driver needs to interface not only with the device, but also the OS. No matter how well it works with the device, it doesn't help making it work with another OS. Expecting a Windows driver to work with Linux is like expecting an SCSI driver to work with an IDE harddisk (maybe not the best anology, but it was the best I could come up with, and they have certainly been seen worse). In some cases you might be able to provide a wrapper, that makes it work, but it requires good knowledge about the interface in both directions, and the end result certainly isn't going to be as good as a native driver. If hardware vendors want a wide range of compatibility, they can easilly achieve it, it just takes a few steps.
Do you care about the security of your wireless mouse?
While on one level it's great to see this sort of standardization, one has to ask whether standardization on the WIndows driver architecture is the best choice. This is what standards organizations are for. While I like OSS as much as the next guy, and things like Wine, or other compatibility layers such as those mentioned in the article are certainly valuable in their own right, They shouldn't be seen as a mechanism for promoting standards. This just promotes adoption of proprietary mechanisms as de-facto standards, which is seldom a good thing.
I'm just waiting for Microsoft alter their EULA to disallow software written using their (presumably patented) driver architecture and copyrighted APIs on competing platforms, in a bid to deter hardware manufacturers from providing linux support by increasing the development costs for linux support through preventing unified cross-platform driver development.
--CTH
--Got Lists? | Top 95 Star Wars Line
Great, now Linux can be Windows compatible and crash just as much as Windows does! The most common cause for Windows crashes these days, I'm told, is bad drivers, not Windows itself. Do we really want to use such drivers?
Would this driver help WinPrinters/WinModems work under linux as with there bgin so many driver types as WinModems being such a 1/2 way house.
Rus
Cheap UK and US VPS
Also, a driver might typically be running 24/7 on a server, managing hundreds of packets per seconds, so stability and performance are of utmost importance.
A wrapper is a nice idea, but definitely adds overhead, and probably makes the system less stable.
Secondly, this is becoming less and less of an issue. More and more add-on hardware is built on standardized models of hardware interaction, such as the USB driver classes, and thus works with the generic drivers in the Linux kernel. Of the remainder, more and more hardware companies are seeing the value in cooperating with Open Source and opening up their specs. The probability that a random piece of peripheral hardware you bought at CompUSA or some such will work with Linux out of the box has been steadily increasing and is now quite high.
In short, this is a non-issue.
Take a look at the linux games area - Loki is dead, Transgaming is alive and well ... Loki's approach was technically superior (very stable ports as opposed to games which play ok, but only ok), but the economics were not.
Emulation is good for creating a market; when the market is big enough, native ports and drivers will arrive as well.
The Raven
Actually, network cards, modems and printers aren't really that interesting. There are usually choices (except if it's a laptop), and so you can always just buy something compatible. The real place this would be useful is in the case of "weird" hardware where it would be wonderful to be able to have WINE work with the driver. For example, the Psion Wavefinder (USB Digital radio receiver) which at the time was $60, and the only way to get digital radio for less than $450. There is often no alternative to "weird" hardware - anothe brand with similar function may not exist.
The reliability aspects of this are indeed dreadful, but could possibly be overcome if each driver ran in its own individual MMU-protected virtual machine. User-space module and driver mechanisms already exist, so this wouldn't be such a huge leap.
That could ensure that diver code never tramples on any other code and only communicates with the rest of the O/S via fixed interfaces. It could still hang of course, but dealing with that would be no different to dealing with other misbehaving user processes, and if the problem is severe enough to lock up the hardware under the driver's control then it'll do so regardless of the implementation.
"The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
ATAPI (the protocol IDE CD-RW drives speak), is SCSI commands sent over an IDE interface. Think "code re-use".
"They redundantly repeated themselves over and over again incessantly without end ad infinitum" -- ibid.
WxWindows appears to be the solution, yet it is "is a free C++ framework that facilitates cross platform software development, including GUIs, threads, sockets, database, file system access, etc." I remember of a sourceforge-hosted project that dealt specifically with cross-platform driver development, but the memory evades me at the moment. After a quick-search of google, appears Jungo WinDriver, but that wasn't the one I was thinking of.
This is wonderful news. Hardware compatability is Microsoft's edge. With driver compatability layers others operatings systems will break Microsoft's influence on hardware developers and even give an edge to Free OS's as they will be able to wrap drivers from abandoned platforms as well. Performance will NOT be impared that much until wrapers are available for video drivers. A user first wants it to work, then he wants it to perform better. One step at a time. With an emulation layer on linux, OS driver developers will be able to work from their prefered OS to analyze what the drivers are doing. It's easier to spy on hardware from Linux and other open operating systems. The technique will be ported to Freebsd and then to OSX. I would expect analysis tools to be co developed along with wrapper layers eventually. We will finally have a practical way to find out how hardware works and be able to document it. Wrappers are a tool, not the end goal.
Another several lockups with BSOD were caused by unstable NTFS. I wonder how many more decades Microsoft will deliver that must-already-be-dead filesystem?
Somebody, fix the moderation of the parent properly!
Less is more !
This is a trojan horse that will have two immediate consequences: 1) Manufacturers will just tell users and Linux kernel driver developers that they do not need drivers or specs. Just use the wrapper. 2) A new host of difficult to debug problems will creep in putting a blemish on the wonderful stability provided by Linux. Say no to this nonsense and demand native drivers.
Pragmatism as an ideology is not particularly pragmatic in the long term. Keep it in mind when you dismiss Free Software
I'll let the rest of slashdot argue (mostly uselessly in the first 262 posts!) about whether its the right future direction or not... I'll try to do something more constructive like seeing if the darn thing actually works or not!!
</rant>
That out of my system...
Executive Summary: Yeah it works... I'm writing this over a fairly fast (2.6 mbps) 802.11g+cable connection. One big gotcha as of right now (version 1.05 of the driver) -- no WPA support. I had to drop my router to 128 bit WEP instead.
My setup:
Steps:
- Get the Windows driver from Dell [ http://www.linuxant.com/drivers_bcmwl/compatibili
t y.php ] and extract it under winxp. Copy the TMSetup subdirectory to a partition that is accessible to redhat (or at least the two files bcmwl5.inf and bcmwl5.sys)
- Get the rpm (follow the instructions [ http://www.linuxant.com/drivers_bcmwl/bcmwl5/inst
a ll.php ] on the Linuxant drivers page to make sure you get the right iX86 rpm -- mine was i686)
- Install the rpm -- notice it says you need to connect to http://localhost:18020 to finish the install. When I tried it it was asking for my root password... I'm not a fan of providing my root pwd to strange apps so here's what I did:
- Went as root in a terminal and killed the process titled bcmwl5webconfd.
- cd to
/usr/lib/bcmwl5driverloader and edited the file bcmwl5driverloader.conf and changed $UseAuth=0 (it was 1).
- Restarted bcmwl5webconfd again and followed the instructions to point it to the
.inf and the .sys file. Followed the instructions on the lunxiant site to get the driver license (30 days... yeah I know THAT sucks... especially now that I know it works!). Plug in the license key and email address you use (use a real one... you need to confirm receipt of email and confirmation key) into the setup and you are all set as far the install is concerned.
- Kill the bcmwl5webconfd daemon now.
- Start->System Tools->Network Device Control and add the device. I added it as eth1. My setting in the wireless settings tab are
- Mode is Auto
- I specified my SSID (its not broadcast on my network)
- Fixed the channel
- Entered the WEP hex key (stupid note: when it says hex keys should be prefixed by 0x -- please do it!)
- That was pretty much it... Activated the driver and it worked just fine. Checked stats using ipconfig -a... tested it by disabling (and removing the cable from) my lan connection. Tested the speeds for just the wireless and then with both interfaces up...
- Enjoy Wireless 802.11g freedom!
:)
Its up two hours and counting...In other words you are in the open source camp (see OSI) -- pragmatical and practical imperatives, in the oposition to purely ideological and political ones of free software movement (see FSF). This is exactly what I was talking about.
As for making the system "usable" I have really no idea how having pure free software system (in The Church of Emacs sense) renders it somhow "unusable." I don't need Windows drivers, since I don't buy crappy hardware without support in my kernel. I don't need win32 codecs for MPlayer, since I don't pirate movies. I don't need patent-violating MP3 players since I don't pirate music, which means I can have all of my CDs ripped to superior in every way Xiph Ogg Vorbis format.
I also don't care about more users -- only about more developers and with my Debian those are completely orthogonal (I don't use commercial GNU distroes, with which I admit that the user base is indeed important).
Sincerely,
Pan Tarhei Hosé, PhD.
"Homo sum et cogito ergo odi profanum vulgus et libido."