All of lore.kernel.org
 help / color / mirror / Atom feed
From: Larry Finger <Larry.Finger@lwfinger.net>
To: b43-dev@lists.infradead.org
Subject: Need to match driver to microcode?
Date: Thu, 06 Feb 2014 10:54:10 -0600	[thread overview]
Message-ID: <52F3BE32.9030303@lwfinger.net> (raw)
In-Reply-To: <CAD2Ti2-W97qW40LoXFBNqcPXQ+vA7V7sAnZ_ZerxiknRNuF5Dg@mail.gmail.com>

On 02/06/2014 03:01 AM, grarpamp wrote:
> On Thu, Feb 6, 2014 at 2:22 AM, Larry Finger <Larry.Finger@lwfinger.net> wrote:
>
>> There is no one to one relationship. Both are internal Broadcom
>> designations.
>
> ... got it thx.
>
>> No. The firmware is just a black box.
>
> Hopefully these makers will someday stop software
> secrets. They sell primary hardware, not sw.

The firmware source would reveal trade secrets about the chip construction that 
a competitor could use. For that reason, I don't expect many of the vendors to 
publish those sources.

Most vendors license their binary firmware files for redistribution, and they 
are available in the linux-firmware git repo. That is where the distros get 
firmware. Broadcom does the same for devices driven by brcmsmac and brcmfmac.

For the b43-driven devices, the rules are different. Broadcom will not allow 
their firmware files to be redistributed under any circumstances. Any web site 
that contains files such as ucodeN, etc. is illegal and the operator of that 
site could be sued for illegally distributing proprietary material!

To get the firmware we have, we take advantage of a loophole. Because Broadcom 
uses Linux for the OS in their routers, the GPL requires them to make their 
contributions available for redistribution. Of course, they only provide binary 
blobs for their driver, but the firmware is contained within those binaries. 
Thus we need to find a binary driver that is redistributable, determine where 
the firmware is contained within that binary, and modify fwcutter to extract the 
firmware files from that blob.

Not all of Broadcom's drivers are suitable. For example, it has never seemed 
fruitful to download 300-500 MB of stuff to extract approximately 1 MB of 
firmware. My repository contains files that are no larger than ~10 MB. Windows 
drivers are stripped to the point that the firmware locations are not easily 
determined, thus I avoid them.

Larry

  reply	other threads:[~2014-02-06 16:54 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-02-05 22:58 Need to match driver to microcode? grarpamp
2014-02-05 23:57 ` Larry Finger
2014-02-06  0:54   ` grarpamp
2014-02-06  1:50     ` Larry Finger
2014-02-06  4:34       ` grarpamp
2014-02-06  6:10         ` Rafał Miłecki
2014-02-06  8:19           ` grarpamp
2014-02-06  8:47             ` Rafał Miłecki
2014-02-06  7:22         ` Larry Finger
2014-02-06  9:01           ` grarpamp
2014-02-06 16:54             ` Larry Finger [this message]
2014-02-06 20:02               ` grarpamp
2014-02-06 20:19                 ` Chris Adams

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=52F3BE32.9030303@lwfinger.net \
    --to=larry.finger@lwfinger.net \
    --cc=b43-dev@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.