[HH] proprietary CPUs

Bill Bogstad bogstad at pobox.com
Sun May 27 22:24:22 EDT 2012


On Sun, May 27, 2012 at 3:37 PM, Tom Metro <tmetro+hhacking at gmail.com> 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



More information about the Hardwarehacking mailing list