Slashdot Mirror


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."

28 of 272 comments (clear)

  1. And yet, the UN suggests WiFi laptops??? by jkrise · · Score: 4, Insightful

    Proprietary hardware - laptops. Proprietary drivers fro WiFi that lock you to Windoze. And a proprietary Intel Centrino doublespeak.

    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.

    -

    --
    If you keep throwing chairs, one day you'll break windows....
    1. Re:And yet, the UN suggests WiFi laptops??? by sehryan · · Score: 5, Insightful

      Do you honestly think that Mr. Kofi Annan knows the first thing about WiFi computing with laptops?

      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.

      --
      The world moves for love. It kneels before it in awe.
  2. DCMA Anyone? by cpn2000 · · Score: 4, Insightful

    Am I the only one who's first thought was whether these noble hackers would be unfailrly targeted by the corporations using DCMA?

    --
    All you touch and all you see is all your life will ever be ... Dark side of the moon
    1. Re:DCMA Anyone? by EvilTwinSkippy · · Score: 4, Interesting
      The DMCA only covers reverse engineering as it pertains to copyright circumvention.

      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
    2. Re:DCMA Anyone? by radon28 · · Score: 5, Informative

      The DMCA isn't just a blanket law covering all instances of reverse engineering, regardless of the context. The DMCA covers reverse engineering in cases where it is being used for copyright circumvention, which driver hackers aren't trying to do. MOST Linux drivers have to be written this way. Don't get me wrong, the DMCA is still a pile of hot garbage. I just hate it when people are scared to do ANYTHING that might be useful because of the DMCA.

    3. Re:DCMA Anyone? by JWW · · Score: 4, Insightful

      So these companies would rather give people who bought their cards their money back, or would they rather they keep their cards _and_ broaden their market share?

      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.

    4. Re:DCMA Anyone? by Monopolist · · Score: 4, Informative

      IANAL, but I believe the DMCA explicitly *allows* reverse engineering when the goal is interoperability. Since the official FAQ for these cards says linux isn't supported, it seems to me the interoperability argument would hold.

  3. Good For Them by SkArcher · · Score: 5, Interesting

    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 /.
  4. Don't buy unsupported hardware by Anonymous Coward · · Score: 5, Insightful

    I don't want to put the heroic work of these folks into a bad light, but from an evolutionary perspective, wouldn't it be better to avoid buying hardware if the vendor refuses to support Linux?

    1. Re:Don't buy unsupported hardware by Anonymous Coward · · 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.

    2. Re:Don't buy unsupported hardware by DaveHowe · · Score: 5, Informative

      The problem is - some of the unsupported cards using this chipset used to use a different (eg Orinoco or Prism) chipset and have not updated the name of the card so that you think you are buying a supported card (as listed in many howtos) but in fact are getting a newer model with no available linux driver.

      --
      -=DaveHowe=-
    3. Re:Don't buy unsupported hardware by dubious9 · · Score: 4, Insightful

      A lot of people I know who use linux, still dual boot with windows mainly for games and work/school networks. Connection with the latter is posibile in many cases, but not as easy as booting into windows and following simple directions.

      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.

      --
      Why, o why must the sky fall when I've learned to fly?
    4. Re:Don't buy unsupported hardware by Anonymous Coward · · Score: 5, Informative

      [uh oh, we did make it to /. after all... ;)]

      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

  5. Why the backpedaling now? by LinuxGeek · · Score: 4, Interesting

    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
    1. Re:Why the backpedaling now? by femto · · Score: 4, Interesting

      Also, the hardware of most WLAN cards is able to act as both a client and an access point. Having full specs means anyone can turn any WLAN card into an access point. People will then stop buying overpriced access points.

  6. Re:So what actually works? by orv · · Score: 4, Informative

    Take a look at:- Jean_Tourrilhes howto for useful info on driver status.

  7. Official support by danormsby · · Score: 5, Interesting

    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
  8. Hell yeah ... by SuperDuG · · Score: 4, Insightful
    Seems wireless cards are just about as bastardized as the soundcards of yesterday. I remember when you either had a Sound Blaster audio card or you didn't have sound. There were maybe at best 7 well supported cards. Sound in the 2.0.x kernel series was horrible.

    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.

    --
    Ignore the "p2p is theft" trolls, they're just uninformed
  9. How was it done? by brejc8 · · Score: 4, Interesting

    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.

  10. Taking advantage by orv · · Score: 5, Insightful

    This is particularly galling when you read about manufactureres who are actually reaping the benfits of open source development in their own products link but then refuse to support linux using customers.

  11. If nobody bought "unsupported" hardware... by goldspider · · Score: 5, Insightful

    ...and wrote drivers for it, we wouldn't have much of a Linux today, now would we?

    --
    "Ask not what your country can do for you." --John F. Kennedy
  12. from what I gather... by orv · · Score: 5, Informative

    Basically most work was done by disassembling a linux binary module for the chipset that leaked from one of the manufacturers.
    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.

  13. Reason They Aren't Releasing Drivers by Anonymous Coward · · Score: 5, Informative

    I didn't see this posted anywhere, but if you read a little more about the topic, you would have found the probable reason for why the manufacturers aren't releasing drivers. It ISN'T some MS scheme to screw linux users. The manufactureres are affraid that releasing drivers will get them in trouble with the US government. Apparantley the card can be reconfigured to transmit on military/police/other "forbidden" frequencies. The manufacturers don't want to have to deal with the repercussions of releasing such a "weapon". Pretty stupid really, considering theres already an effort out there, with some success I hear, at reverse engineering the windoze driver, in order to reconfigure the transmit frequency.

  14. Interesting by Anonymous Coward · · Score: 5, Interesting

    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!

    1. Re:Interesting by orv · · Score: 5, Interesting

      Yeah that FAQ has changed a few times. I think there's a history of its comments on seattle wireless somewhere, rummage, rummage, here.

      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?

  15. What could have happened - what will happen by Skapare · · Score: 4, Insightful

    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).

    --
    now we need to go OSS in diesel cars
  16. Wireless all that valuable? by 0x0d0a · · Score: 4, Informative

    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.

    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.

  17. Re:but there is a binary driver by orv · · Score: 4, Informative

    Indeed you discovered the link to the leaked binary drivers. However when the sourceforge project was started there were no binary drivers at all. Indeed it is a non-trivial task to decompile those drivers, and that was what was done to assist the development of the oss drivers. As you will note Dlink aren't providing or supporting those binary drivers you discovered either they've simply got fed up of all their customers asking them how to get their hardware running on linux and so added the link onto their FAQ.
    So no wash.