Linux Sourcecode To Minitar Access Point
mcbridematt writes "Minitar sells a rebadged Edimax Linux based-802.11b Access Point in Australia (no FCC ID yet) for a relatively cheap price (under AUS $100 in places). These access points are based around the Realtek 8181 wireless-system-on-chip design, have 8MB flash rom, and run a 2.4 series Linux kernel. After requests from the community to get the kernel sources, which resulted in a incomplete sourcecode release, we finally have (allegedly) complete and GPL compliant Linux kernel sources for this fine Access Point. Special thanks to chuna, serialmonkey and screwball at Minitar for making this happen, especially after they ran into arguments with their OEM and Realtek over this." From the attached forum discussion, you can see there's disagreement about whether the source code release is as complete as it should be.
Before I kick myself in the arse over my usage of "full" in this story, there ain't any wireless code in there. It appears to be for the purpose of getting Linux to run on the damn thing. (Imagine a Beowulf cluster of these AUS $100 things blah blah..)
:(
The RTl8181 driver for Linux has been a seperate binary driver for some time
Maybe those of use stuck with a Realtek 8180 card? The model number is close enough to 8181 that there is some chance that the 8181 AP driver would work with the 8180 PCMCIA card, with only minor modifications.
Yes, I know that there already is a binary driver for the 8180, but it is very flaky, and rather picky about the kernels and distributions it agrees to work with... (as binary drivers usually are, alas!)
Say no to software patents.
...is kindof a cool thing one can do if able to update the flash memory on accesspoints.
Check out http://reseaucitoyen.be/index.php?OpenWrt (french) which is a project to run a olsr implementation (www.olsr.org) in a LinkSys-Wrt54G which also runs Linux.
But big deal. The source is going to be 99.8% unchanged from the previously public version, and the 0.2% remaining is just going to be bootstrap code and code to work around bugs in the specific hardware, etc. Further, I bet nobody actually does anything interesting with it now that they've got the source. After all, the HW's only good for one thing, and it already does it.
Suing every commodity router builder that comes down the pike with a product like this, which has essentially zero software value added in it, is just going to make some manufacturers squeamish about using Linux inside. And I want them to use Linux, because I, as a consumer, would rather have that than the lower quality, higher cost alternatives that exist.
Looking at it another way, if the OSS community sues over these dinky issues, where they get no great new software to show for it, they'll lose out on luring some big fish to use OSS plus their own super-duper-multimedia-software, which the community could then sue for and actually get something out of it.
P.S. For those that say "but we might get a driver for the buggy chipset that we've only got a buggy closed source driver for now" - will you listen to yourselves? Support another chipset vendor, you twits!
Everybody's a libertarian 'till their neighbour's becomes a crack house.
Link to the product at NewEgg.
Knowledge is power. Knowledge shared is power multiplied.
" Don't get me wrong. I think that, under GPL, people are fully entitled to ask for the source for this thing."
Then why rant about it? Either they are, or they aren't. There's no middle ground.
"But big deal. The source is going to be 99.8% unchanged from the previously public version, and the 0.2% remaining is just going to be bootstrap code and code to work around bugs in the specific hardware, etc. Further, I bet nobody actually does anything interesting with it now that they've got the source. After all, the HW's only good for one thing, and it already does it."
Kind of hard to tell without the source code, now isn't it? Besides your "it already does it" applies as much to the big battles as does the small.
"Suing every commodity router builder that comes down the pike with a product like this, which has essentially zero software value added in it, is just going to make some manufacturers squeamish about using Linux inside. And I want them to use Linux, because I, as a consumer, would rather have that than the lower quality, higher cost alternatives that exist."
The reasons NOT to do something will always outnumber to reasons to. And I wouldn't call the firmware of "essentially zero software value" since in it's absence the hardware is of no value whatsoever.
"Looking at it another way, if the OSS community sues over these dinky issues, where they get no great new software to show for it, they'll lose out on luring some big fish to use OSS plus their own super-duper-multimedia-software, which the community could then sue for and actually get something out of it."
I wasn't aware that having control over you hardware was a "dinky" issue. Thanks for the heads up.
"P.S. For those that say "but we might get a driver for the buggy chipset that we've only got a buggy closed source driver for now" - will you listen to yourselves? Support another chipset vendor, you twits!"
"
P.S.S. Running away from a problem will not only not solve that problem, it makes you weak when it comes to dealing with bigger problems.
You are wrong on that part. So what if the code on your product is GPL'ed? You are still SELLING the HARDWARE, all you are doing is allowing people to modify it at will. This will in fact INCREASE your sales to the computer community as they can now roll out their own custom solutions and not be bogged down by the compiled software.
The GPL is not a new idea, it's principle is based in history. People thoughout the centuries have written down their scientific breakthroughs, finds and other discoveries. They believed that by sharing what they found and developed would help the world. They are still credited with the finds, but now everyone has access to them. Why are computers so different? Because money and companies are involved. Stupid managers and officers all see, Propritary CODE MUST NOT SHARE, when in fact if they made good products, GPL'd the code they would make money.
You see even though you GPL the code does not mean that your competitor can steal it, they too are bound by it and must make their changes public, which in turn helps you. WHOA!!! The GPL is a idea based on the sharing of knowledge for the benefit of the whole world.
Later,
Arathres
stainless steel
"This is a prime example of how the GPL is going to continue to hurt Linux. Going after a company like this for violating Linux's overly-restrictive license is not going to promote widespread corporate adoption - rather, it will push them towards proprietary solutions."
You wish us to accept your premise? OK. accept this one then. Going after customers for violating overly restrictive EULA's (BSA) is going to hurt proprietary chances in the marketplace, and push customers towards OSS solutions.
Now I leave it to you to match reality with the above.
Eventually people will get the message and either build/buy propretary solutions or adhere to the licenses of the Free Software they choose. Someone should have known that putting a statically compiled in wireless driver into a commercial product means one of two things, yank as a mistake on sight and say sorry, or release the source. If you build a product on Free Software, you should understand what you are doing and if you are not planning on releasing everything you do you had better be real careful you don't contaminate what you want to "keep"! I see it as a good thing, as it reinforces the "community" element of Free Software and reassurres people who might put serious work into Free Software that it won't be hijacked by others who won't follow the rules (well don't know what would happen with GPL violations/violators in China, for example, at present).
BTW I only want Linux to gain widespread acceptance if it is still Free, the video card market is where this battle is really being fought at present though with Daniel Stone's announcment that XFree86 has been forked (I submitted a first story to slashdot about this 9 days ago and it's still pending), not once but twice (by X.org and freedesktop.org) perhaps a shake-up is coming.
Never underestimate the dark side of the Source
"and that's what Linux people want, right?" Contrary to what those companies would like you to believe, many of the "Linux people" just want an operating system that they can fiddle with and can modify freely. It isn't about acceptance, or profit, or popularity contests, or usability. If keeping software like this free in every instance isn't your priority, then go use one of the wonderful BSD licensed operating systems and stop telling everyone else what the purpose of the linux kernel is. Linux isn't about sacrificing the freedom Linus put his kernel under (along with every person who ever contributed to it) for some semblance of acceptance and self-esteem.
Yes, I know that there already is a binary driver [realtek.com.tw] for the 8180, but it is very flaky, and rather picky about the kernels and distributions it agrees to work with... (as binary drivers usually are, alas!)
Which is why I contend that the Linux driver interface sucks.
Assume that I have, on my Red Hat system, kernel 2.4.20-8. Which I parse as 2.4.20 kernel, build #8. So a security update comes out, and I upgrade to 2.4.20-12. (Not an atypical scenario).
Suddenly, my nvidia driver doesn't work, and once that's resolved (with a loss of 3D support, no less) I find also that VMWare won't load properly.
It may be that 3 lines of code were changed, so that
"if (a>20){
b=5;
} "
now reads
"if (a>=20){
b=5;
} "
out of umpteen kazillion lines of code, but dammit, now I have to find precompiled binaries for the exact version and build of the kernel I'm now running.
I think that's just retarded.
Kernel modules should communicate through a documented API, allowing a particular binary driver to work on a series of versions. I think it'd be fair to have a 2.4.x api, and a 2.5.x, 2.6.x, and so on.
But the current way is just stupid and hampers Linux' adoption in the less techie areas.
Of course, since I'm not Linus, nor a programmer of sufficient skill to provide any serious challenge to the powers that be, I generally just swallow my gripes and live with it for the parts that I like. (fantastic reliability, good uptimes, reasonable security, etc.)
I have no problem with your religion until you decide it's reason to deprive others of the truth.
Rubbish. It's a prime example of how a corporation saw something for nothing, took it, and is renegging on the deal it engaged it. Few people, if any, in the Linux community got anything out of them using our work, but they got a complete operating system that would have otherwise cost them a shitload to develop or buy. You can bitch about the GPL being restrictive if you want, but all that's really being asked is to give as well as take. Except instead of just asking nicely, it's a legal requirement.
I'm guessing your not a Linux user or contributor, judging by your last remark. Most of us don't give a toss about Linux widespread acceptance, we just want Linux to work better for us - if others like it too, then that's a bonus. We're certainly not doing it to make other companies wealthy on our backs with nothing in return, even if it is a token gesture in comparison.
Forget thrust, drag, lift and weight. Airplanes fly because of money.
1. Company X makes the guts of one of these routers or access points. They modify GPL'ed software, and put it on ROM in the device.
2. Company X sells these things to OEMs, who put it in boxes, add their applications in a separate ROM, and sell it to customers. Company Y is one of these OEMs.
3. Company X includes the full machine readable source of the GPL'ed ROM with the board they sell to company Y. Note: Company X has completely satisfied their GPL obligation. They are completely off the hook as far as anyone who acquires the software from company Y is concerned.
4. Now it gets interesting. Company Y takes the board with the ROM, and sells it to an end user. Note that company Y is allowed to do this without the permission of the copyright holder, because of the first sale doctine (see footnote).
5. Because company Y didn't do anything other than what is allowed by copyright law, they are under no GPL obligation to provide ROM source to the end user.
6. Note the end result: no one has a GPL obligation to provide source to the end user! Company X satisfied all their GPL obligations in their dealings with company Y, and company Y distributed in a way that falls outside the GPL.
Note: this isn't as big a loophole in GPL as it might seem, since it only applies to things like ROMs, where someone like company Y receives a particular copy, and distributes that particular copy to the end user.
Footnote: the fair use doctine, codified at 17 USC 109 if I recall correctly, basically states that the legal owner of a particular copy of a copyright work can sell that copy, without that violating that copyright owner's exclusive right to distribute or authorize distribution of the work. This is what allows used bookstores, for example. Without the first sale doctrine, every time a book changed hands, it would require the publisher's permission!
This is also what lets you sell a used embedded device on eBay without incuring any GPL obligation if it turns out the device uses GPL'ed code, so I wouldn't say this loophole in GPL is a bad thing. If you just go down to BestBuy and buy a router, you should be able to resell that without worrying about whether or not the manufacturer used any GPL'ed code in the thing.
The GPL serves a purpose (though I'm not sure what)
Perhaps you should read it some time. The GPL is a license that software authors employ to grant others the rights to use and modify their software codes. In other words, if I spend a year developing some software, I can then distribute it under the GPL. The specific advantage of the GPL as compared to BSD-style licenses is that it gives other free software developers (who I presumably share some common interests with) an advantage over commercial competitors who might take my hard work and turn it into a commercial product that competes with me.
Companies developing routers have a simple choice: write the software from scratch, buy commercial software, or use free software. If they buy commercial software, they must respect those license conditions imposed. If they use free software, they must also respect the license. If it's GPL, that means making the source code available.
A business has no right to take GPL software (representing, I remind you, a significant investment of someone's time) and break the license. They should do what everyone else has to do in business: invest themselves in their own products.
Ceci n'est pas une signature
Thats why Win2k/WinXp/etc like signed drivers. Being signed means they've been throught MS's tests... MS realized they were getting reamed for alot of lockups that weren't their fault.
So whatever linux is doing wrong, its still doing better then MS.
Religion is a gateway psychosis. -- Dave Foley
Thing is....
The binary drivers also aren't platform-independent. I'd imagine the 8180 driver only works on 32-bit x86. Now, for the majority of people, this isn't a problem, but what happens when you buy an Athlon64 notebook and want to run a 64-bit kernel, and the driver won't work....stuck in 32-bit land until Realtek graces you with a driver.
I'm in a similar situation, which is why I bring this up. I own a notebook with a broadcom wireless chip. Dell uses these in their notebooks. For PC users, they use the NDIS wrapper and use the windows driver. It has limited functionality, but it does work. I own an iBook, so the windows driver won't work at all for me. Cisco/Linksys use this chip in their wr54g router/ap, which uses arm, I think? They've relesed the source to the AP....everything *except* the source to the driver for the broadcom chip. Broadcom seems steadfast in its refusal to release the specs on the card, so until someone manages to reverse engineer it or something, there won't be any real free driver for it, and certainly not one for non-pc platforms. So much for running Linux or BSD on my iBook.
Well, that's the theory. Unfortunately, despite their best intentions, many drivers get it wrong. They either "forget" to put a certain number of APIs into their glue code, and call those directly from the binary part. Or, all functions are covered, but they access structures directly. Or any other kind of SNAFU. Smacks more of lack of testing or proper development procedures than lack of foresight.
NVidia gets it right (even to the point that their driver works flawlessly with 2.6 kernels. But not with SuSE's X servers, but I'm more inclined to blame SuSE for that...).
VMware gets it mostly right (no problems with any 2.4 kernel, but you need a third-party patch for 2.6 kernels).
Realtek (and, unfortunately many others...) get it wrong, and don't seem to work on anything more recent than 2.4.18.
Say no to software patents.
"but dammit, now I have to find precompiled binaries for the exact version and build of the kernel I'm now running."
Why? Whenever I upgrade my kernel, the nvidia installer compiles one for my kernel.. No need to search for precompiled binaries.
Your gripe doesn't show that the kernel interface sucks, but that binary drivers suck. The kernel API is left somewhat changeable on purpose, because there are major advantages to it and because the disadvantages of it accrue solely on binary-only drivers, which are in Linus' words 'unsupported' and not to be encouraged anyway.
=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Friends don't let friends enable ecmascript.
The Minitar AP is hardly the first AP for such an issue to surface. My Linksys WRT54G wireless router is also Linux based, which has been great as it has given birth to some interesting firmware and OS variations.
The concern for drivers isn't as big as you would think. Why spend AU$60 or 70 bucks on a realtek wireless card when for AU$80 (in our recent Melbourne Wireless bulk buy) you can have a complete, standalone, managed network device. Around our community wireless group, these devices are very popular for their possibility of expanding their functionality to include routing and fault tolerence technologies at a fraction of the cost of a commercial solution which we neither want or can afford. This is also helpful as we can implement peer-to-peer IBSS mode which is better suited for point to point links. Additionally, it allows us to build a wireless node for $80 an interface (excluding antenna and cabling) simply by pkugging in an extra device into a switch or hub.
I believe the common issue with releasing wireless drivers for open sourced OS's is that the cards can be reprogrammed to use wireless channels which may violate their telecommunications (eg, austel, FCC) certification by operating in frequency ranges of which they are not permitted.
I think that due to the cost of APs. vs using a PC as an AP these days, especially in running costs, that the protection of infrastructure-mode AP capabilities is really pointless anyway.
Since these linux drivers are responsible for so much revenue to these big companies, they would much rather gobble you up for a couple dozen million (chump change really), than deal with the publicity of a lawsuit.
Of course you need to have a backup plan incase they don't bite. You need to protect your "IP" so you issue press releases like you were the AP, telling anyone and everyone that you are suing these evil corporations, and you have expensive lawyers. Sell your stock like mad, when dumb people buy your story..
If they ask "what IP do you have?" Loudly shout "errr, umm, Look at that monkey over there!", and make sure that by the time they turn back around, your expensive lawyer is there with lawsuit in hand..
I don't need an MBA or a Law Degree, everything I need to know i learned from Slashdot and the litigious bastards.
What are we going to do tonight Brain?
By that logic, an OS without memory protection or preemptive multitasking is not to be blamed for lock ups - applications are.
Maybe device drivers a bit different because some operations can cause a hardware malfunction that will bring down the machine no matter what the OS does. But I bet most crashes are due to more trivial reasons - a driver corrupting kernel memory, waiting forever for a failed operation, taking 100% of CPU time an so on.
There is no excuse why device drivers can not have their own protected memory space, swap to virtual memory, only be able to access mapped memory and I/O ports they are supposed to use, communicate with the kernel through regular system calls and receive queued interrupts by reading from sockets. There is no reason device drivers can not be implemented in Java.
Have real-time concerns or chicken-and-egg problems (disk drivers will have a hard time using virtual memory)? Fine, implement that driver - or just the portion that needs to be real time - in kernel. Just don't tell me my Palm USB driver needs to corrupt kernel memory and crash the system.
Reading that page again, it says that it's got 8mb of RAM rather than ROM. 1mb ROM doesn't sound like enough to do anything cool
Should be enough to tftp something cool from elsewhere on your network.
There is no sanctuary. There is no sanctuary. SHUT UP! There is no shut up. There is no shut up.
What we need is a new law that makes it illegal for hardware manufacturers to keep driver details secret. If you want to sell me a fancy wireless adaptor, graphics card, sound card or whatever, fine; but you have to give me all the information I need to write a driver for anything that I might want to interface to it.
It used to be so, back in the days when a printer came with a big thick manual explaining how to do various textual and graphical effects, even pulse timings and voltages for the interface. And everyone thought that information was part of the operating instructions. Sometime between then and now, it went sour; probably we didn't notice, but documentation went from hacker-friendly, to (non-hacker)-friendly, to non-(hacker-friendly). Nowadays, it seems printer manuals just say "plug in the USB cable and install the Windows software" -- and manufacturers are treating the important stuff like how to fire the second "red" nozzle down as though it were some sort of nuclear secret.
Well, it isn't. If you buy a piece of hardware you have every right to make use of that hardware, and if the manufacturer will not tell you how to do so then they are obstructing your enjoyment of your own property. At the very least, the owner of a particular device should -- by sole virtue of ownership -- be automatically privy to any "secret" it may contain; ideally, such information would be in the public domain by law.
And sod the whingeing about "competitors having access to your 'proprietary information'". Your competitors already pay people to reverse-engineer your products, and you will get access to their "proprietary information".
Je fume. Tu fumes. Nous fûmes!
Wrong.
There's really nothing more to add.