This is a short description of the GPL problems that I met with the US Robotics 9106 router, which is based upon a Broadcom 96345 chipset. Those problems will also occur for people owning the other routers cited in the general BroadCom96345 information page.
This router is a small embedded device integrating a 4-ports Ethernet switch, a 802.11g wireless access point, and a DSL modem (and doing routing and/or bridging between those interfaces). Its CPU is a Broadcom 6345, which runs the MIPS32 instruction set. It runs a modified version of the GNU/Linux kernel, and is loaded with a lot of free software (busybox, uclibc, zebra, just to name a few).
This platform being unsupported by the stock Linux kernel, the vendors had to patch the Linux kernel to bring device drivers (for the DSL modem, for the Wi-Fi interface, and also some generic stuff like the flash memory and the front leds). Miscellaneous vendors provide so-called "GPL sources", which are generally very crude tarballs holding many other smaller tarballs. Among those, we generally find a kernel tree, but which is very incomplete
, as explained in the BroadcomKernel
page. Namely, it lacks many important drivers, meaning that it's impossible to evolve the router firmware without losing DSL and wireless interfaces (duh).
After close examinations of other tarballs, it seems that all vendors use the same kernel source, which is a linux-mips 2.4.17 tree with some broadcom patches, and maybe sometimes some vendor-specific patches. All kernel trees have been mutilated so that the important drivers are no longer here. Can Broadcom and the vendors "escape" the obligations of the GPL by shipping those proprietary drivers as modules, or are they violating the GPL plain and simple by removing the related source code (and showing irrelevant code to show "proof of good will") ?
Broadcom has been contacted about this matter but hasn't answered so far, nor did US Robotics.
Some links :
this site, with some information about the router itself, and its firmware and kernel formats
Sourceforge project aiming at building new firmwares
If you have any idea of something we could do to make things evolve about those matters, feel free to add your suggestions here at http://skaya.enix.org/wiki/GplInfringement (or to mail them to me - jp at enix dot org).