Page 319 - Hacking Roomba
P. 319
300 Part III — More Complex Interfacing
Linksys WRT54G
If you read Slashdot.org regularly you probably recall some hubbub a few years ago about
Linksys and Linux. Linksys used Linux as the OS for their wireless routers but didn’t abide by
the GNU GPL license that covers Linux usage. Namely, any company using GPL software in a
product is required to provide the source code to that software and any changes they made to
it. The license allows proprietary drivers (like those for the Broadcom wireless chips) to remain
proprietary for trade-secret reasons, but anything that’s part of Linux needs to be released. By
having that clause in the license, Linux is always being improved. No doubt the Linksys or
Broadcom engineers found some bugs in Linux with respect to their CPU and fixed them. If
they release those bug fixes in the form of modified source code, others will benefit. The GPL
is about enabling the entire community of software developers to advance as quickly as possible.
Figure 14-1 shows a typical Linksys WRT54G. This little box contains an Ethernet port, a
4-port Ethernet switch, a Wi-Fi interface, and typically 4 MB of flash ROM and 16 MB of
RAM. It draws less than 500 mA during normal operation, putting it within the ballpark of
the other SBCs considered in this chapter.
FIGURE 14-1: Linksys WRT54G, the box that started it all