On Sun, May 27, 2012 at 3:37 PM, Tom Metro <[email protected]> wrote: > Bill Bogstad wrote: >>Federico Lucifredi wrote: >>>Tom Metro wrote: >>>> (This is one of the reasons you can't run FreeBSD on consumer routers.) >>> Do you have a specific example? >> >> I suspect Tom was thinking about the prevalence of binary blobs for >> wireless chips rather then video in this case. > > Correct. > > (There may be other hardware peripherals, like Ethernet and the built-in > switches, that similarly use binary drivers.) > > >> Consumer router manufacturers who do provide the Linux source for >> their software never seem to provide the wireless drivers in source >> form. > > So I wonder why this situation doesn't result in a GPL violation. These > are kernel modules, not user-space drivers, right? (I know some of the > proprietary bits are command line tools for configuring peripherals, but > I can't see how the absence of those would be a show stopper...unless > the open source drivers conveniently lack the steps to initialize the > hardware.)
My understanding is that for the most common hardware out there, the wireless drivers are NOT available as source. The vendors get around the GPL by providing the drivers as loadable modules. There are those who say that this still violates the GPL, but the main Linux developers apparently don't agree and are unwilling to support legal efforts to enforce this. Since only people who hold copyright in the GPLed kernel code could bring such a suit, end users have no standing to challenge manufacturers on this. The busybox developers have in the past brought suit against various manufacturers and often gotten them to release not only busybox related code but also other free software. However, in most (all?) cases, the wireless drivers are still binary loadable modules. Typically, the router manufacturer didn't write the driver and probably got it under a restrictive contract from the wireless chip vendors (sometimes as a binary modules so they don't even have the source). Busybox doesn't have standing where the kernel is concerned so they take what they can get. As for OpenWrt being different, I think they still deal with binary blobs in many cases. I suspect the difference is that they rebuild everything else from scratch (when the source is available) rather then just replacing a few programs/adding new ones. This wiki page: http://wiki.openwrt.org/doc/devel/add.new.platform#making.binary.drivers.work talks about it somewhat. Since a wireless router without wireless is close to being a paper weight, any effort to put FreeBSD on such devices is going to be problematic. Lack of MIPS support for FreeBSD is just icing on the cake. Bill Bogstad _______________________________________________ Hardwarehacking mailing list [email protected] http://lists.blu.org/mailman/listinfo/hardwarehacking
