Reverse Engineered 802.11b+ Drivers
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."
It is good to see a direct verifiable example of Open Source development with a higher standard of Quality Assurance than the corporate developers.
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.
An infinite number of monkeys will eventually come up with the complete works of
It seems that several manufacturers that were warming up to the Linux community have now reversed positions. Does anyone have contacts within companies like Dlink, Linksys or Netgear that can tell us why? Will Intel continue to shoot us a bird with the centrino too?
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.
Kindness is the language which the deaf can hear and the blind can see. - Mark Twain
No, I felt the same way. Frankly, I am amazed that anyone has the chutzpah to do this sort of thing, much less open a public Web site about it. I'm still amazed at the very existence of mplayerhq.hu-- in Hungary as it is. I'm stunned that the **AA fascists haven't sent a few thugs over to Hungary to work "justice", just like they did with Dmitry Sklyarov (spelling?)...
Honey, I shrunk the Cygwin
I can see why a company will not want to provide multi-OS support officially, as if Linux changed they don't want the liability of having to support the changes. But, if someone in that company was already half written a driver, even if it is buggy as hell, surely they should give this away to the user community as a starting point rather than forcing people to reverse engineer their own solutions.
Omnis amans amens
It doesnt say on the pages how he reverse engineered it.
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. 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.
Mouse powered Chips, Open source Processors and Lego
I'm stuck with two Linksys cards, the 54g PCMCIA card and a WMP-11 rev 2.7 PCI card, that are both based on the Broadcom chipset. I'd like to help out an existing project on this, but I can't find one anywhere, and I fully expect Hell to call me to tell me to turn the heat back on before I get drivers from Broadcom or Linksys.
Anybody know of any projects out there for the Broadcom chipset?
Don't you know it is now both immoral and criminal to think beyond the next quarterly report?
My Dell D800 was delivered with an Intel Pro/Wireless 2100 Mini-pci card.
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..
In any case there is a specific clause in the DMCA that allows for reverse engineering for the purpose of interoperability.
"Learning is not compulsory... neither is survival."
--Dr.W.Edwards Deming
Software driven radio. While this sound cool you are getting nowhere without some hardware that will transform analog signals (In cellular with a dynamic range of more than 100 dB (1e10)) to digital. While it might be possible to build such an A/D converter it will use much to much current unless you use some trickery in getting rid of the dynamic range before sampling.
This transformation is what the hardware in modern radios do. This hardware is what is not covered in the gnu project.
What is covered in the gnu project is digital modulator and demodulator at baseband. While this is very nice it is not revolutionary.
Darn, and I bought a dcf 650w for my handheld three days ago.. don't think I can return it citing bad product naming.. anyway.. it doesn't seem to work with pocket warrior.. better sell it on ebay :p
- I choked on the red pill and now I'm stuck in limbo
Did anyone notice that D-Link's FAQ now provides a link to the SF project at the bottom? Well, it's better than another asinine lawsuit!
I would love to see the ability to change the frequency of 802.11b cards. as a ham radio operator, I can use other radio bands beond the 2400 - 2483.5mhz ISM band, like 2300-2310mhz and 2390-2400mhz
the only issue would be that 802.11b is about 15mhz wide. if this could be re-tuned, we could use the gear in areas where we wouldn't have to deal with normal interfearance.
the DMCA is probably crossing everyone's mind here, because people are scared of it. They hear the words "reverse-engineering" and quiver in their long johns... I believe that the simple fact is, that even if these companies get the linux users, it will cost them more money in the long run. Because if anyone has tried to compile drivers (third party or otherwise) for any wireless card, it's not the simplest thing to do, and you need to have a decent amount of knowledge to do it, which some linux users don't (and that's fine). But, then they have to pay their tech support people more to learn linux driver installation techniques, which (imho) aren't as streamlined as windows. For example... I purchased a linksys wireless NIC about a year back because I couldn't find drivers for any of the ones I had, and I had seen on their site the linux drivers. I loaded them up, and then, when they didn't work right (probably due to user error on my part) I sent them an email, something brainless like "are your drivers compatible with my version of linux?" and the response I got back every time I emailed was simply "we do not support linux".
This is just a theory.
btw, the same thing goes for ISP's i had the same problem with SBC dsl, i called for a port number that would not dictate what OS I was using, they asked anyways... I said linux, they said they don't support linux, and hung up.
I'm not saying that god doesn't exist, merely that he is not necessary - hawking
The Itex Apollo 3 PCI ADSL chipset. They released binary only drivers for the 2.4.16 kernel: and then went bust. Very frustrating for those of us looking for a cheap PCI based broadband solution.
Iv'e done some preliminary poking around with my copy of the binaries and it seems that ITEx were pretty sloppy with the binaries 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.
/usr/games/fortune > ~/.signature
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. 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. But, surprise, surprise, it didn't work either.
More investigations led me to an alternate driver. 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.