Who invented the embedded Linux based wireless router?
In December, 1998, Greg Retkowski
published the Arlan Wireless Howto
. The wireless router we started building in March of that year, and later documented so extensively, is now considered by CISCO's lawyers to be prior art to the Linux based wireless access point, in the court case Optimum Path vs Cisco/Belkin/SMC/Netgear
I was deposed in August, 2010 to talk about it.
Optimum Path is now suing basically everybody making an embedded Linux based wireless router for infringing on patent #7035281
, filed September 13, 2000. This patent covers many features of the WRT-54G series (first shipped in Dec, 2002), and related products, from multiple other manufacturers, features that were built into the Linux mainline code, long before the patent was filed. Optimum Path now also holds a second patent
- filed in 2005 - granted in July 2010
- which covers not only the ground covered by the first patent but includes content filtering (!?). I'm told this latter patent is not currently the subject of litigation, but it bothers me as much as the first - we were doing content filtering in Linux in 1999, also... Everybody was doing it.
In looking back on the heady years of 1998-2002, I'm now nearly certain that back in July of 1998, we actually created the first recognizable "embedded Linux wireless router". PLEASE: Note the word choice, there - embedded, Linux, wireless, router. Eliminate any of those words and you end up with a different product, from a different person.
Our first wireless router ran code from the Linux Router project, had 16MB of ram, a pair of wired networking cards, a wireless card, a 486SLC processor, and booted from a floppy. Later iterations booted from a hard disk or flash. While getting all that to work was hard
, all the heavy lifting had been done for us:
Linux did routing almost from its inception. The firewalling code and the ip masquerading code were in version 2.0, maybe earlier than that. The first "Linux wireless routers" came from the authors of the wavelan and arlan drivers. The first "embedded Linux router" came from the Linux Router Project
- and the truly heavy lifting came from the math guys that came up with the signal processing software/hardware that ran on a small board that could send and receive the data signals over the air, reliably.
But... as best as I can tell, from looking back on the emails, mailing list postings, and archive.org, the first "embedded Linux Wireless Router" came from the minds of Greg Retkowski
, and Everett Basham
Our wireless howto
, my wireless diary
, and the June 2003 retrospective I wrote about the project
are now part of the court case.
I'm bemused. My diary - and blog - and our internal emails
over that period - jokes, misspellings, foul language, personal conflicts and all - are now in the public record
!!?? Over a patent suit?
It's weirdly pretty cool, though, that someone would think what we'd built 12 years ago, was still important and interesting, here in 2010. It's upsetting to see Anthony Spearman and Anthony Tompkins attempt to patent so much work that was created by others. Did they ever try to build what they described? Make it work?
We'd started our wireless router project back in March of 1998 , and only got around to documenting it after
it worked. We'd built the thing out of spare parts, to solve a specific need, and we never once thought about patenting the idea. Not once! We did
spend a lot of time trying to figure out commercial applications for wireless, as you'll see from some of those emails.
In 1998, we didn't solve all the problems that patent #7035281 covers, but we did build a working device, then, that was very close to what was described in it. Later versions of our stuff - for example switching to 802.11b, and Linux 2.2, which had bandwidth shaping built in, came even closer - but we never got around to publishing anything about those versions. Others got even closer...
CISCO's lawyers have a stack of paper a foot+ high - that hopefully covers the features that were missing from our published efforts in 1998 and 1999. So many other people were working out the problems everywhere else in Linux! We had day jobs!
After giving my deposition, I've thought deeply about what happened in wireless and Linux from 1998 forward, and done a bit of independent research. I figure, maybe, by publishing what I know so far, more of the history and prior art behind the "embedding Linux in a wireless router" idea will come to light, and head off the second patent at the pass.
Or maybe it won't. I don't honestly know what constitutes an original, patentable idea in my field! I'm patently aware of where all my ideas came from, and I'm certainly ignorant (though learning fast!) of the legal processes involved both in filing and contesting a patent.
The initial legal processes and paperwork for contesting patent #7035281 are nearly complete. In February, the case goes before a judge to decide whether to continue, and a jury trial, if needed, is planned for the spring.
My mental question remains. Did Greg, Everett and I really invent
the embedded Linux based wireless router?
All we did, basically, was take code that already existed, compile a new driver, install a board, make a few cables, and prove such a box could stay running in a world where people trusted IOS. We're just the first people that bothered to plug in a wireless card into a junked PC, boot Linux off of a floppy, run wirelessly 13.1 miles and then publish
how to make it work, in plain english, a howto a more general public, and even a patent lawyer, could understand.
Amusingly enough, our little howto hung off the far end of that wireless connection for years
, dissipating electrons in the airwaves, for every one of the tens of thousands of hits we ultimately got. Everybody ate from our dogfood, in other words.
I've helped do way cooler stuff than this in my life, but I don't think anything I've ever done occurred at such an inflection point, almost a singularity, of the history of networking. In 1998, only a rare few had a wireless connection to the Net. Today - 2010 - wireless is everywhere. Wires are passe'. How did that happen? What will happen in the NEXT 12 years?
The intersection between the legal system and the coding process is fascinating - what was obvious then? What was not? Does something have to be turned from code into English before it's prior art? It's been difficult to figure that stuff out. 1998 was the last year of the prehistory of the modern Internet. Archive.org was barely archiving at the time, USENET was dying, email was overwhelmed by spam, Netscape had just released Mozilla, and many of the modern services of the Internet, such as Google, were just getting off the ground. Trying to figure out who did what, when, ate a lot of my time last month.
So I ask - Who followed our recipe to build and deploy one? Who made it do more stuff? Who went their own way? Who made the jump to 802.11b before we did? Is there anybody out there that remembers what happened inside the 802.11 and 802.11b standardization processes? Who built businesses on wireless Linux? Who, at linksys, ultimately, decided to adopt the broadcom MIPS chip - how did their WRT54G come to be? When did that chip first boot Linux? Who at Broadcom got that to work? What OSes drove the other wireless routers that came out at the same time? Were Arm or PPC chips ever a contender? When did DHCP get radius support? What drove - who funded? - the people behind Busybox, dnsmasq, ipchains/iptables, - the core features that are in every Linux based wireless router today?
"With enough eyeballs, all bugs are shallow" - ESR
Labels: embedded, linux, wireless
Is marriage a survival trait in the North?
I am thinking that marriage is a survival trait. If nothing else, back before the days of central heating (which really wasn't so long ago in America and Europe), having another body next to you at night kept you warm! (this also explains a predilection for large families)
Single people freeze to death more often than couples.
I've been sleeping under 3 sets of blankets, which I left in disarray last night so lots of heat escaped.
This morning I woke up and put on a hat, two extra layers of shirt, long pants and two pairs of socks - and if I could type with gloves on, I would. And it's only 60F in the house this morning. I'd be completely non-functional below 50F, I'm sure.
The heat is out, the fireplace is faux (is there a law against real fireplaces in Colorado?), and I'm still freezing... I've been eating at least 50% more calories than usual, not exercising, and have actually dropped a half pound in weight. The 35 degrees difference between here and Nicaragua seems to make a real difference in my personal heat engine....
Labels: colorado, nicaragua
Re-establishing a presence on the web
My online life in Nicaragua was limited by many factors, notably the 5 times daily power flickers and the twice weekly 6+ hour long outages, huge DNS latencies, and a 128Kbit connection... and ultimately, the lack of having any internet within 6km of my house. I got out of the habit of relying on any machine but the ones in my household, adopting things that worked well offline - git for my source code control system for example, org-mode for my own personal database of writing, rsyncing via streamripper hours and hours of internet radio, using podcasts for my news, and ipv6 to allow me to actually be a useful node in the web (I ran my personal email and netnews servers that way)
I personally find the relentless "centralisation of everything web related on a cluster in the USA" trendline worrying. Everything important seems to exist today in the cloud, where I think (and still think) that a great deal of useful services belong on the edge of the local home or business (email/jabber/sip servers as three examples, local filesharing as another - it blows my mind when someone hands me a usb stick with the file I need on it - and really bugs me that I can't drag and drop files, wirelessly to my Android - at present, anyway)
Left to publish I have several long-delayed blog posts and a speech I gave in Australia on the centralization problem. I just found a printout of the speech I gave then - and can't find the file now - I felt the speech was a disaster, but looking at the next now... it's not bad, actually.
One of the most compelling talks about lowering our overall dependency on the web was Jesse Vincent's talk, 2 years ago, about the "sd" based bug tracker
, which attempts to do for bug tracking what git did for source code development. It is accessible to just about everybody that has problems doing their job when disconnected from the web for longer than a few minutes.
ALL that said, the power of the web for collaborative efforts, when it is possible to be online nearly all the time, IS compelling, and now that I'm back in the States (in a place that has had ONE power outage in 5 years) I guess it would be best to stop swimming upstream and go for something more normal people can use and edit.
(3G is seemingly everywhere - which increases the number of places where I can get online well beyond the mere coffee shops and corporate offices it was when I left America. )
I have a great deal of ipv6 related information that I wish to publish.
Most of the online references regarding ipv6 are from another era, structured as single-author howtos, often out of date or inaccurate, and focus only on the most modest scenarios of usage, like "how to get a home router" working. Data and instructions appropriate for "how to get a small business with multiple locations up on ipv6" or "how to build an ipv6 enabled ISP", doesn't exist.
I was up to something far more complex and hard to describe - a purely ipv6 enabled wireless isp - I called it wisp6 - and it's looking like getting the pleasures and pitfalls of that effort out to the rest of the world would be a boon for all.Ipv6 is an increasingly hot topic
is making great strides towards a deployment in the near future, with experiments running on all the major modes of ipv6 deployment - 6RD, AFTR, and 6to4 tunneling. I've seen an explosion of ipv6 addresses in universities in South America, and China seems to be making progress too...
Something more dynamic, and multi-user, such as a wiki, would be more likely to stay up to date and grow beyond my personal boundaries of knowledge. I'd also like to have some blogging software that better matched my personal writing habits. Blogger bugs me.
Ideally I'd like to find some content management system that would be easy to manage on my Linux laptop - and run on my edge hardware - and be mirrored on the web - that I could do bi-directional syncing to when on and offline. I'd settle for a one-way system - hosted on the web, mirrorable on my laptop.
So, anyway, I'm fiddling with mediawiki (which is what wikipedia uses) and liking the features and default look and stuff like that, but not much caring for the resource requirements. I don't understand why a "live" connection to a sql database is needed, for example, when you should be able to just "publish" the entire thing directly from the source code repository.Ikiwiki
seems to have potential, and I'm fiddling with that, too. I REALLY want something that I can export cleanly from org-mode, but don't think worg in its current state is suitable.
It may be futile to continue swimming upstream on these fronts, and I might just bite the bullet and adopt mediawiki + drupal, rather than explore more options than these.
Labels: blogs, ipv6, org mode, wikis