Slashdot Mirror


OpenBSD Ahead of Linux for Wi-Fi Drivers

algae writes "It looks like some kernel developers have noticed that the OpenBSD project is including reverse-engineered drivers for wireless ethernet cards while Linux is still using binary blobs. A large part of the issue is that much OpenBSD development takes place abroad, where having to do clean-room reverse-engineering isn't as important." From the article: "Christoph Hellwig took another stance, 'please don't let this reverse engineering idiocy hinder wireless driver adoption, we're already falling far behind openbsd who are very successfully reverse engineering lots of wireless chipsets.'"

60 of 256 comments (clear)

  1. Ha, wireless BSD by jawtheshark · · Score: 5, Informative

    I just started using FreeBSD 6.1 recently and I was surpised about the ease of setting it up. (Still not for the faint of heart, but Windows isn't either. If you want a nice custom setup that does what you want, you need a lot of time in Windows). My primary laptop is a P-III 600MHz with 512Meg RAM. An old fucker I bought for peanuts. It didn't have a network interface, so I added a Sweex wireless adapter. It shows up in both FreeBSD as Windows under RaLink 2500. (Note that Sweex is a cheapass brand, but for another product I had *excellent* support by email with them)

    Linux.... Nothing... No out of the box recognition.

    OpenBSD also recognised it but doesn't support WPA-PSK which I do require. FreeBSD supports WPA-PSK. I've been an OpenBSD fanboy for a long time, but I like FreeBSD equally now. Linux... well, somehow I have problems with most distributions. Either philosophical problems or technical problems :-) With *BSD, I have neither.

    --
    Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    1. Re:Ha, wireless BSD by ArbitraryConstant · · Score: 4, Interesting

      I went to a presentation by the OpenBSD developers during their Hack-a-thon, and they indicated that WPA was not a very high priority for them. They prefer to do authentication with auth-pf, and if encryption is needed they prefer to use VPNs. It does make it a PITA if you want to use a network you have no control over, but the OpenBSD crowd are like that sometimes.

      --
      I rarely criticize things I don't care about.
    2. Re:Ha, wireless BSD by jawtheshark · · Score: 2, Informative

      It does make it a PITA if you want to use a network you have no control over, but the OpenBSD crowd are like that sometimes.

      Yes, it does... but it still won't keep me from financing them. They have an excellent server platform and I just delegate the wireless functions to embedded devices. It just keeps me from becoming a desktop/laptop OpenBSD user, but I don't think that it's their target.

      --
      Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    3. Re:Ha, wireless BSD by bersl2 · · Score: 2, Informative

      rt2x00 is on the way to future kernel inclusion. In the meantime, the drivers derived from Ralink's code, which is in turn derived from their NDIS sources, are more than usable.

    4. Re:Ha, wireless BSD by jawtheshark · · Score: 3, Informative
      I know you mean this as a joke, but no.... it isn't. I have a 80 square metre apartment made of concrete and the signal of my Linksys WPA is weak 5 metres away in the living room. The sweex adapter gets high noise and low signal.... Both in Windows XP and FreeBSD.

      This is not the fault of the operating systems, it's the concrete.... One doesn't have to be a genius to figure that out.

      My parents have a wooden house and the same Linksys WPA. With my network adapter I can go anywhere and have a perfect connection.

      --
      Ahhh...the great dumpster continuum. Many a free computer will be found there. -- sowth (748135)
    5. Re:Ha, wireless BSD by MrHanky · · Score: 2, Informative

      I've used an rt2500 based WLAN-card on Linux, several months (a year?) ago. It worked well, but the driver was based on vendor supplied code that didn't integrate well with the rest of the kernel (duplication of effort, etc). That's why it isn't included in Linus's tree. But in the case of Ralink wireless chipsets, you actually get some vendor support for Linux, with actual working GPL code. I'm pretty sure the driver is included in Ubuntu 6.06.

    6. Re:Ha, wireless BSD by BTG9999 · · Score: 3, Informative

      If you use the rt2500 cvs driver it works great even on smp systems for Linux. I was using the rt2x00 becuase until late May the rt2500 driver would lockup SMP systems and Fedora only has SMP kernels for the x86_64 systems now. I don't use the rt2x00 driver anymore because it has some problems. However, I have not lookedinto it for about a month. Just go to http://rt2x00.serialmonkey.com/wiki/index.php/Down loads and grap the latest rt2500 nightly tarball. Also if you don't want it to mess up the fglrx driver from livna you need to change the install directory in the makefile otherwise it will remove the directory the fglrx kernel mod is in. After that you can use all the standard tools to configure the wireless card. However it is the rt2x00 driver that appears to be destined for the kernel since it is built from the ground up to be used in SMP systems.

    7. Re:Ha, wireless BSD by Anonymous Coward · · Score: 5, Informative

      The intro to this article is utter crap. OpenBSD does meticulous clean-room reverse engineering -- usually using two people (one to document function, the other to write the driver). They are, as always, completely anally retentive about license and legal issues. The submitter apparently didn't read the article - it is Linux, not OpenBSD, that may have issues about where it gets driver info -- the Slashdot submission has this completely wrong and should be corrected (just read the article!). The articles says *nothing* about where OpenBSD development takes place or its reverse enginnering process. This statement is an assertion of the article submitter, and very misleading.

    8. Re:Ha, wireless BSD by greenrd · · Score: 2, Interesting
      This whole "you could be sued for reverse engineering" thing is a load of crap. Who in reality has been sued for reverse engineering? Even in the US you are allowed to reverse engineer for interoperability purposes. You can be sued for infringing on a patent, but that's not specific to reverse engineering.

    9. Re:Ha, wireless BSD by Metaphorically · · Score: 2, Informative

      Well I don't know if it's a load of crap. A quick search turns up a couple cases: Blizzard v. BNETD and Mattel sued the makers of cphack (over some kind of censorship software).

      This how-to implies that reverse engineering "for purposes of interoperability" is legal in many places, but that's just one reason people reverse engineer stuff. With legal limits on what and when you can reverse engineer products, it's definitely possible to be sued for it. And successfully sued if you're violating the law (whether or not you agree with the law).

      --
      more of the same on Twitter.
  2. Take Action by neonprimetime · · Score: 3, Insightful

    Far too many people have a careless 'U.S.A. laws suck, merge it anyway' attitude

    Sometimes, like at this point, it's the right attitude. They better take action soon, or openbsd will make them look like a joke.

    1. Re:Take Action by herodiade42 · · Score: 2, Insightful
      > Far too many people have a careless 'U.S.A. laws suck, merge it anyway' attitude
      Sometimes, like at this point, it's the right attitude.


      I second this. IP owner are kinda terrorists (presuring gvt agencies, senates, parliaments, etc), and succeed well in spreading fear. There's lot of irrational going on this matter:
      • There's already drivers reverse engenered & implemented by the same person on the Linux kernel. Accepting this one would be consitent. What's so special with wireless ?
      • For mosts drivers, we don't know such details about the way it was implemented. The status quo up to now, for drivers writers is: you know that you must provide your own original implementations, we can't verify (eg. the code could be stolen from solaris, or anything) but we give you confidence, you're responsible. Why don't we credit the developers of RE drivers such a confidence, that they have done a pretty original and new implementation (that's arguably proovable on a court, then) ? that'd be consistent.
      • Linux users, developers, corporations and distributions come from all over the world (SUSE is German, Mandriva is French ...). Linux don't try that hard to comply with zeale to all insane rules on all involved countries, but try to behave fair regarding intelectual property. So far, we weren't hurt (and for the precise case we discuse: OpenBSD didn't undergo lawsuits). It'd be consistent to adopt the same approach for the most stupid U.S. potentials but improbables risks.
      • There's many pathes where the kernel can be fucked up by U.S. IP lawyers. In particular, in the patents area. Why the hell do we bother with this detail on "clean room reverse engenering" sudently ?
      • When a driver is RE in a country outside U.S., what difference it makes that it's RE ?
      Clean room RE is over zealous. It's inconsistent to require spending time & ressources on this.
      Meanwhile, Linux devs will know that (on wireless land only !), it's controversial to do self RE. So, for instance, they will hardly write a replacment for the Intel 3945ABG binary crap (can't be done without RE). We're hooked to Intel ! we dismiss our freedom for big vendors fear. Too bad.
    2. Re:Take Action by maelstrom · · Score: 2, Insightful

      So what operating system has MP3, DivX, WMV, MKV, etc without installing software or codecs?

      --
      The more you know, the less you understand.
  3. OpenBSD supported wireless chipsets by Homology · · Score: 4, Informative

    can be found by reading the man pages

  4. You heard it here first... by Weaselmancer · · Score: 4, Funny

    Linux is dead. Now, when will BSD be ready for the desktop?

    --
    Weaselmancer
    rediculous.
  5. yay for BSD by Umbral+Blot · · Score: 3, Interesting

    Well as the article itself says the clean room method isn't required by law. It would seem to make sense then to drop it until it is required by law, or alternately host your distribution overseas and have the developers working on the drivers be non-US residents as well, so that you are less vulnerable to US law. Wi-Fi problems are one of the reasons this laptop doesn't run Linux, although BSD is sounding cooler and cooler.

    1. Re:yay for BSD by try_anything · · Score: 2, Interesting
      IANAL, but my impression is that no one claims that clean room reverse engineering has ever been required by law anywhere at any time. The clean room method is designed not merely to comply with the law but to be a convincing demonstration that the requirements of the law have been met. Abiding by the law is one thing; being able to cheaply and confidently defend yourself in court against a well-funded attack is another thing entirely.

      (Further, if clean room engineering is the de facto standard for documenting compliance with the law, people are likely to assume that the only reason for doing it any other way is to conceal wrongdoing. That attitude may have little to do with the law, but it might have some influence in a courtroom. On that point I'm out of my depth; ask a real lawyer.)

  6. You can help end this argument by Bruce+Perens · · Score: 5, Insightful
    BLOBs are bad, and their legality in the kernel is questionable. Of course really free drivers that let us extend devices are better.

    Leaving BLOBs in the kernel might just mean you have different plaintiffs than if you used a reverse-engineered driver.

    However, full clean-room reverse-engineering a free driver with full source code, rather than one that you have to disassemble and figure out, is a reasonably easy task. And, we have to write a Linux driver anyway. So, find one friend to work with and get started.

    One person must not write any kernel code concerned with the driver. That person must read the existing driver, document the hardware, and publish the document. The document should not reproduce algorithms in the existing driver unless they are integral to driving the device and there isn't another way to do it.

    A second person must not look at the existing driver. This person reads the document and writes a new driver.

    Keep notes about the entire process. You could someday have to testify that you did it the right way.

    Bruce

    1. Re:You can help end this argument by Homology · · Score: 5, Interesting

      > BLOBs are bad, and their legality in the kernel is questionable.
      > Of course really free drivers that let us extend devices are better.

      It would be helpful if the Linux developers would be more supportive
      of OpenBSDs work on getting hardware manufactures to release
      documentation that is not under a NDA. When OpenBSD had the campaign
      for release of wi-fi chipset docs, it seemed that the Linux developers where
      sitting on the fence.

    2. Re:You can help end this argument by Bruce+Perens · · Score: 4, Informative
      I remember being copied on some of the discussion between Theo de Raadt and Richard Stallman. I think what happened is that Theo started out to get BSD-licensed BLOBs from manufacturers. And then, perhaps even through discussion with Richard, Theo was convinced that BLOBs were bad even if they were BSD-licensed. There was also some discussion from Theo about the fact that FSF and Richard hadn't ever supported Theo's work. And at some point they must have worked all of this out.

      But FSF aren't the Linux developers. If you ask them, they will be very adamant about that.

      Bruce

    3. Re:You can help end this argument by Triumph+The+Insult+C · · Score: 2, Insightful

      BLOB != firmware

      i can hardly imagine theo was ever supportive of the idea of shipping a bsd-licensed blob with openbsd

      --
      vodka, straight up, thank you!
    4. Re:You can help end this argument by LWATCDR · · Score: 2, Interesting

      Yes in an ideal world. WiFi devices have an additional problem. They must be certified by the FCC. A lot of the devices now use a software defined radio. That is great since it brings down the cost of the card and makes it more flexible. The problem is that if the end user has access to the interface in theory the end use could enable the device to broadcast out of the legal limits. The FCC would fail to certify that device.
      Yes you could make cards that enforce the legal limits of power and frequency but that would make the device more expensive and frankly give the end user no real benefit except that you can have an open source driver for it.

      The real solution is to admit that we live in an imperfect world and provide a stable binary device driver interface for Linux. Hardware providers could then include binary Linux drivers with their hardware. Right now even if a company wanted to include a precompiled driver for a piece of hardware it really is impractical. There is no way of knowing if it will work with what ever version of the kernel the user may have installed. You may say that they should open source the driver but that doesn't change the issue. They could release the driver as OSS but that still will not allow the manufacture of the device to include a precompiled version with the device.

      The lack or refusal to include a stable binary device interface is an artificial method too try and force hardware manufactures to release OSS drivers at the expense of the end users.
      The fact that Nvidia provided binary drivers shows that it doesn't work.
      Just as people with Windows may want or need to run FOSS under a closed source OS. Some people want or need to run Closed Source software under Linux.
      I would love to have a 90% free software stack including Linux. Instead of a 60% free software stack under Windows.

      --
      See my blog http://ilovecookes.blogspot.com/ for light hearted technical information.
    5. Re:You can help end this argument by Bruce+Perens · · Score: 2, Informative
      I have looked at the FCC rule-making and do not see that it prevents Open Source drivers, regardless of the hardware. Those drivers should enforce operation within the part 15 regulations, unless they are being operated by a licensed Radio Amateur. We do have open drivers for a number of cards, and FCC has never made an issue of it.

      Bruce

    6. Re:You can help end this argument by herodiade42 · · Score: 3, Insightful
      No, the problem he is talking about was not with Stallman.
      In fact there were two differents campaigns goals, about two very different kinds of "blobs":
      • For obtaining the right to redistribute firmwares with the system. With recent wireless chipsets, the firmware is often loaded in the hardware at runtime, so it should be provided separetly (a scale economy compared to providing a flash memory onboard). So even BSD or MIT licences were acceptables here: the firmware is to be loaded and executed on the chipset, not in the main system memory nor in the kernel. It's not ideal, but we're used to accept this with eg. PC Bios, or any other drivers. I understand that it could be non orthodox for Stallman, but this is not the vital part of what Theo asked for (it was rather secondary).
      • For obtaining proper chipsets documentations and specifications so that any free OS can write his proper driver. And NOT a driver (mostly binary, but even free) from the vendor, nor specs under NDA. This was the crucial part.
      But by no way the vendors provided any BSD drivers replacement for any blob (really, they don't care about OpenBSD). Some (Ralink, Atmel) agreed to redistribute the firmwares under MIT like licences anyway.
      And from Theo words, Stallman was found very supportive on this work (but not the Linux distros makers & users).

      The problem was with the second point, obtaining the hardware specs and not a binary "blob" driver. Theo de Raadt was replied by some vendors that (citing from memory) "you just have to sign our agreement and accept our binary blob drivers, look, many distributions (namely Mandriva, Ubuntu and Suse) agreed so it's an acceptable proposal, and you've no other choice". Theo was chocked by those replies, and chocked that only the FSF helped on his lobbying: the Linux distros makers wheren't supportive, rather the opposite, and the users of those distros didn't react to such a betrayal. It's somewhat similar to the recent Sun's Java redistribution licence for Linux (except that it's about kernel code, more sensitive).

      If you're interested on this story, I can find propers links, but most of it was covered on www.kerneltrap.org and www.undeadly.org, so you'll easily find the full story.
    7. Re:You can help end this argument by Bruce+Perens · · Score: 2, Insightful
      I don't like that Mandriva, Ubuntu, and SuSE accept that stuff either, and I agree that it works to undermine us. But you're not really talking about Linux developers. Just Linux commercializers.

      Bruce

    8. Re:You can help end this argument by herodiade42 · · Score: 2, Interesting

      I fully agree, indeed the Linux developers are innocent there. By no means I was charging them: they are the one who actually write the free softwares !

      And yes, commercializers are guilty ; but, to some extent, their user community have a responsability too: they (the users) had means to make commercializers/distros change their mind. They didn't, despite TdR and RMS calls for help.
      That's why I'm talking about this here, I want this little slashdot post contribute to pass the message among free software users: we're responsible too. When needed, we should educate our software providers (aka commercializers aka distros), we should tell them that we expect them to play the rules fairly. They'll listen us, we're the user base, and after all, we're also their marketing & PR force.

    9. Re:You can help end this argument by squiggleslash · · Score: 2, Interesting
      One person must not write any kernel code concerned with the driver. That person must read the existing driver, document the hardware, and publish the document. The document should not reproduce algorithms in the existing driver unless they are integral to driving the device and there isn't another way to do it.
      That's one way of doing it, and is only necessary if it's not possible to determine how a device works by examining its operation (ie you must have someone see source code)

      The OpenBSD 3945abg driver, on the other hand, was reverse engineered by taking the open source component, modifying it (in accordance with the GPL), and having that essentially spy on the binary-only proprietary daemon, allowing the author to determine what registers are used and how they're used. Technically the author "saw" the GPL'd driver and then wrote a BSD driver, so a very, very, stretched case could be made that the author may have unwittingly copied code and be relicensing it in violation of the GPL, but obviously for a Linux developer, this wouldn't be an issue as the Free Software driver would fall under the GPL anyway.

      I've had to reverse engineer stuff before. I generally find it easier to grab a hex editor and look at the input and output of a proprietary module than disassemble code which typically results in hundreds of thousands of lines of cryptic, undocumented, uncommented, not-even-self-documenting, code to examine. If you have a rough idea of what needs to be in the output of some code (for example, three or four sets of coordinates representing a spline in an outline font), you can start to build a bigger picture relatively easily.

      No disassembly required.

      No copyright lawsuits possible.

      --
      You are not alone. This is not normal. None of this is normal.
  7. Blob is bad! by grub · · Score: 3, Insightful


    I really hope the OpenBSD group's steadfast stance on "blob" is maintained. The Linux guys, who overall don't seem to mind blob, sound like they're starting to see the light. In the end it can only be good for all open source, not just OpenBSD.

    --
    Trolling is a art,
    1. Re:Blob is bad! by Anonymous Coward · · Score: 5, Informative

      Openbsd is going to maintain the anti-blob. I was down a wireless security with openbsd talk in Calgary after the hackathon last week which Theo attended and you can be sure OpenBSD will maintain the anti-blob. The discussion about blobs centred around what has been said before on openbsd.org. OpenBSD is first and foremost about security in its default state. You can't include arbitrary code that you don't compile yourself in such a system, you can't verify that's it doing what it says its doing. Further more Asian developers are more then happy to hand over all the required spec documents to get wider support for their wireless chipset. American companies however are going the otherway and would rather build drivers for each system the feel is important enough to warrent them.

      I'm sure they have their reasons but at the end of the day their way attempt at full circle development control will probably back fire. In an attempt to maintain a clean intellectual property enviroment where every participant is governed by NDA's and priorities are set by Mama corporate they have traded in creditabilty and grass root adoption. Whether this will ultimately cause them bottom line trama will be determined later in life. But one must only look at the economic trend in america as a whole to take a guess as to where this is going.

      America is becoming a service industry economy and losing its development and manufacturing roots, those jobs are being shipped oversea to asian companies that care more about making product then protecting copy rights. The cards that history played out however means that America still has trillions in wealth and the world's economies will continue to market heavily to americans to buy their products. Until that money dries up and their attention turns elsewhere. Once that occurs you won't see Toyota putting plants in Indiana to demonstrate how many local jobs it produces. It will put them in South America where the labour is half the price.

      As I see this is just another example of how American values of fairness, quality, openess and honesty have been lost in the boardroom and consequently the world is turning elsewhere.

      Hillbilly1980(damnit what's my password)

    2. Re:Blob is bad! by Blob+Pet · · Score: 2, Funny

      I find the title of your comment to be offensive :)

      --
      "...today consumers have been conditioned to think of beer when they see a bullfrog..."
  8. Bootable Distro? by deadhammer · · Score: 2, Interesting

    Fantastic, I just read through the supported chipsets and my laptop's onboard chipset is on there. So now I want to test it. Are there any decent bootable CD distros (Knoppix style) of OpenBSD that I could simply download and play with? If so I'd be more than interested in getting Windows off of it and cruising with BSD.

    --
    I'll be honest, we're throwing science against the wall to see what sticks. -Cave Johnson
    1. Re:Bootable Distro? by freshman_a · · Score: 2, Informative

      The only one I'm aware of is OliveBSD.

      http://g.paderni.free.fr/olivebsd/

      Haven't used it myself, however.

    2. Re:Bootable Distro? by GunJah · · Score: 2, Informative

      I believe Open BSD has a live monowall distro, and Free BSD has one here.

      I'm sure there are others.

  9. Re:This seems bogus by grub · · Score: 3, Interesting


    I think the problem is that the BSD code may not be considered "clean room" by the Linux people, hence it's "dirty" (not my opinion) and not to be touched. You can probably trace a lot of this obsession to the SCO lawsuit.

    --
    Trolling is a art,
  10. Re:This seems bogus by aristotle-dude · · Score: 3, Interesting

    I think it is a combination of laziness and philosophical issues. Linux is being held back by both unfortunately.

    --
    Jesus was a compassionate social conservative who called individuals to sin no more.
  11. Re:This seems bogus by mrchaotica · · Score: 2, Insightful

    ndisWrapper isn't counted because the thing it's wrapping around is a binary blob. That's basically the opposite of a BSD driver.

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

  12. confused... by Lumpy · · Score: 2, Interesting

    So what exactly is stopping them from download ing the BSD drivers and making a linux driver from the BSD sourcecode?

    Is there some kind of problem with that?

    --
    Do not look at laser with remaining good eye.
    1. Re:confused... by DragonWriter · · Score: 2, Insightful

      Well, presumably, if the (paraphrased) "much BSD development is done where the law doesn't demand clean-room reverse engineering" statement really is a valid difference between OpenBSD and Linux, the legally (in some parts of the world, presumably where much Linux development is done) tainted OpenBSD drivers would remain tainted, and thus Linux developers in those parts of the world would face legal jeopardy for porting them.

      Of course, if this is really the reason, the OpenBSD drivers are probably illegal for distribution or commercial use in those parts of the world, not just illegal to port.

      I'm not going to comment on how valid this distinction is, since I'm far from an expert on eitehr geographical distribution of development effort on various open-source OS's or differences among international jurisdictions on legal jeopardies associated with reverse engineering.

  13. Re:This seems bogus by Homology · · Score: 2, Insightful
    I think the problem is that the BSD code may not be considered "clean room" by the Linux people, hence it's "dirty" (not my opinion) and not to be touched. You can probably trace a lot of this obsession to the SCO lawsuit.

    But developing Linux drivers with documentation under NDA is popular, though.

  14. Open Secrets by Doc+Ruby · · Score: 4, Insightful

    If those OpenBSD drivers are under the BSD license, doesn't that mean anyone (except the very few under some kind of other legal constraint for some other reason) with the chops can port them to Linux? And those chops don't have to be as tight as the original BSD coders. Shouldn't the lead be very short-lived?

    --

    --
    make install -not war

    1. Re:Open Secrets by evilviper · · Score: 2, Informative
      Shouldn't the lead be very short-lived?

      No. Finding someone "with the chops" and interest simply isn't easy. There are simply tons of projects in the open source world that would be done very quickly if someone with the skills would do it. Instead, you have to wait around for someone with skill to get that particular itch.
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
    2. Re:Open Secrets by evilviper · · Score: 2, Insightful
      Yet the much smaller BSD developer community has enough people with even rarer skills?

      No, it's that this has been an "itch" in the OpenBSD community for quite a while now. Linux developers simply chose to focus their attention elsewhere, since their wireless cards were working fine...
      --
      Slashdot gets worse every day... Pipedot: News for nerds, without the corporate slant
  15. Re:This seems bogus by Just+Some+Guy · · Score: 5, Insightful
    Yeah, because all the BSDs and Linux have identical kernel interfaces, PCI subsystems, DMA handlers, etc. A simple ./configure; make install is all that separates OpenBSD's kernel from 2.6.15, after all.

    In reality, on the other hand, the reverse engineered drivers can serve as excellent documentation for how the same logic can be implemented in another OS, but that's about as close as it's likely to get.

    --
    Dewey, what part of this looks like authorities should be involved?
  16. Re:You can help end this argument-Buy foreign by Bruce+Perens · · Score: 4, Insightful
    AC wrote: What would end the argument, Bruce is open-source hardware.

    Yes, that would be excellent. How do we get there? OpenCores.org has the start. However, all of the gate-arrays that they have to work with have a proprietary bitstream format and thus they require proprietary tools to program them. We need an Open Source gate-array to facilitate Open Source hardware. Initial full-custom full-wafer mass fabrication cost is about $1 Million. At that point, you can get the parts down to a reasonable price. You can do small runs in MOSIS (or whatever they have these days) to make sure the design works before you go that far.

    I figure this is at least $2 Million to get done. We need good hardware designers and people to help write the grant. If I can hook up with such people, I'll do whatever I can to help. I don't have the hardware expertise to lead this, or I'd already be started. Any volunteers? I'm quite serious.

    Bruce

  17. And pretty soon... by jpardey · · Score: 2, Funny

    netcraft will confirm it.

    --
    I have freaks! I did something right...
  18. Re:You can help end this argument-Buy foreign by SigILL · · Score: 2, Interesting
    What would end the argument, Bruce is open-source hardware.

    I take it you mean as in programmable logic? That's not much of a solution either. You still need good documentation, as reverse-engineering VHDL/Verilog code is hard (speaking from experience here).

    What's maybe interesting to note here is that most asian hardware manufacturers are rather open about their hardware documentation, notably ralink and realtek. Companies like intel and texas instruments still don't want to cooperate. Something to keep in mind when purchasing new hardware perhaps.
    --
    Error: password can't contain reverse spelling of ancient Chinese emperor
  19. Re:This seems bogus by Homology · · Score: 2, Insightful

    > Drivers developed under the constraints of an NDA are usually released as blob, no? Not always. There are several drivers in the Linux kernel with docs under NDA. UltraSPARC III support, for instance. Drivers written with docs under a NDA are the open source equivalent of a blob.

  20. Re:You can help end this argument-Buy foreign by SigILL · · Score: 2, Informative
    We need an Open Source gate-array to facilitate Open Source hardware. Initial full-custom full-wafer mass fabrication cost is about $1 Million.

    Please don't forget the software, as most intelligence for programmable logic is contained there. Developing a wafer for an FPGA is easy compared to writing synthesis/P&R software for it. Automatic place and route is a really hard problem.

    I figure this is at least $2 Million to get done.

    I'd double that, and allocate most of it to synthesis/P&R software. Although such software obviously needs to be free (libre), I think you really want to pay people to write it or it'll never become useable.

    I don't have the hardware expertise to lead this, or I'd already be started. Any volunteers? I'm quite serious.

    Apart from the sheer amount of work, I have to admit it does sound like fun. Although I only have experience in targetting FPGA's (I've written a couple of microprocessor cores as well as some I/O devices), not developing them myself.
    --
    Error: password can't contain reverse spelling of ancient Chinese emperor
  21. Re:This seems bogus by convolvatron · · Score: 2, Informative

    i've taken a large linux driver and gotten it running in free with no
    source changes by defining the linux interfaces as macros and
    inlines. i think the only thing that didn't just fall out was
    the bit-sense of PAGE_MASK.

    i don't see any reason why you couldn't do the same thing in the
    other direction.

  22. ndiswrapper for *BSD? by schweini · · Score: 3, Interesting

    i just finished fighting with my PCMCIA WiFi card and ndiswrapper and wpa_supplicant, becasue they only choose to work when they feel like it - everything from Segmentation Faults to perfected working happens from time to time - I guess it's because of the voodoo invloved in making a windows driver run on linux, so i guess i shouldnt complain. but it still begs the question why there's no "ndiswrapper for *BSD drivers", or something along those lines. AFAIK, windows drivers have to have a rather rigid interface (NDIS?), and this might not be the case for the BSDs, but i'd still guess that it should be easier to build a wrapper for other open-source drivers than for windows drivers?

  23. Re:You can help end this argument-Buy foreign by SigILL · · Score: 2, Interesting
    Hm. There are two issues here and I'm a bit confused regarding which you mean.

    Place-and-route for the logic to load into the device.

    My impression is that Open Source does exist to do at least part of this job. I don't know how good it is.

    I know of free (libre) VHDL synthesis software targetting silicon (eg. Alliance), but I'm not aware of similarly licensed P&R software targetting programmable logic. And even if it were to exist, because the problem is so very hard I don't think it's going to be any good. If a company is going to put in 25 or more man-years to write a piece of very specialist software, they're going to ask money for it, not release it under the GPL.

    Xilinx has been working on their own synthesis/P&R software (which is gratis for their lower-end devices) for a couple of years now, but it is still being outperformed by more expensive software.
    --
    Error: password can't contain reverse spelling of ancient Chinese emperor
  24. Re:You can help end this argument-Buy foreign by Theovon · · Score: 2, Informative

    OpenCores isn't the only open hardware group. Check out www.opengraphics.org, particularly the OGD1 section. Real hardware engineers are making real hardware, and they're making it OPEN (and libre).

  25. Open Source Hardware by jd · · Score: 4, Interesting
    I do believe that this is the correct direction and that OpenCores has a lot of very useful material. There are programs for hardware analysis and design, but you are correct that there's a LOT more to hardware than just that. Even with high-end commercial applications, it is not easy - the software can easily fail to calculate the power loads, for example, leading to both over-hot regions and under-powered sections.


    But calculating these values isn't enough if you're designing anything of high complexity. You then really need CFD software to model how the heat will flow around your design. It's easy to build something that is quite incapable of remaining within temperature limits.


    When building network interfaces, other problems creep in. You have no control over whatever you connect your device to (wirelessly or wired) and so must provide suitable tolerences. You also have potential problems from interference generated from within the device itself. A wireless network card that jams itself is of very little use.


    I'm not saying this is impossible - the University of Manchester uses Open Source tools for designing async microprocessors which are suitable for cell phones, so obviously it's possible. It has been done. The problem is in moving from "possible" to "practical". That is an area that looks interesting and - as programmable computable devices become more powerful - more open to experimentation.


    One of the problems with commodity hardware is that the only reason it is cheap and useful as a commodity is that it is ultra-generalized and therefore inefficient at any given task. As such, it should be very easy to design things which are more specialized and more efficient, even without a multi-billion dollar budget. Most of that budget is going to be in cramming all possible features onto as little silicon as possible without causing a meltdown. Microcomputers were buildable because no individual user really needed the full power of a mainframe. I could easily see the next stage being people designing components and cards that aren't perhaps equal to AMD's or Intel's latest mega-product but which are perfectly good for a special-purpose embedded device.


    Is this likely? I don't see why not. The 65I02 is a popular microcontroller. Yes, that is a more modern 6502 processor, and 6502s are NOT rocket-science. Open Cores is already well past the simple design of a 6502, and probably more than capable of designing fairly decent control systems with Open Source tools alone. Once you get a cottage industry going with Open Source hardware, then more advanced tools will inevitably follow.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  26. HCL: A strategy to get off the driver treadmill by Burz · · Score: 5, Interesting

    1) Form a consortium of major Linux vendors to build and maintain an exhaustive but relatively friendly Hardware Compatability List (HCL).

    2) Spread the word that if users don't consult the HCL before purchasing new hardware, they risk a lot of compatability headaches.

    3) Invite hardware OEMs to participate directly in maintaining their corner of the HCL. Under each model listing, provide a button to send user feedback (or petition) to the hardware vendor.

    4) Watch as hardware vendors begin to take Linux drivers much more seriously, due to constant and coordinated pressure from consumers. Vendors will get a clear message that the days of the haphazard "plug-n-wish" habit are over, since users will avoid buying their products of questionble compatability in the first place.

    OS vendors must work to keep their patrons informed about hardware suitability. There is no other way around it in the near-mid term, and we will never get to the point where most OEMs automatically accommodate Linux unless a sturdy bridge is built to organize and convey the users' purchasing interests.

  27. Re:You can help end this argument-Buy foreign by Kadin2048 · · Score: 2, Interesting

    I think that their site is actually http://www.opengraphicsproject.org/

    Does anyone know if there are any plans/projects out there to build an actual free HDL synthesizer? Something that can go from the Verilog or VHDL to a netlist? It seems that's kind of key to all of the "open source hardware" projects; without one it's like the FSF in 1986, before gcc. You can write all the code you want but doing anything with it requires finding someone with the right commercial software.

    The concept of 'hacking hardware' is an attractive one, but it's hampered by the very high cost of entry. Having a Free simulator is certainly a big step, but I think a lot of people are turned off by the fact that they can't produce a netlist of their design for use on an FPGA without very, very expensive tools. (Although I've seen references to some old [c. 1983] tools published by Berkley on tape for VAX that might still be around.) Unless I'm just confused and you can program an FPGA directly from an HDL program without synthesizing to a netlist first...?

    I'd be curious to see someone who's gotten involved in hardware, particularly FPGA, programming give a breakdown of the minimum costs required to experiment and actually fabricate (not just simulate) some circuits. Maybe the perception of high cost on my part is false, in which case I'd be happy to be corrected.

    --
    "Ladies and gentlemen, my killbot features Lotus Notes and a machine gun. It is the finest available."
  28. Re:in other news... by kv9 · · Score: 2, Insightful
    ...linux supports thousands of other devices that BSDs doesn't support.

    very good. we need opensource supporting all sorts of hardware. only this discussion is in regards to WiFi support.

    Linux developers are just as interested in getting opensource drivers just as the next guy. We're all in the same ship.

    i don't see where the flame is. the OpenBSD folks want open unencumbered drivers (hence the 3.9 blob theme) while the Linux folks have NDIS wrappers, blobs and other such hacks. it's fact. no need to get melodramatic over anything.

    and they showed us that they can deliver while sticking to their goals and principles

  29. Re:This seems bogus by herodiade42 · · Score: 2, Informative

    Indeed having it GPL counts a lot.

    But still, if the driver was developed under NDA and is bloated of "magic numbers" (as often in drivers under NDA, the implementation can't contain too much comment/infos), practicaly, we're near to loose one of the fundamentals rights supposedly granted by the GPL: the right to modify and re-use it. Well, you have this right, but you can hardly use it.

    In practice, source code designed to hide IP secrets is in-between normal source code and binary exec. That's why, by the way, OpenBSD devs never accept and never signs NDA, as stated there http://www.openbsd.org/goals.html for instance.

  30. Re:in other news... by mike_the_kid · · Score: 4, Insightful
    Of course, OpenBSD is a much smaller market than the Linux market, which is probably part of why binary blobs just aren't availble for it at all -- the hardware developers just ignore OpenBSD entirely rather than throwing them a bone in the form of a binary blob.


    OpenBSD doesn't have any blobs because the project's leaders will not consider using them. What's the point of having an open source, audited, secure operating system if you allow arbitrary blocks of binary code into the kernel?

    The reason OpenBSD doesn't have blobs is not because of their size -- they could port FreeBSD blobs in easilly. The reason is that the project is focused on quality. Their view is that quality and openness go hand in hand. Can't have one without the other. See this interview with Damien Bergamini, who implemented a driver for the Intel 3945 802.11abg NIC without any of Intel's blobs. The OpenBSD driver is considerably fewer lines of code than Intel's. Because its simpler, its easier to audit, and easier to find bugs in. Of course, you can't find any bugs in Intel's driver because you can't see the source code. Not because the Intel driver is bug free.
    --
    Troll Like a Champion Today
  31. Re:COPYRIGHT is stopping them. by QuantumG · · Score: 2, Informative

    You sure are. You're not allowed to remove their copyright or their list of conditions, but there's nothing in the license that says you can't add more, even ones that negate theirs.

    Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

            * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
            * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
            * Neither the name of the nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
            * And you have to give me $400,000 per copy and say "Linux rules" 100 times.

    Perfectly legal.

    --
    How we know is more important than what we know.
  32. Deviceescape by octopus72 · · Score: 2, Interesting

    They developed advanced wireless driver framework, which will in some time be ready to be included in linux kernel.
    I'm all for it, ASAP. Practicall all linux wireless dev people agreed on it, so it's just a matter of time.
    Porting drivers shouldn't be as hard, while current wireless driver model is seriously lacking.

    BSD code could be very helpful for reverse engineering.