Reverse Engineered 802.11b+ Drivers
Posted by
Hemos
on Mon Jul 21, 2003 06:59 AM
from the if-you-build-it-they-will-use-it dept.
from the if-you-build-it-they-will-use-it dept.
orv writes "When Andreas Mohr found that his new wireless networking card wasn't supported under Linux rather than returning the card and getting himself a supported one, he decided to set up a project to write his own drivers instead - http://acx100.sourceforge.net.
Companies such as D-Link had initially promised to release linux drivers for these cards but later backed down from that promise and announced that Linux would not be supported and that customers should not hold on to the cards in the hope of getting them working, as shown on their current FAQ.
Texas Instruments, the makers of the chipsets upon which these 802.11b+ cards are based refused to release code or specifications for the cards, no doubt for similar reasons that were recently discussed here.
The fact that the current alpha release is certainly as good, and in some areas better, than the binary drivers that escaped from one of the card manufactureres speaks volumes for the quality and determination of the team to create their own drivers."
This discussion has been archived.
No new comments can be posted.
Reverse Engineered 802.11b+ Drivers
|
Log In/Create an Account
| Top
| 272 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
And yet, the UN suggests WiFi laptops??? (Score:4, Insightful)
(Last Journal: Monday August 22 2005, @11:02AM)
Is this what poor third-world countries yearn for? Should they leapfrog to disaster? I'm disappointed someone like Mr.Kofi Annan suggested this stuff to poor nations.
-
Re:And yet, the UN suggests WiFi laptops??? (Score:5, Insightful)
People that high up don't think logistics, they think ideas, and let the people below them work out the details. I am sure he wasn't thinking "This is my way to get in the good graces of Bill Gates!!! Third World Countries...Windows 0wnz j00!!!" More than likely it was "It would be cool for all these countries to have wireless laptops" with absolutely 0 knowledge on the details of such an idea.
Wireless all that valuable? (Score:5, Informative)
(Last Journal: Sunday October 03 2004, @04:03AM)
I'm still a little dubious as to the actual value of laptops, much less with wireless support.
Such things are very convenient, and certainly popular in offices, but I'm dubious that desktops don't provide much of the same benefit. Sure, some work may get done on the road, but some not (and the increasing availability of Internet access means that companies can decrease travel and save costs). Some work that might not have gotten done otherwise might get done at home, but honestly, most folks don't want to go home and then work more, and I think that most don't actually do that much at home (as an addition to work at work, not as a replacement). You can carry laptops to meetings, but honestly, about half the people where I work just use a notepad (partly because quick sketches are currently easier on paper). You usually aren't transcribing vast amounts of text, just jotting down names or some points to remember. So most of the benefits of laptops seem to be less big than one would thing.
The downsides are significant. Laptops (with the notable exception of hard drives) tend to be less durable than desktops, and tend to get rougher treatment. This tends towards producing shorter lifespans. Laptops are a major target of theft, especially in the developing countries where they want to deploy these. Laptops are more expensive than desktops to produce, and manufacturers are still making higher profit margins on laptops. Most laptop manufacturers are big name (first world) companies, given the far greater engineering work required to put together a laptop. So it makes it harder to keep the funds spent *in* those developing countries when making purchases.
Wireless networking is cute, but it costs a *lot* to deploy the thing all over as opposed to just the offices and conference rooms where you'd put wired Ethernet. If you just slap it in those two places, wired can be more expensive, but installation of wires can be done by local contractors, which keeps funds in country and produces jobs. Most people that I see doing actual work on their laptops tend to work in either meeting rooms or their offices. Usually, this translates to just meaning that they don't have to plug in a cable. Somewhat convenient, but possibly (especially given security and performance issues) not cost-effective. Wireless is still a bit of a luxury item.
This wireless laptop initiative seems more based around what a laptop *company* would like to see happening than what's best for developing countries, IMHO.
Re:And yet, the UN suggests WiFi laptops??? (Score:4, Insightful)
(Last Journal: Sunday January 08 2006, @06:08AM)
What if, and humor me here, Kofi Annan is a lot more savvy than he's letting on?
Maybe Kofi said to himself, "Well, these laptops are light, and have great battery life, and they come with wireless gear... It's really only a matter of time before those Linux maniacs roll out a reverse-engineered set of drivers, so maybe I can buy into this tech bigtime, making it look like I'm US friendly and scoring some points with that nitwit Bush. Then, when the Linux drivers come out, everyone can switch over from the proprietary stuff and I have plenty of plausible deniability -- what? Me? Linux? Whatever do you mean?"
Just a thought... Sometimes people are a lot sharper than they want you to think they are.
DCMA Anyone? (Score:4, Insightful)
Re:DCMA Anyone? (Score:4, Informative)
Re:DCMA Anyone? (Score:5, Interesting)
(http://www.etoyoc.com/yoda | Last Journal: Tuesday June 10 2003, @10:53AM)
In any case there is a specific clause in the DMCA that allows for reverse engineering for the purpose of interoperability.
Re:DCMA Anyone? (Score:5, Informative)
Re:DCMA Anyone? (Score:5, Insightful)
Of course, in this business climate, the corporations in question will probably shut these hackers down and forbid product returns. It truly is amazing what companies will do to their customers these days.
Re:DCMA Anyone? (Score:4, Informative)
(http://slashdot.org/)
Good For Them (Score:5, Interesting)
(Last Journal: Monday May 26 2003, @11:07PM)
A psychological standard of quality on the part of the devs leads to a physical and coding standard of quality a cut above the rest.
Don't buy unsupported hardware (Score:5, Insightful)
Re:Don't buy unsupported hardware (Score:5, Insightful)
A free market is not a fixed set of producers with a bunch of passive consumers who either take it or leave it. If a certain product does almost everything a person wants and he has the expertise to fill in the gaps himself, then by all means he should do so. Just like the X-Box hacks or 3rd party Lexmark printer cartridge refills. Sure, some vendors may be supporting Linux already, but it's always nice to have more choices in case one of them changes their mind. Competition is good.
Now if the card makers start using legal or technological measures to stop these open source efforts, then scream and boycott them.
Re:Don't buy unsupported hardware (Score:5, Informative)
Re:Don't buy unsupported hardware (Score:5, Informative)
Yep, that's a very bad thing indeed.
So bad that we decided to dedicate a major part of the README file to it:
--- AND FINALLY... ---
Let me mention that we REALLY dislike the way very stupid hardware vendors
name their cards containing DIFFERENT chipsets!!
One of these vendors is SpeedStream/Siemens: a card that uses the same
name "SS1021" is available in both Orinoco chip and ACX100 chip versions.
Another one is D-Link: they have "DWL-650" and "DWL-650+".
"DWL-650+" is simply an improved version of the "DWL-650", right?
WRONG!
The standard versions use Prism2.5, whereas the "+" versions use ACX100
chipset. Good luck in finding a (correct) driver!!
And it's even WORSE: I just found out that there is some newer
version of the "DWL-650" out that also contains the ACX100
(it uses the same hardware as the "+" versions).
This BRAINDEAD STUPIDITY in device naming easily entitles D-Link
for the "Most Braindead Hardware Vendor 2003" award. And of course
they were also talking about developing another Linux driver for some time,
without any results (although I guess that's because they wanted to
develop it, but were not allowed to, unfortunately, so it's understandable).
IF you dare to release cards with a different incompatible chipset
that doesn't even have proper driver support for a popular alternative OS,
then AT LEAST change the card name in order to let people know and discern
which hardware to avoid like the plague, for heaven's sake!
This is such a [CENSORED], I could [OUCH, CENSORED!]...
It's one thing to decide to not release Linux drivers and/or specs for a popular chipset (and frankly, we sort of have to respect such a decision, even though it hurts a lot), but it's an ENTIRELY DIFFERENT (and much worse!) thing to release cards with DIFFERENT chipsets using the SAME card name as older, well-supported chipsets.
That's a capital crime which should by punished by revoking any and all hardware development rights and/or licenses of the relevant company
(heck, or maybe I should have removed that smiley after all, since it IS a very infuriating action after all
But I think I should stop now since I already wrote most of that in the README file paragraph pasted above
Anyway, let me also mention that I'm glad how well the development process of our driver is coming along. We are fixing many bugs (and implementing many improvements!) on a daily basis, and the team work is definitely great!
Also, we had several users donate money and/or hardware (access points!) to the main developers,
which is very astonishing to me, but that's not to say that I don't like that
In fact the access point that has been donated to me arrived today
Finally, let's hope that we might even attract proper driver and spec support by Texas Instruments, by showing that a really good driver IS possible.
(admittedly we're still "a bit" far off from a perfect driver, but we're definitely working on it
That's it. Have fun using our driver!
Andreas Mohr
Re:Don't buy unsupported hardware (Score:4, Informative)
To phrase this in language that even suits can understand:
This is poor businss practice, not just it's difficult for anyone deploying these devices to know what they've bought (because who gives a fuck once you've got their money, right?), but because it adds to your support costs because when half of your DWL-650 doesn't work, and the guy deploying them calls your support drones - even at $1.99/h in India - it's a waste of your money to have them spend 20 minutes figuring out whether it's a chipset/driver problem that makes the difference between the working and non-working units.
Your current way of screwing the customer is cutting into your margins because it increases your support costs. Find a more profitable way of screwing the customer. I think you could screw them more profitably by using different product names on different products.
If nobody bought "unsupported" hardware... (Score:5, Insightful)
(http://goldspider.blogspot.com/ | Last Journal: Friday March 18 2005, @10:54AM)
Re:Don't buy unsupported hardware (Score:5, Insightful)
(Last Journal: Friday June 11 2004, @11:45AM)
In these cases people would buy stuff that worked for windows without checking if it worked for linux. By the time they know that linux wouldn't be supported, especially if they were mislead by the manufacturer for such support, the hardware in question was already in their hands.
These hardware components probably were past their return time and they are stuck with them. Rather than go out and buy new ones that have solid linux support, this guy writes his own and shares it so that others in his situation wouldn't have another "windows app" keeping them from linux.
If more people like this worked on hardware that had no solid linux drivers (whose numbers are dwindling steadily), linux becomes that much more of a "plug and play" system where everything "just works". Kudos to them.
So what actually works? (Score:3, Informative)
Only reason I'm asking is that the salesdrone at OfficeDepot didn't know what the integrated wireless on the Averatec [averatec.com] 3150P was based on yesterday, and I'm not keen on paying an extra hundred bucks for the feature if it won't work in my OS of choice. Then again, I could save myself the dough and get the model w/o the integrated 802.11b, but still...
Re:So what actually works? (Score:4, Informative)
(http://www.ivor.it/)
Why the backpedaling now? (Score:5, Interesting)
It would be easier to understand if the companies had been a-holes all along. I hate to see the change as it is effecting the buying patterns I had become comfortable with.
Re:Why the backpedaling now? (Score:5, Interesting)
(http://john.daltons.info/)
Linux Development Process (Score:3, Funny)
2. Write your own driver
3. ????
4. Still never get laid
Re:Linux Development Process (Score:4, Funny)
I have to wonder if the annoyingly repetitive "not getting laid" jokes are made by people who themselves never get laid, and are hoping against hope that everybody else is in the same situation.
And what does this meta-not-getting-laid comment say about me? Maybe that I can't talk about it.
Official support (Score:5, Interesting)
(http://danormsby.googlepages.com/)
Taking advantage (Score:5, Insightful)
(http://www.ivor.it/)
Hell yeah ... (Score:5, Insightful)
(http://www.eclec.tk/ | Last Journal: Tuesday December 25 2001, @03:37PM)
So what happened OSS (free and not free) and ALSA happened. Bunch of people go together and said "To hell with the manufacturers not helping us, we'll make it work anyways". It was with this pressure that companies like "Aureal" (who about 3 months after releasing their first linux driver went under) to release drivers. Now you see sound support almost everywhere with linux and it's uncommom to not have sound. Another example of course would be "winmodems", modems actually designed to only run in windows running just fine in linux. It's always just a matter of time.
The community is strong, but you'll see real grassroots efforts take shape especially when developers are told "no". Wireless AP/Routers are in the sub $60 range and you can get a wireless card for around $20, it's now not just a rich kid toy, but a common mans networking solution. Expect more things to come of wireless support and expect that companies will take notice. Too bad it's not that easy to just start writing kernel mods for hardware support. There's a reason only a select few hack the kernel (it's really not easy), and well if you ever run into a developer, thank them, they put a whole lot of work into something and don't always get the credit they deserve.
Stop Gap (Score:1)
(http://www.santacruzbynight.com/)
How was it done? (Score:5, Interesting)
(http://brej.org/ | Last Journal: Sunday May 07 2006, @07:57AM)
It would be nice to have a system which emulates a whole machine (ala vmware but open) and then open some ports from the emolation to the real hardware. This way Windows assumes its running on a real machine but you have full snooping on the interface with the hardware.
It wouldnt take too long to write a simple x86 emulator for KMD [freshmeat.net]. And a nice tool to decide what areas whould be feed straight through to the real hardware would make it much easier to make drivers for other win only devices. It would also be useful to test the linux drivers but you can allready run linux in user mode.
from what I gather... (Score:5, Informative)
(http://www.ivor.it/)
Additionally the behaviour of the card and correct initialisation process was determined by analysing the ARM disassembly of the firmware and watching the traffic that goes between the access point board and its embedded PCcard.
What about other chipsets? (Score:2, Interesting)
Anybody know of any projects out there for the Broadcom chipset?
Frugal is as... (Score:1, Troll)
(http://slashdot.org/)
Intel Centrino (Score:2, Interesting)
(http://www.tribaltrouble.com/)
I can't find a driver, so I wondered if anybody knew of efforts to write one.
Another solution would be if somebody could recommend an alternative card for my D800..
SiS 650 (Score:1)
(http://oobermick.me.uk/)
Reason They Aren't Releasing Drivers (Score:5, Informative)
Interesting (Score:5, Interesting)
Re:Interesting (Score:5, Interesting)
(http://www.ivor.it/)
Initially they said a linux driver would be released december 2002.
In december that date was changed to Q1 2003.
At the end of december they then said there were no plans for a linux driver and customers should not 'hold onto cards in the hope of drivers' being written.
Then they added a link to the leaked binary drivers
Then they added a link to the oss drivers
Wonder what they'll change it to next?
God dammit.. (Score:2)
(http://www.ibiblio.org/propaganda)
I tried to post this story about 2 months ago. No dice. Those of us marooned with this chipset had to resort to filing complaints with the BBB in order to get TI to pay attention.
Oh well. Thats the last A) D-Link and B) TI chipset-based product I'll buy. If I buy something that says [b]on the box[/b] that it's supported in Linux, get it home, unwrap it, install it, boot up, and THEN discover it's more like:
This card is supported in Linux!*
* = No.
What could have happened - what will happen (Score:5, Insightful)
(http://linuxhomepage.com/)
In a way, this reminds me of CSS vs DeCSS. It started out as an innocent effort by someone to just be able to play the CSS encoded media they had legally bought and paid for ... no theft would have been involved. But, by having created the necessary software, and now it's in source form, others can do with it as they please, and many would please to steal. Had the big media businesses simply made a binary distributed player, that scenario would not have taken place, and maybe CSS might never have been cracked because of the lack of need to do so.
While WiFi hardware isn't the same scenario, there are some similarities. Had the manufacturers produced a binary-only driver module that could be loaded into the Linux kernel (and supported it properly, something essential when you release something in binary-only form), there would be virtually no need for anyone to go create a source form version. Only those wanting to actually hack on the card might. But with the binary drivers not being released, that forces the open source community, which has way more intellectual resources than companies like Texas Instruments, to create their own drivers, and it is open source.
What they feared most, and what motivated their misguided decisions, will now serve to bring about exactly what they did not want, which is hackers reprogramming the cards to operate off-frequency, or use wider channels (maybe I can get 50 Mbps out of this thing while trashing the UHF band of my neighbor's TV), and FCC pressure to make chips without software frequency/modulation agility (and thus increasing the costs due to the need to do hardware programming and design in specific market commitments for each manufacturing production run).
Another Candidate for Reverse Engineering (Score:2, Interesting)
(http://yagc.blogspot.com/)
Iv'e done some preliminary poking around with my copy of the binaries and it seems that ITEx were pretty sloppy with the binaries [solwise.co.uk] and left a lot of symbol table in that wasn't needed, thus making reverese engineering via objdump et al pretty easy.
I don't have time to work on this myself, but I'm willing to kick off a sourceforge or savannah project with what I have already - if anyone else is interested.
Voting with $ (Score:3, Interesting)
(http://infofiend.com/)
I recently moved into a house with an odd design which made connecting remote computers to the central router difficult using wires. My (iBook) laptop had no problems because it was able to go wireless, so I decided to go with a wireless solution for my Linux desktop. I had no idea what I was getting into.
I figured the easiest solution would be a USB based device, so I looked around and found a table of USB 802.11b driver support under Linux [wireless.org.au]. At first, I went to a local store and bought a device that the table said was supported. I got it home and ugh, it barely worked. Under Linux the driver was awful. To see if it was maybe the card itself I tried it under Windows. It barely worked there, hanging the machine when I tried a throughput test.
So I sent that back and ordered an SMC card which was supposed to have vendor-supplied drivers. I got it home, plugged it in, and tried to install the drivers. No luck. It turns out they were binary-only drivers for specific old RedHat kernels. So I emailed SMC for support. A week later someone got back to me to say that my issue had been escalated. A week after that I got a tar file in the mail. It turns out what I received was simply a forked and slightly modified version of the code on a Sourceforge project [sourceforge.net]. But, surprise, surprise, it didn't work either.
More investigations led me to an alternate driver [berlios.de]. Using the mailing list associated with this project, thanks to Joerg Albert I was able to determine that my device has a hardware configuration which is apparently very rare and needs special firmware. Once I got that, after about 3 weeks of effort, I had working 802.11b access under Linux.
At the end of this I'm annoyed with SMC. I am glad that they acknowledge that Linux exists, on the other hand, they were completely useless when it came to actually supporting their product.
In the end I guess I voted well with my dollars, supporting a company that provided minimal efforts to support Linux rather than one that refuses to even admit it exists. But I also provided $$ to a company that is deceptive about their hardware being truly supported under Linux. It was also pretty annoying that to get the thing to work required taking some random firmware file (in the form of a C header file with a massive data array) and randomly trying it to see if it would work.
It's sad when voting with your dollars is like other kinds of voting, where you vote against somebody because they're worse than the person you're voting for.
What's more frightening is that in a month or so I'm scheduled to find a way to get a mini-PCI 802.11b card working for an embedded Linux system running on an ARM processor. If getting a system with a fairly standard connector was this difficult on a desktop machine, I'm dreading trying to get a card with an obscure interface working on non-i386 CPU. Wish me luck.
The vendors rapidly abandon their "old" cards too (Score:2)
(http://www.thetao.info/tao/whitecloud1.htm)
Finally I ordered a TRENDnet TEW-303PI from Tigerdirect.com because Tiger's site said it supported Linux (although it's a + card) - but it looks like that was Tigerdirect overpromising, since the box the card's in and TRENDnet's Website don't list Linux support for this card. TRENDnet doesn't tell the chipset either. Anyone know if it's the TI?
chicken-egg problem (Score:1)
(http://www.vanheusden.com/ | Last Journal: Wednesday July 28 2004, @03:08PM)
This driver gives support in Linux for this smc-card.
Now, the only way I can obtain those drivers-sources, is to boot into linux and retrieve them with cvs. But when in linux, I cannot use the wifi-card and thus cannot get to the internet. The tarball on the sourceforge-site is something funny-looking with
Maybe someone can pull things from cvs and put it into some 'normal' tar-ball?
reverse engineering/decompilation tools? (Score:2)
Of course, a simple assembler/disassembler combo will do and allow simple modifications, but it won't result in anything very readable and would make it hard to adapt a Windows driver to Linux kernel APIs.
Something that goes from binary to structured C code and that has support for program flow analysis and renaming identifiers globally would seem like it would be useful for this sort of thing. Any recommendations?
808.11g (Score:2)
These guys caused my DWL-650+ to work yesterday (Score:1, Insightful)
Having some driver development experience, I started reading the sources of the OSS driver, and noticed the amazing work that these guys did in the last months. From a very broken binary driver, they have managed to bring up an almost fully working OSS driver.
However, the PCMCIA DWL-650+ didn't work on Linux until yesterday with the OSS driver - in one of my E-Mail sessions with Andreas, he suggested a small fix to the initialization cn after I compiled and loaded the driver with the fix. It surprised us both completely when this fix got the card actually to work!
Collaboration, people. With only 5 days of having this card which no much hacking experience I have managed to help a few other hundred people out there that might also have this card. The amount of time until an hardware that has no manufactor support will start working on Linux is directly related to amount of people who have this hardware.
So don't be afraid to invest. If the hardware is good on Windows and enough people use it, it will arrive on Linux sooner or later, and your help would be appreciated there.
but there is a binary driver (Score:2)
(http://www.wifibsd.org/ | Last Journal: Monday May 24 2004, @06:05PM)
Re:but there is a binary driver (Score:4, Informative)
(http://www.ivor.it/)
So no wash.
the real solution (Score:2)
I'm dense - please explain something (Score:2)
I'm hard pressed to understand how this information could be staying so restricted. People building embedded devices are not limited to a half dozen or so wireless router companies, there are tens of thousands of engineers out there in everything from large companies to one man shops that must be trying to get this information for hardware projects that would use the TI chips. How is it that this information has not come out yet? Or is it that the Linux developers will not touch it because of concerns over trade secret issues and prefer to reverse engineer it so that TI has no say in the use of the information?
it's about time (Score:1)
(Last Journal: Monday January 13 2003, @06:40PM)
are there any cards that do support linux (Score:1)
(Last Journal: Tuesday May 20 2003, @01:02PM)
What about the Broadcom chipset? (Score:1)
(http://www.bootai.com/)
PCI 802.11b situation is bleak (Score:2)
Two cards that are on the compatability list, the Linksys and the D-Link, both have been changed from Prism2/Intersil to Broadcom and TI, respectively.
I think it's neat that someone is working on a TI driver, but that's not really a reason to buy a TI card. And it looks hopeless for Broadcom, so my linksys card was a mistake.
Now, which card to buy? Rumor is, a 3Com card, but geez, that's a >$100.00 card. Maybe Netgear hasn't changed the chipset on MA311's?
If I didn't know better, I'd suspect this was an intentional shutting out of the non-windows world from wireless networking.
Bottom line, I need an 802.11g PCI card, preferably based on Prism2 and guaranteed to work with the linux-wlan driver.
Re:Wha? (Score:1)
Re:Wha? (Score:3, Informative)
(http://slashdot.org/)
Google (Score:3, Funny)
(http://www.beezly.org.uk/)
http://www.google.com/
Now, you make sure you put the slashes in the right way ok?
Re:Wha? (Score:2, Funny)
(http://anti-slash.org/)
Biped does not imply human. Care to qualify that?
Re:L'homme n'a eu aucune alternative. (Score:2, Interesting)
(http://www.blue.com/ | Last Journal: Tuesday July 15 2003, @08:35PM)
Ummm...So, they have sales training (Score:2)
So they have a marketing department? We have a cult. Oops, did I say that out loud? Sorry.
FWIW, there is no MS software on my desktop at home, and I'm proud of that. My wife runs win2k on her laptop because that's what she likes. BFD.
MS bashing (I guess you'd use cygwin to run bash under a MS OS) sure is fun, though!
Re:Babelfish translation of parent (Score:1)
Re:What's keeping them? (Score:2)
(http://en.wikipedia.org/wiki/Molar_mass | Last Journal: Friday September 19 2003, @11:21AM)