Linksys Releases GPLed Code for WRT54G
petree writes "I stumbled across this on the Linksys website. Linksys has apparently caved to community pressure and released the GPLed source for linux running on their WRT54G. Cool Beans!"
← Back to Stories (view on slashdot.org)
It's nice that you can see the GPL bits running on their box (Hey running a 2.4.5 kernel) - but it doesn't give you drivers, or scripts, etc. :(
No I don't think they need to provide the other bits, but it sure would be nice to get some 802.11 drivers, etc.
--
+1 Karma bonus due to GPL Love & Low User ID.
Can the OSS community now modify the firmware and make custom things for it?
Cats: All your base are belong to us.
Captain: Take off every sig !!
Now that all of this has been released, I wonder if we will be seeing alternative firmwares with support for new features (detailed external logging, radius server, wireless VLANs like the cisco APs, traffic shaping, oh, and MeshAP could be cool too.) A friend of mine already bought his WRT54G and likes it, but after I found this out (and submitted the story to slashdot) I ordered mine from Amazon($130 with free shipping) along with the NetGear WAG511($85 - 802.11a, 802.11g, 802.11b) as recommended by a Toms Hardware review. I'm so excited that I am going to have a dope 54mbps wireless network in my dorm room for only $215. A little excessive, maybe, but hey I will probably keep this for another 5+ yrs. Especially the 802.11a 802.11g cardbus card. Oh hey, if you are shopping, check out the SeattleWireless Hardware Comparison. They have all sorts of info there and it made it easier to decide what to buy.
Isnt the BEFW11S4 in the same boat as the WRT54G? Isnt it based on linux as well?
They're too lazy to code proper, secure solutions for their products, so they send it to the OSS community to do.
Hopefully this means that they'll release drivers for their 54-mbit cards already, then.
From what I read, they use the same Broadcom chipset as the access points, which means Linux drivers do exist, in spite of their not being released to anyone.
I was vary suprised that there wasn't a huge uproar when this was coverd on /. earlier.
If they had not released the source would buy their products again, to be honest I certainly would because they are the cheapest.
If you would not, does their decision to release the source change your mind?
There is no god
Are you going to go build your own router?
Are you going to comb through the code only to find that it's not that much different from the other code you never look at?
Face it, if it some source is vital to your company staying competitive, it isn't going to be GPL'd.
I have been pwned because my
I'm so excited that I am going to have a dope 54mbps wireless network in my dorm room for only $215. No offense, but I think your money is better spent elsewhere :)
How big can your dorm room possibly be to the point where 54mbs wireless would be necessary?
It's really great to see a company that saw it had made a mistake, corrected it and moved on. My only wish is that more companies would take that attitude.
What is this, 1988?
Is it also "rad" that the code was released?
My apologies, I'm on a tear today. Hella has to go the way of "cool beans", but it looks like these things never die. *sighs*
Linksys only released the GPL pieces of what's running on that router. The way it looks, they haven't really put out anything that would help much to create a customized ROM for that device (web frontend specs, scripts, etc.). This isn't that much of a move for them, as it appears they've only released info of what they used, as well as a centralized location for exactly what GPL software is on their router.
"You tried your best and failed miserably. The lesson is...never try. Heh!" -Homer
I bet you like playing raquetball in the closet, too, don'tcha?
Maybe he's decided to take a different course of action in the killing of superfluous sperm.
Excessive perhaps, for just the room, but if their dorm is anything like mine was with a den down the hall or a study room in the basement or grassy areas out in front, a wireless connection like this would be pretty sweet.
Happiness is like peeing yourself. Everybody can see it but only you can feel its warmth.
What about the duct tape to hold it to the walls? Did you think about that when you came up with that outrageous $5.00 figure??
With drivers for the 802.11g adapter, more people would look at providing alternative firmwares. I've recently started working on such a project for the Dell TrueMobile 1184 because Dell actually provided source code when asked, and all the hardware support is there with open source drivers.
Well first off, with WEP on, in real world conditions, you are only going to have a total of 20-25mbits or so of real bandwidth available. Don't forget, that's shared amongst all wireless users. So if I want to send a file to another wireless user (like my friend standing next to me with his powerbook) I only will get like 10mbits or so of throughput. 1.3 to 1.6MB/sec. All of a sudden it doesn't seem like that much bandwidth to me.
Dear Link$y$:
I am aghast and appalled at your continuing flagrant violation of the GNU Public License. Your paws are dirty with the hard work of many hundreds of thousands of kernel developers who you ripped off by $elling the kernel code back to them without supplying the full source code for your product. Through this illegal action you have raised my and The Community's ire and we will stand and fight until you fully comply with the GPL. All your source MUST be turned over to The Community at once.
Please be aware that I am not alone in this battle. I am dogged and relentless and using the power of the Internet I will bring you into compliance with the GPL.
Don't fuck with us, Link$y$.
Sincerely,
Anonymous Coward
The original post from:
http://lkml.org/archive/2003/6/7/164/index. html
is not up right now so here is the text.
Andrew Miklas
linux.kernel
Jun 7 2003
Hi,
Sorry for the very lengthly posting, but I want to be as precise as possible in describing this problem.
Awhile ago, I mentioned that the Linksys WRT54G wireless access point used several GPL projects in its firmware, but did not seem to have any of the source available, or acknowledge the use of the GPLed software. Four weeks ago, I spoke with an employee at Linksys who confirmed that the system did use Linux, and also mentioned that he would work with his management to ensure that the source was released. Unfortunately, my e-mails to this individual over the past three weeks have gone unanswered. Of course, I also tried contacting Linksys through their common public e-mail accounts (pr@linksys.com, mailroom@linksys.com) to no avail.
However, it is hard for me to know if my contact in the company has just gone on a three week vacation (and not set an auto-responder), or has been asked to not answer anymore mail on this subject. Also, I should note that I don't own this product, so I can't determine if the source is shipped with it. However, I have gone through all the available information on the Linksys website, and can find no reference to the GPL, Linux (as it relates to this product), or the firmware source code. Also, the firmware binary (see below) is freely available from their website. There is no link from the download page to the source, or any mention of Linux or the GPL. Finally, it would be strange if the source was included in the physical package, as my contact at Linksys was initially unaware Linux was used in this product.
The following steps can be used to determine the exact nature of the possible GPL violation.
1. Go to the following URL:
http://www.linksys.com/download/firmware.asp?fwid= 178
2. Download the "firmware upgrade files":
ftp://ftp.linksys.com/pub/network/WRT54G_ 1.02.1_US _code.bin
(MD5SUM: b54475a81bc18462d3754f96c9c7cc0f)
3. While it is downloading, confirm that there is nothing on the webpage to indicate that this binary contains GPLed software.
4. Once the download is complete, copy the ontents of the file from offset 0xC0020 onward into a new file.
dd if=WRT54G_1.02.1_US_code.bin of=test.dump skip=24577c bs=32c
5. Notice that this file is an image of a CramFS filesystem. Mount it.
6. Explore the filesystem. You will notice that the system appears to be based on Linux 2.4.5.
Incidentally, there is at least one other GPLed project in the firmware:
the BusyBox userland component: (http://www.busybox.net/)
7. The Linux kernel (I think) is mixed up with a bunch of other stuff in: bin/boot.bin
You might want to know why I am interested in getting the code for the kernel used in this device.
There's been some discussion here about Linux's lack of wireless support for a few of the newer 802.11b and (nearly?) all 802.11g chips. Incidentally, Linux has excellent support for at least one manufacturer's wireless family. The following Broadcom chips all appear to be supported under Linux -- if you happen to be running Linux on a MIPS processor in a Linksys router:
Broadcom BCM4301 Wireless 802.11b Controller
Broadcom BCM4307 Wireless 802.11b Controller
Broadcom BCM4309 Wireless 802.11a Controller
Broadcom BCM4309 Wireless 802.11b Controller
Broadcom BCM4309 Wireless 802.11 Multiband Controller
Broadcom BCM4310 Wireless 802.11b Controller
Broadcom BCM4306 Wireless 802.11b/g Controller
Broadcom BCM4306 Wireless 802.11a Controller
Broadcom BCM4306 Wireless 802.11 Multiband Controller
This list was produced by running strings on:
lib/modules/2.4.5/kernel/drivers/net/wl/wl.o
I am trying to determine exactly how tightly coupled these drivers are to t
Whenever the offence inspires less horror than the punishment, the rigour of penal law is obliged to give way...
... it's not just for him, it's so his neighbors can connect to his network too. Whether he knows this or not, I don't know.
If you use there products, shoot them a quick email to say 'thanks'.
It really is the polite thing to do. Plus it always feels good to be appreciated, and that goes for people who run big companies.
The Kruger Dunning explains most post on
You really shouldn't condem the age of 'cool beans' and still use the word 'Hella'.
really, I've been hating the term hella since the late 80's.
Now if you'll excuse me, I have some rad code to write that is really too hip to be square, dude.
The Kruger Dunning explains most post on
Slashdot... where the GNU Public License became a verb ;)
Comment removed based on user account deletion
BSD: free as in 'Look someone else did our work for us, and we don't have to give anything back'
GPL: free as in 'we can use it but we have to share.'
"...NetBSD is the most supperior embeded Open Source OS on Earth which runs on over 35 architectures."
what does the number of architectures have to do with whether or not its good?
Impressive, but one doesn't mean the other.
I like BSD, but statements lke that are just irritating.
Now if you'll excuse be, I have a bike shed to paint.
The Kruger Dunning explains most post on
Vixie cron isn't a pure gpl license as you can read from their own source in the README file:
#/* Copyright 1988,1990,1993 by Paul Vixie
# * All rights reserved
# *
# * Distribute freely, except: don't remove my name from the source or
# * documentation (don't take credit for my work), mark your changes (don't
# * get me blamed for your possible bugs), don't alter or remove this
# * notice. May be sold if buildable source is provided to buyer. No
# * warrantee of any kind, express or implied, is included with this
# * software; use at your own risk, responsibility for damages (if any) to
# * anyone resulting from the use of this software rests entirely with the
# * user.
# *
# * Send bug reports, bug fixes, enhancements, requests, flames, etc., and
# * I'll try to keep a version up to date. I can be reached as follows:
# * Paul Vixie uunet!decwrl!vixie!paul
# */
And so it looks like until linksys gives credit properly in the documentation to Paul Vixie they are still in violation of licensing agreements.
(He's better known for BIND, MAPS, PAIX, MFNX, etc.)
--
There is no hatred more pure and true than that expressed by children.
Good first step, but that's far from the only Linksys device running Linux. Where are the sources for the other devices?
:-)
Of course you're correct about that. But what's wrong with being nice to them just now. Let's watch them be shocked when sales of the unit tick upward, then let's ask for more, ok?
Of course, the above depends on being able to reflash the thing successfully, and as far as I can see, that's going to be a whole lot easier than the XBox was, plus more useful, including being useful to Linksys. Unlike Microsoft, they make money every time they sell one.
Have you got your LWN subscription yet?
I have this actual piece of equipment, the WRT54G. Now that I've got this code, what do I do now? I am still unable (as far as i know) to edit this code, and safely reflash my router so i can run snmp off of it, or run snort/acid/etc.
Great, GPL the code. But now make it useful for me.
Perhaps he has a laptop. Wireless and laptops are good, mutually supportive technologies.
I'm posting this from my laptop, which is only 20 feet from my AP, firewall, and DSL modem, but it's still nice not to have to run a cable across the room for someone to trip over...
If it contains OSS, it _must_ have been taken from SCO.... ;-) for the humor impaired
Anybody can work under ideal circumstances. -- Jeff K. (January 4, 2001)
--my other user id's Karma is capped
On a different topic, even if Linksys hasn't provided the 'correct' source code, as suggested by some, their acknowledgement of the GPL should at least mean open slather on reverse engineering any binary which has a hint of GPL to it.
Dude, license your code however you want to and let others do the same. That is freedom, not the preachy stuff you just wrote.
Not very hard, is it?
Freedom Is Universal
Linux-Universe
This type of license strong-arming is the reason embeded market should choose BSD.
Sure, Linksys would have used BSD if BSD worked as well for them as Linux does. But Linux is better, supports more hardware, and supplies more of the features they need. That's because more programmers work on Linux, and that in turn is because of the licence - we know that our contributions to the public are going to *stay* public.
And by the way, I like BSD. I think there's some stuff in BSD that's better than Linux. I'm no fanatic, I'm just explaining the phenomenon.
Anyway, what's the big deal for Linksys if they accidently ended up letting everybody reprogram their hardware? It just means they sell more of it and make more money. That's gotta hurt, huh?
Have you got your LWN subscription yet?
Keeping IP in binary modules is fairly straght formward way to partition IP in kernel space and is fairly common in the embedded industry.
Now I know RMS and others frown on this, but it is not illegal.
Engineering is the art of compromise.
Paul Vixie's license perhaps?
I don't think so:
- Safe on this account -- you are reading the license itself, as redistributed
- Source appears to be unmodified -- all diffs that I can see are known patches.
- There it is, no problem
- Again, here's the source, compliant again.
The license as stated applies to Vixie Cron, not necessarily to the aggregation of parts that is the entire product. IANAL so interpret this with council if it matters to you.Having followed this since the original post to the LKML, I have a slightly different viewpoint.
Linksys got caught with their hands in the cookie jar. They probably didn't think twice about using embedded Linux; in fact, they may not have even made the decision themselves.
When the problem was pointed out to them, they gave several weeks of no conclusive answers, and now they've put up a simple web page with some source tarballs, all or none of which may be what's actually running on the APs. You can't even FIND the page using their support search engine (a search on GPL shows no hits), and they're certainly not announcing it anywhere I've seen.
It's the least they could do. Approximately.
What I want, and what I know many other people want, is an 802.11g driver.
Many makers of 802.11g cards cannot lawfully provide such a driver under various radio frequency emission regulations. Because it's more expensive to build interlocks that prevent over-powered transmissions in hardware than in software, many cards implement the interlocks only in the driver. This makes it a bit harder to justify getting FCC approval for a driver for each platform.
Linksys has one. They choose not to release it?
Is it Linksys's choice, or is the Federal Communications Commission's choice to delay approval?
Will I retire or break 10K?
I know that many more networking equipment manufacturers use GPL'd code in their products. Buffalo's wireless broadband routers use almost the same code as the WRT54G, and earlier Linksys routers used Linux as well.
Wireless RouTer operating at 54mbps using the 802.11g protocol
BSD: free as in 'Look someone else did our work for us, and we don't have to give anything back'
Umm. Look, this is EXACTLY what BSD developers expect. This why it's released BSD. Shall I break out the dictionary definition of free? I'll give you a hint, it means having no restrictions. The GPL is very much a restriction. It is a very different philosophy than BSD and public domain code. It is in no way free as in the definition of the word.
Rather, it caters to a specific ideology, namely that of the FSF. Granted, you may consider GPL to be free, and it is certainly freer than proprietary software, but it is not quite as free as BSD and public domain.
You can be selfish and require people to share with you if you like. But, statements like yours are really irritating to those of us who want to give our code away for free.
The guys comment was very informative given the news story. Linksys doesn't want to 'share' with you. They shouldn't have used GPL code then, but rather BSD code. Right?
And please don't go on about how they *should* share. They are under no obligation to do so, if they did the country they operate from would certainly not be considered a free country anymore.
Now SCO can sue Linksys too!
There's beta drivers from Atheros that supports 802.11g. Check it out. http://sourceforge.net/projects/madwifi/
The code to whatever custom build of GCC was used to compile the things in the first place...
Harvards wireless network usage notes includes the following:
All devices associated with a wireless access point are in contention for part of the 11 Mbps (802.11b IETF Standard) shared bandwidth. It is for this reason that certain bandwidth intensive applications may be more appropriate for the wired network.
It's good advice. I run mixed wireless / wireful in my house for this reason.
YLFI
One god, one market, one truth, one consumer.
Why should there be any relationship between the size of his dormroom and the throughput of his wireless net?
I often use my wireless connection sitting just a few yards from my access point. Sure beats dealing with a cable.
I don't know if I'd consider that too selfish. Sometimes, code takes a lot of effort to design, write, test etc. And I think some return on that investment is not an unreasonable desire. Is it selfish to go to your employer at the end of the day and ask for a paycheck? A share of the value that both of you have produced together?
Some software I release under the BSD license. I do this when I don't ever want to hear from that particular piece of software again. Some software is released under the GPL. Still other stuff goes out as Public Domain. But please don't tell me I'm selfish because I sometimes want the user community to share back with me what I've shared with them in the first place.
I don't understand how people get into mildly flamey discussions like this. Nobody asked or forced Linksys to use Linux and other GPL'd software as the basis of their AP. They chose to do it, nodoubt for reasons of their own, and initially at least, decided not to stick to the letter with the terms of the license. They could have chosen BSD. They didn't. I'm sure they were aware of the licensing differences at the time.
Now, hypothetically, do you think if they'd used BSD, they would have been good little angels, dilligently having their binaries displaying your copyright notice as clause two mandates? I honestly don't think so. I think they would have just appropriated the source as 'freeware', which it certainly isn't, and then we might have had the same scenes we're seeing here, but a little more low key.
YLFI
P.S.: I like *BSD. I like the license too. But I feel that the attitude behind the license is largely influenced by its tumultuous history intertwined with AT&T up until 1988. I think the fact that the BSD folks got to bootstrap their way up from earlier Unix sources ( and the misappropriation by AT&T of same BSD sources ) has led to a somewhat fuzzier perception of where their work ends and the work of others begins, and a less territorial mentality than the second wave GPL developers.
These are just some thoughts. I apologise for any factual innacuracies in the above... I believe I was still playing cricket in the backyard and jumping off wharves when all this was going on.
One god, one market, one truth, one consumer.
IMHO, Linksys just honors the license of the software they used. Maybe they just strayed a bit, but it's not like they are actively trying to violate it. Why don't we put a better positive word to the situation? It will make the "community" sound like a more pleasant entity to interact with when we don't go pressuring people for what we want.
--- (The signature is intentionally left blank)
Broadcom distributes/sells the GPL'd code including a modified GCC compiler ("GCC: (GNU) 3.0 20010422 (prerelease) with bcm4710a0 modifications."), allowing the OEMs to modify the sources and recompile. They didn't release the sources of the GCC compiler, which is required IMHO. The code released by LinkSys cannot be modified without this compiler because the Broadcom CPU has extra instructions in addition to the MIPS3000 instruction set.
Using GPL'd software to make a profit and not releasing (available) drivers to support their hardware on the same GPL'd software does also not feel right to me. At least morally.
Can the OSS community now modify the firmware and make custom things for it?
Perhaps we can find a security crack and get Linux to run on it.
Uh... cancel that.
A physicist is an atom's way of thinking about atoms
This is how you can get away with releasing only the ORIGINAL code, and not the Linksys mods.
Quote:
The "Program", below, refers to any such program or work, and a "work based on the Program" means either the Program or any derivative work under copyright law: that is to say, a work containing the Program or a portion of it, either verbatim or with modifications and/or translated into another language.
Think about it. They distributed the source for the "Program" as outlined above. "A work based on the Program" can refer to either the Program (the original) or the "work based on the program" - that is, the derivative. So, if you take it to always mean "The Program" or the ORIGINAL program - then you only must distribute the ORIGINAL PROGRAM and not the mods! Perfectly within the GPL.
I'll get modded down on this, but HONESTLY the GPL says this. It does not say that "The Program" means BOTH, but EITHER.
The GPL doesn't say you have to release your mods, but only a list of the changes and what dates. Have you actually read the GPL?
The other problem with the GPL is that there is conjecture and opinion throughout, not fact, as there must be in an Agreement. IANAL but I worked in the world of Contracting (as in Construction) and you must specify everything, not give opinion.
"If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms."
This is an OPINION that "the best way to achieve this." Sometimes making it of the greatest possible use to the public is to never use it. For instance, the software that drives nuclear missles. This is a deterrent. The best way to use this technology MIGHT be not to use it, not make it software which everyone can redistribute.
The first time the GPL gets tried in court it will get thrown out because it's full of opinion, and holes like I just pointed out. And remember, I'm FOR Open Source. I just think that Richard Stallman tried to force his opinions on everyone else's work. "Free" my butt. (And I know the difference between free as in beer, etc.) Here's a quote from the FSF website:
"The $5000 Deluxe Distribution includes all GNU software compiled for your choice of computing platform (micro-chip and operating system). Please contact the FSF Office if you are interested."
"Free" my butt. $5000 US is a LOT of money for a program, period, ESPECIALLY for one user.
Go Linksys. MAKE money. PROVIDE a valuable service!
Glad to see the GPL is now being honoured, although this issue would have made an interesting test case.
I'm a shade confused though, I can't see any good reason why Linksys rebranded from ez-ipupdate to ipupdate.
Anyway, as far as ez-ipupdate itself goes, the version in the firmware appears to be the same as source that has been released although it is nowhere near the latest version. It doesn't appear LinkSys have made any changes.
Tim Brown
Apparently he hasn't discovered beer yet.
So, this other guy comes along and says, "I'm not afraid of you! I'm e to the x."
"Well that's just too bad, I'm d/dy!"
Escher was the first MC and Giger invented the HR department.
Great news that they released GPL'd source for the wireless router, but now what about the real need, code/drivers for their wireless cards like the WPC54G? I searched /. for info on it and found an old Ask Slashdot thread, but nothing has improved yet. I wnat drivers for the wireless card dang it!
-- DuckWing
with the Barricade I've got from SMC (it's got Linksys firmware).
The firmware .bin is an arj'ed file, but the only thing of interest in the unpacked file is this string:
Hey Moe, it dont woik. NYUK NYUK NYUK NYUK *bop* Owww!
In the WRT54G, one of the first strings is:
piggy
Hm
How small a thought it takes to fill a whole life