2011-04-05 14:59:06

by Henry Ptasinski

[permalink] [raw]
Subject: [PATCH 0/3] linux-firmware: Updated firmware and new license for brcm firmware

David,

Here's a short patch series for the linux-firmware repo, including a much
shorter license, some file renaming to get the firmware repo in synch with the
firmware names expected by the drivers, and a new version of firmware which
should resolve a lot of the stability issues people are seeing with the
brcmsmac driver. Please apply them to the linux-firmware repo.

Thanks,
---
Henry Ptasinski
[email protected]

Henry Ptasinski (3):
linux-firmware: Simplified license file for brcm firmware
linux-firmware: Removed codeversion from brcm firmware filenames.
linux-firmware: updated firmware for BCM4313, BCM43224, and BCM43225
chips

LICENCE.broadcom_bcm43xx | 262 +++++---------------
WHENCE | 12 +-
...llmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} | Bin 269595 -> 269595 bytes
...llmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} | 0
brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} | Bin 97376 -> 97344 bytes
brcm/bcm43xx_hdr-0-610-809-0.fw | Bin 180 -> 0 bytes
brcm/bcm43xx_hdr-0.fw | Bin 0 -> 180 bytes
7 files changed, 67 insertions(+), 207 deletions(-)
rename brcm/{bcm4329-fullmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} (100%)
rename brcm/{bcm4329-fullmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} (100%)
rename brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} (74%)
delete mode 100644 brcm/bcm43xx_hdr-0-610-809-0.fw
create mode 100644 brcm/bcm43xx_hdr-0.fw




2011-04-21 18:30:37

by Henry Ptasinski

[permalink] [raw]
Subject: [PATCH 1/3] linux-firmware: Simplified license file for brcm firmware

New, much shorter license for firmware files submitted by Broadcom to
linux-firmware repository.

Signed-off-by: Henry Ptasinski <[email protected]>
---
LICENCE.broadcom_bcm43xx | 270 +++++++++++-----------------------------------
1 files changed, 65 insertions(+), 205 deletions(-)
rewrite LICENCE.broadcom_bcm43xx (99%)

diff --git a/LICENCE.broadcom_bcm43xx b/LICENCE.broadcom_bcm43xx
dissimilarity index 99%
index e2cf868..ff26fdd 100644
--- a/LICENCE.broadcom_bcm43xx
+++ b/LICENCE.broadcom_bcm43xx
@@ -1,205 +1,65 @@
-SOFTWARE LICENSE AGREEMENT
-
-Unless you and Broadcom Corporation (“Broadcom”) execute a separate written
-software license agreement governing use of the accompanying software, this
-software is licensed to you under the terms of this Software License Agreement
-(“Agreement”).
-
-ANY USE, REPRODUCTION OR DISTRIBUTION OF THE SOFTWARE CONSTITUTES YOUR
-ACCEPTANCE OF THIS AGREEMENT.
-
-1. DEFINITIONS.
-
-1.1. “Broadcom Product” means any of the proprietary integrated circuit
-product(s) sold by Broadcom with which the Software was designed to be used, or
-their successors.
-
-1.2. “Licensee” means you or if you are accepting on behalf of an entity
-then the entity and its affiliates exercising rights under, and complying with
-all of the terms of this Agreement.
-
-1.3. “Software” shall mean that software made available by Broadcom to
-Licensee in binary code form with this Agreement.
-
-2. LICENSE GRANT; OWNERSHIP
-
-2.1. License Grants. Subject to the terms and conditions of this Agreement,
-Broadcom hereby grants to Licensee a non-exclusive, non-transferable,
-royalty-free license (i) to use and integrate the Software in conjunction with
-any other software; and (ii) to reproduce and distribute the Software complete,
-unmodified and as provided by Broadcom, and only for use with a Broadcom
-Product.
-
-2.2. Restriction on Modification. Licensee may not make any modifications
-to the Software.
-
-2.3. Restriction on Distribution. Licensee shall only distribute the
-Software under the terms of this Agreement and a copy of this Agreement
-accompanies such distribution.
-
-2.4. Proprietary Notices. Licensee shall not remove, efface or obscure any
-copyright or trademark notices from the Software. Licensee shall include
-reproductions of the Broadcom copyright notice with each copy of the Software,
-except where such Software is embedded in a manner not readily accessible to
-the end user. Licensee acknowledges that any symbols, trademarks, tradenames,
-and service marks adopted by Broadcom to identify the Software belong to
-Broadcom and that Licensee shall have no rights therein.
-
-2.5. Ownership. Broadcom shall retain all right, title and interest,
-including all intellectual property rights, in and to the Software. Licensee
-hereby covenants that it will not assert any claim that the Software created by
-or for Broadcom infringe any intellectual property right owned or controlled by
-Licensee; provided however, the foregoing shall not apply in case the Agreement
-is terminated.
-
-2.6. No Other Rights Granted; Restrictions. Apart from the license rights
-expressly set forth in this Agreement, Broadcom does not grant and Licensee
-does not receive any ownership right, title or interest nor any security
-interest or other interest in any intellectual property rights relating to the
-Software, nor in any copy of any part of the foregoing. No license is granted
-to Licensee in any human readable code of the Software (source code). Licensee
-shall not (i) use, license, sell or otherwise distribute the Software except as
-provided in this Agreement, (ii) attempt to modify in any way, reverse
-engineer, decompile or disassemble any portion of the Software; or (iii) use
-the Software or other material in violation of any applicable law or
-regulation, including but not limited to any regulatory agency, such as FCC,
-rules.
-
-3. NO WARRANTY OR SUPPORT
-
-3.1. No Warranty. THE SOFTWARE IS OFFERED “AS IS,” AND BROADCOM GRANTS AND
-LICENSEE RECEIVES NO WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, BY STATUTE,
-COMMUNICATION OR CONDUCT WITH LICENSEE, OR OTHERWISE. BROADCOM SPECIFICALLY
-DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A SPECIFIC
-PURPOSE OR NONINFRINGEMENT CONCERNING THE SOFTWARE OR ANY UPGRADES TO OR
-DOCUMENTATION FOR THE SOFTWARE. WITHOUT LIMITATION OF THE ABOVE, BROADCOM
-GRANTS NO WARRANTY THAT THE SOFTWARE IS ERROR-FREE OR WILL OPERATE WITHOUT
-INTERRUPTION, AND GRANTS NO WARRANTY REGARDING ITS USE OR THE RESULTS THEREFROM
-INCLUDING, WITHOUT LIMITATION, ITS CORRECTNESS, ACCURACY OR RELIABILITY.
-
-3.2. No Support. Nothing in this agreement shall obligate Broadcom to
-provide any support for the Software. Broadcom may, but shall be under no
-obligation to, correct any defects in the Software and/or provide updates to
-licensees of the Software. Licensee shall make reasonable efforts to promptly
-report to Broadcom any defects it finds in the Software, as an aid to creating
-improved revisions of the Software.
-
-3.3. Dangerous Applications. The Software is not designed, intended, or
-certified for use in components of systems intended for the operation of
-weapons, weapons systems, nuclear installations, means of mass transportation,
-aviation, life-support computers or equipment (including resuscitation
-equipment and surgical implants), pollution control, hazardous substances
-management, or for any other dangerous application in which the failure of the
-Software could create a situation where personal injury or death may occur. 
-Licensee understands that use of the Software in such applications is fully at
-the risk of Licensee.
-
-4. TERM AND TERMINATION
-
-4.1. Termination. This Agreement will automatically terminate if Licensee
-fails to comply with any of the terms and conditions hereof. In such event,
-Licensee must destroy all copies of the Software and all of its component
-parts.
-
-4.2. Effect Of Termination. Upon any termination of this Agreement, the
-rights and licenses granted to Licensee under this Agreement shall immediately
-terminate.
-
-4.3. Survival. The rights and obligations under this Agreement which by
-their nature should survive termination will remain in effect after expiration
-or termination of this Agreement.
-
-5. CONFIDENTIALITY
-
-5.1. Obligations. Licensee acknowledges and agrees that any documentation
-relating to the Software, and any other information (if such other information
-is identified as confidential or should be recognized as confidential under the
-circumstances) provided to Licensee by Broadcom hereunder (collectively,
-“Confidential Information”) constitute the confidential and proprietary
-information of Broadcom, and that Licensee’s protection thereof is an essential
-condition to Licensee’s use and possession of the Software. Licensee shall
-retain all Confidential Information in strict confidence and not disclose it to
-any third party or use it in any way except under a written agreement with
-terms and conditions at least as protective as the terms of this Section.
-Licensee will exercise at least the same amount of diligence in preserving the
-secrecy of the Confidential Information as it uses in preserving the secrecy of
-its own most valuable confidential information, but in no event less than
-reasonable diligence. Information shall not be considered Confidential
-Information if and to the extent that it: (i) was in the public domain at the
-time it was disclosed or has entered the public domain through no fault of
-Licensee; (ii) was known to Licensee, without restriction, at the time of
-disclosure as proven by the files of Licensee in existence at the time of
-disclosure; or (iii) becomes known to Licensee, without restriction, from a
-source other than Broadcom without breach of this Agreement by Licensee and
-otherwise not in violation of Broadcom’s rights.
-
-5.2. Return of Confidential Information. Notwithstanding the foregoing, all
-documents and other tangible objects containing or representing Broadcom
-Confidential Information and all copies thereof which are in the possession of
-Licensee shall be and remain the property of Broadcom, and shall be promptly
-returned to Broadcom upon written request by Broadcom or upon termination of
-this Agreement.
-
-6. LIMITATION OF LIABILITY TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO
-EVENT SHALL BROADCOM OR ANY OF BROADCOM’S LICENSORS HAVE ANY LIABILITY FOR ANY
-INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER FOR BREACH OF CONTRACT, TORT (INCLUDING
-NEGLIGENCE) OR OTHERWISE, ARISING OUT OF THIS AGREEMENT, INCLUDING BUT NOT
-LIMITED TO LOSS OF PROFITS, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL BROADCOM’S LIABILITY WHETHER IN
-CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, EXCEED THE AMOUNT PAID BY
-LICENSEE FOR SOFTWARE UNDER THIS AGREEMENT. THESE LIMITATIONS SHALL APPLY
-NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.
-
-7. MISCELLANEOUS
-
-7.1. Export Regulations. YOU UNDERSTAND AND AGREE THAT THE SOFTWARE IS
-SUBJECT TO UNITED STATES AND OTHER APPLICABLE EXPORT-RELATED LAWS AND
-REGULATIONS AND THAT YOU MAY NOT EXPORT, RE-EXPORT OR TRANSFER THE SOFTWARE OR
-ANY DIRECT PRODUCT OF THE SOFTWARE EXCEPT AS PERMITTED UNDER THOSE LAWS.
-WITHOUT LIMITING THE FOREGOING, EXPORT, RE-EXPORT OR TRANSFER OF THE SOFTWARE
-TO CUBA, IRAN, NORTH KOREA, SUDAN AND SYRIA IS PROHIBITED.
-
-7.2 Assignment. This Agreement shall be binding upon and inure to the
-benefit of the parties and their respective successors and assigns, provided,
-however that Licensee may not assign this Agreement or any rights or obligation
-hereunder, directly or indirectly, by operation of law or otherwise, without
-the prior written consent of Broadcom, and any such attempted assignment shall
-be void. Notwithstanding the foregoing, Licensee may assign this Agreement to
-a successor to all or substantially all of its business or assets to which this
-Agreement relates that is not a competitor of Broadcom.
-
-7.3. Governing Law; Venue. This Agreement shall be governed by the laws of
-California without regard to any conflict-of-laws rules, and the United Nations
-Convention on Contracts for the International Sale of Goods is hereby excluded.
-The sole jurisdiction and venue for actions related to the subject matter
-hereof shall be the state and federal courts located in the County of Orange,
-California, and both parties hereby consent to such jurisdiction and venue.
-
-7.4. Severability. All terms and provisions of this Agreement shall, if
-possible, be construed in a manner which makes them valid, but in the event any
-term or provision of this Agreement is found by a court of competent
-jurisdiction to be illegal or unenforceable, the validity or enforceability of
-the remainder of this Agreement shall not be affected if the illegal or
-unenforceable provision does not materially affect the intent of this
-Agreement. If the illegal or unenforceable provision materially affects the
-intent of the parties to this Agreement, this Agreement shall become
-terminated.
-
-7.5. Equitable Relief. Licensee hereby acknowledges that its breach of this
-Agreement would cause irreparable harm and significant injury to Broadcom that
-may be difficult to ascertain and that a remedy at law would be inadequate.
-Accordingly, Licensee agrees that Broadcom shall have the right to seek and
-obtain immediate injunctive relief to enforce obligations under the Agreement
-in addition to any other rights and remedies it may have.
-
-7.6. Waiver. The waiver of, or failure to enforce, any breach or default
-hereunder shall not constitute the waiver of any other or subsequent breach or
-default.
-
-7.7. Entire Agreement. This Agreement sets forth the entire Agreement
-between the parties and supersedes any and all prior proposals, agreements and
-representations between them, whether written or oral concerning the Software.
-This Agreement may be changed only by mutual agreement of the parties in
-writing.
-
+SOFTWARE LICENSE AGREEMENT
+
+The accompanying software in binary code form (“Software”), is licensed to you,
+or, if you are accepting on behalf of an entity, the entity and its affiliates
+exercising rights hereunder (“Licensee”) subject to the terms of this software
+license agreement (“Agreement”), unless Licensee and Broadcom Corporation
+(“Broadcom”) execute a separate written software license agreement governing
+use of the Software. ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE SOFTWARE
+CONSTITUTES LICENSEE’S ACCEPTANCE OF THIS AGREEMENT.
+
+1. License. Subject to the terms and conditions of this Agreement,
+Broadcom hereby grants to Licensee a limited, non-exclusive, non-transferable,
+royalty-free license: (i) to use and integrate the Software with any other
+software; and (ii) to reproduce and distribute the Software complete,
+unmodified, and as provided by Broadcom, solely for use with Broadcom
+proprietary integrated circuit product(s) sold by Broadcom with which the
+Software was designed to be used, or their successors.
+
+2. Restrictions. Licensee shall distribute Software with a copy of this
+Agreement. Licensee shall not remove, efface or obscure any copyright or
+trademark notices from the Software. Reproductions of the Broadcom copyright
+notice shall be included with each copy of the Software, except where such
+Software is embedded in a manner not readily accessible to the end user.
+Licensee shall not: (i) use, license, sell or otherwise distribute the Software
+except as provided in this Agreement; (ii) attempt to modify in any way,
+reverse engineer, decompile or disassemble any portion of the Software; or
+(iii) use the Software or other material in violation of any applicable law or
+regulation, including but not limited to any regulatory agency. This Agreement
+shall automatically terminate upon Licensee’s failure to comply with any of the
+terms of this Agreement. In such event, Licensee will destroy all copies of the
+Software and its component parts.
+
+3. Ownership. The Software is licensed and not sold. Title to and
+ownership of the Software, including all intellectual property rights thereto,
+and any portion thereof remain with Broadcom or its licensors. Licensee hereby
+covenants that it will not assert any claim that the Software created by or for
+Broadcom infringe any intellectual property right owned or controlled by
+Licensee.
+
+4. Disclaimer. THE SOFTWARE IS OFFERED “AS IS,” AND BROADCOM PROVIDES AND
+GRANTS AND LICENSEE RECEIVES NO SUPPORT AND NO WARRANTIES OF ANY KIND, EXPRESS
+OR IMPLIED, BY STATUTE, COMMUNICATION OR CONDUCT WITH LICENSEE, OR OTHERWISE.
+BROADCOM SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A SPECIFIC PURPOSE, OR NONINFRINGEMENT CONCERNING THE SOFTWARE OR
+ANY UPGRADES TO OR DOCUMENTATION FOR THE SOFTWARE. WITHOUT LIMITATION OF THE
+ABOVE, BROADCOM GRANTS NO WARRANTY THAT THE SOFTWARE IS ERROR-FREE OR WILL
+OPERATE WITHOUT INTERRUPTION, AND GRANTS NO WARRANTY REGARDING ITS USE OR THE
+RESULTS THEREFROM INCLUDING, WITHOUT LIMITATION, ITS CORRECTNESS, ACCURACY, OR
+RELIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM
+OR ANY OF ITS LICENSORS HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR
+OTHERWISE, ARISING OUT OF THIS AGREEMENT OR USE, REPRODUCTION, OR DISTRIBUTION
+OF THE SOFTWARE, INCLUDING BUT NOT LIMITED TO LOSS OF DATA AND LOSS OF PROFITS,
+EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE
+LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY
+LIMITED REMEDY.
+
+5. Export Laws. LICENSEE UNDERSTANDS AND AGREES THAT THE SOFTWARE IS
+SUBJECT TO UNITED STATES AND OTHER APPLICABLE EXPORT-RELATED LAWS AND
+REGULATIONS AND THAT LICENSEE MAY NOT EXPORT, RE-EXPORT OR TRANSFER THE
+SOFTWARE OR ANY DIRECT PRODUCT OF THE SOFTWARE EXCEPT AS PERMITTED UNDER THOSE
+LAWS. WITHOUT LIMITING THE FOREGOING, EXPORT, RE-EXPORT, OR TRANSFER OF THE
+SOFTWARE TO CUBA, IRAN, NORTH KOREA, SUDAN, AND SYRIA IS PROHIBITED.
+
--
1.7.4.5



2011-04-07 21:15:34

by Henry Ptasinski

[permalink] [raw]
Subject: Re: [PATCH 0/3] linux-firmware: Updated firmware and new license for brcm firmware

On Tue, Apr 05, 2011 at 07:58:39AM -0700, Henry Ptasinski wrote:
> David,
>
> Here's a short patch series for the linux-firmware repo, including a much
> shorter license, some file renaming to get the firmware repo in synch with the
> firmware names expected by the drivers, and a new version of firmware which
> should resolve a lot of the stability issues people are seeing with the
> brcmsmac driver. Please apply them to the linux-firmware repo.

David,

While there was some discussion about patch #2, I believe all the concerns have
been addressed, so please apply all 3 patches to the linux-firmware repo.

Thanks,
- Henry



2011-04-05 17:51:52

by Henry Ptasinski

[permalink] [raw]
Subject: Re: [PATCH 2/3] linux-firmware: Removed codeversion from brcm firmware filenames.

On 04/05/2011 08:34 AM, Larry Finger wrote:
> I also endorse removing the version number from the firmware name; however, I
> see a fundamental flaw in the present submission. Both brcmsmac and its
> predecessor brcm80211 have been included in mainline and compat-wireless, have
> been widely distributed, and have a number of users. This change will break the
> system of every one of them - including mine.

Hmm. Sounds like you've got the firmware installed with it's original
name, and are using symlinks. Is that correct? A lot of installations
(including at least one major distro) rename the files, and skip the
whole symlink approach.

That's we decided to dump the version number appendage. However, if
there are a mix of installation approaches, we should take a somewhat
different approach on the fix.

> My proposed solution is to do the
> rename as done in this patch, but also include links to the new name from every
> name used in any distributed version.

The brcm80211/brcmsmac driver has always looked for "brcm/bcm43xx-0.fw".
It never looked for the version info on the filename. So I don't
quite understand what you mean by "from every name used in any
distributed version", as the only name used in all distributed versions
of the driver is exactly the name we're trying to give to the firmware
file. Could you clarify?

Thanks,
- Henry


2011-04-21 18:30:37

by Henry Ptasinski

[permalink] [raw]
Subject: [PATCH 2/3] linux-firmware: Removed codeversion from brcm firmware filenames.

The basename-apiversion-codeversion construction for firmware filenames is not
used by most other firmware files, adds complexity, and is not providing any
value. Renamed the firmware files using just basename-apiversion and fixed
WHENCE to have correct names and path to these files.

Signed-off-by: Henry Ptasinski <[email protected]>
---
WHENCE | 12 ++++++------
...llmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} | Bin 269595 -> 269595 bytes
...llmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} | 0
brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} | Bin 97376 -> 97376 bytes
...bcm43xx_hdr-0-610-809-0.fw => bcm43xx_hdr-0.fw} | Bin 180 -> 180 bytes
5 files changed, 6 insertions(+), 6 deletions(-)
rename brcm/{bcm4329-fullmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} (100%)
rename brcm/{bcm4329-fullmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} (100%)
rename brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} (100%)
rename brcm/{bcm43xx_hdr-0-610-809-0.fw => bcm43xx_hdr-0.fw} (100%)

diff --git a/WHENCE b/WHENCE
index 6632b85..c81a2b4 100644
--- a/WHENCE
+++ b/WHENCE
@@ -1433,19 +1433,19 @@ Licence:

--------------------------------------------------------------------------

-Driver: brcm80211 - Broadcom 802.11n wireless LAN driver.
+Driver: brcmsmac - Broadcom 802.11n softmac wireless LAN driver.

-File: brcm/bcm43xx-0-610-809-0.fw
-File: brcm/bcm43xx_hdr-0-610-809-0.fw
+File: brcm/bcm43xx-0.fw
+File: brcm/bcm43xx_hdr-0.fw

Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details.

--------------------------------------------------------------------------

-Driver: brcm80211 - Broadcom 802.11n wireless LAN driver.
+Driver: brcmfmac - Broadcom 802.11n fullmac wireless LAN driver.

-File: bcm4329-fullmac-4-218-248-5.bin
-File: bcm4329-fullmac-4-218-248-5.txt
+File: brcm/bcm4329-fullmac-4.bin
+File: brcm/bcm4329-fullmac-4.txt

Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details.

diff --git a/brcm/bcm4329-fullmac-4-218-248-5.bin b/brcm/bcm4329-fullmac-4.bin
similarity index 100%
rename from brcm/bcm4329-fullmac-4-218-248-5.bin
rename to brcm/bcm4329-fullmac-4.bin
diff --git a/brcm/bcm4329-fullmac-4-218-248-5.txt b/brcm/bcm4329-fullmac-4.txt
similarity index 100%
rename from brcm/bcm4329-fullmac-4-218-248-5.txt
rename to brcm/bcm4329-fullmac-4.txt
diff --git a/brcm/bcm43xx-0-610-809-0.fw b/brcm/bcm43xx-0.fw
similarity index 100%
rename from brcm/bcm43xx-0-610-809-0.fw
rename to brcm/bcm43xx-0.fw
diff --git a/brcm/bcm43xx_hdr-0-610-809-0.fw b/brcm/bcm43xx_hdr-0.fw
similarity index 100%
rename from brcm/bcm43xx_hdr-0-610-809-0.fw
rename to brcm/bcm43xx_hdr-0.fw
--
1.7.4.5



2011-04-05 14:59:06

by Henry Ptasinski

[permalink] [raw]
Subject: [PATCH 2/3] linux-firmware: Removed codeversion from brcm firmware filenames.

The basename-apiversion-codeversion construction for firmware filenames is not
used by most other firmware files, adds complexity, and is not providing any
value. Renamed the firmware files using just basename-apiversion and fixed
WHENCE to have correct names and path to these files.
---
WHENCE | 12 ++++++------
...llmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} | Bin 269595 -> 269595 bytes
...llmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} | 0
brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} | Bin 97376 -> 97376 bytes
...bcm43xx_hdr-0-610-809-0.fw => bcm43xx_hdr-0.fw} | Bin 180 -> 180 bytes
5 files changed, 6 insertions(+), 6 deletions(-)
rename brcm/{bcm4329-fullmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} (100%)
rename brcm/{bcm4329-fullmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} (100%)
rename brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} (100%)
rename brcm/{bcm43xx_hdr-0-610-809-0.fw => bcm43xx_hdr-0.fw} (100%)

diff --git a/WHENCE b/WHENCE
index 6632b85..c81a2b4 100644
--- a/WHENCE
+++ b/WHENCE
@@ -1433,19 +1433,19 @@ Licence:

--------------------------------------------------------------------------

-Driver: brcm80211 - Broadcom 802.11n wireless LAN driver.
+Driver: brcmsmac - Broadcom 802.11n softmac wireless LAN driver.

-File: brcm/bcm43xx-0-610-809-0.fw
-File: brcm/bcm43xx_hdr-0-610-809-0.fw
+File: brcm/bcm43xx-0.fw
+File: brcm/bcm43xx_hdr-0.fw

Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details.

--------------------------------------------------------------------------

-Driver: brcm80211 - Broadcom 802.11n wireless LAN driver.
+Driver: brcmfmac - Broadcom 802.11n fullmac wireless LAN driver.

-File: bcm4329-fullmac-4-218-248-5.bin
-File: bcm4329-fullmac-4-218-248-5.txt
+File: brcm/bcm4329-fullmac-4.bin
+File: brcm/bcm4329-fullmac-4.txt

Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details.

diff --git a/brcm/bcm4329-fullmac-4-218-248-5.txt b/brcm/bcm4329-fullmac-4.txt
similarity index 100%
rename from brcm/bcm4329-fullmac-4-218-248-5.txt
rename to brcm/bcm4329-fullmac-4.txt
--
1.7.1



2011-04-08 14:51:32

by Henry Ptasinski

[permalink] [raw]
Subject: [PATCH 3/3] linux-firmware: updated firmware for BCM4313, BCM43224, and BCM43225 chips

Updated firmware with stability fixes. Firmware version is now 610.811.

Signed-off-by: Henry Ptasinski <[email protected]>
Signed-off-by: Roland Vossen <[email protected]>
---
brcm/bcm43xx-0.fw | Bin 97376 -> 97344 bytes
brcm/bcm43xx_hdr-0.fw | Bin 180 -> 180 bytes
2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/brcm/bcm43xx-0.fw b/brcm/bcm43xx-0.fw
index e4ba3ad2ab1eee2cb286792336632203349d6f46..9f3951a137b93d8ecac7ac229ef1cdc5dad9829d 100644
GIT binary patch
delta 8991
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

delta 9116
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

diff --git a/brcm/bcm43xx_hdr-0.fw b/brcm/bcm43xx_hdr-0.fw
index 661b6bddea13f9c998e9e295c75db33f9bbebc5e..0e578f6f42169ee1e80e19008cfe8f3c2815d0f7 100644
GIT binary patch
delta 99
zcmdnOxP@^-M9hu(3=BLB3=9_jj0`M5niq&2fb1JU1{0925X;D*z{tP=L<|mb5OI(?
Wg&c@DGe|raBF+X9uZD=T0@(o1Hw$(E

delta 99
zcmdnOxP@^-M9h!*3=BLB3=9$ej0`M5niq%@fb1JU1{09&5X;D*z{tP=L<|XW5OI(?
Wha8AFGe|raBF+X9uZD=T0@(lr#te1<

--
1.7.1



2011-04-08 14:51:31

by Henry Ptasinski

[permalink] [raw]
Subject: [PATCH 2/3] linux-firmware: Removed codeversion from brcm firmware filenames.

The basename-apiversion-codeversion construction for firmware filenames is not
used by most other firmware files, adds complexity, and is not providing any
value. Renamed the firmware files using just basename-apiversion and fixed
WHENCE to have correct names and path to these files.

Signed-off-by: Henry Ptasinski <[email protected]>
---
WHENCE | 12 ++++++------
...llmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} | Bin 269595 -> 269595 bytes
...llmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} | 0
brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} | Bin 97376 -> 97376 bytes
...bcm43xx_hdr-0-610-809-0.fw => bcm43xx_hdr-0.fw} | Bin 180 -> 180 bytes
5 files changed, 6 insertions(+), 6 deletions(-)
rename brcm/{bcm4329-fullmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} (100%)
rename brcm/{bcm4329-fullmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} (100%)
rename brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} (100%)
rename brcm/{bcm43xx_hdr-0-610-809-0.fw => bcm43xx_hdr-0.fw} (100%)

diff --git a/WHENCE b/WHENCE
index 6632b85..c81a2b4 100644
--- a/WHENCE
+++ b/WHENCE
@@ -1433,19 +1433,19 @@ Licence:

--------------------------------------------------------------------------

-Driver: brcm80211 - Broadcom 802.11n wireless LAN driver.
+Driver: brcmsmac - Broadcom 802.11n softmac wireless LAN driver.

-File: brcm/bcm43xx-0-610-809-0.fw
-File: brcm/bcm43xx_hdr-0-610-809-0.fw
+File: brcm/bcm43xx-0.fw
+File: brcm/bcm43xx_hdr-0.fw

Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details.

--------------------------------------------------------------------------

-Driver: brcm80211 - Broadcom 802.11n wireless LAN driver.
+Driver: brcmfmac - Broadcom 802.11n fullmac wireless LAN driver.

-File: bcm4329-fullmac-4-218-248-5.bin
-File: bcm4329-fullmac-4-218-248-5.txt
+File: brcm/bcm4329-fullmac-4.bin
+File: brcm/bcm4329-fullmac-4.txt

Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details.

diff --git a/brcm/bcm4329-fullmac-4-218-248-5.txt b/brcm/bcm4329-fullmac-4.txt
similarity index 100%
rename from brcm/bcm4329-fullmac-4-218-248-5.txt
rename to brcm/bcm4329-fullmac-4.txt
--
1.7.1



2011-04-08 06:41:10

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH 0/3] linux-firmware: Updated firmware and new license for brcm firmware

On Thu, 2011-04-07 at 14:15 -0700, Henry Ptasinski wrote:

> While there was some discussion about patch #2, I believe all the concerns have
> been addressed, so please apply all 3 patches to the linux-firmware repo.

Henry, I think you need Signed-off-by lines for the linux-firmware repo
as well.


2011-04-05 20:41:20

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH 2/3] linux-firmware: Removed codeversion from brcm firmware filenames.

On Tue, Apr 05, 2011 at 03:33:14PM -0500, Larry Finger wrote:
> On 04/05/2011 02:29 PM, Greg KH wrote:
> >On Tue, Apr 05, 2011 at 02:00:18PM -0500, Larry Finger wrote:
> >>On 04/05/2011 12:51 PM, Henry Ptasinski wrote:
> >>>On 04/05/2011 08:34 AM, Larry Finger wrote:
> >>>>I also endorse removing the version number from the firmware name; however, I
> >>>>see a fundamental flaw in the present submission. Both brcmsmac and its
> >>>>predecessor brcm80211 have been included in mainline and compat-wireless, have
> >>>>been widely distributed, and have a number of users. This change will break the
> >>>>system of every one of them - including mine.
> >>>
> >>>Hmm. Sounds like you've got the firmware installed with it's original name, and
> >>>are using symlinks. Is that correct? A lot of installations (including at least
> >>>one major distro) rename the files, and skip the whole symlink approach.
> >>>
> >>>That's we decided to dump the version number appendage. However, if there are a
> >>>mix of installation approaches, we should take a somewhat different approach on
> >>>the fix.
> >>>
> >>>>My proposed solution is to do the
> >>>>rename as done in this patch, but also include links to the new name from every
> >>>>name used in any distributed version.
> >>>
> >>>The brcm80211/brcmsmac driver has always looked for "brcm/bcm43xx-0.fw". It
> >>>never looked for the version info on the filename. So I don't quite understand
> >>>what you mean by "from every name used in any distributed version", as the only
> >>>name used in all distributed versions of the driver is exactly the name we're
> >>>trying to give to the firmware file. Could you clarify?
> >>
> >>You are right. Sorry for the noise. Having one name for the firmware
> >>in linux-firmware and a different one in the driver got me confused.
> >>The current patches will fix that.
> >>
> >>My distro is openSUSE, which does make a symlink between the name
> >>with version info and what the driver actually loads.
> >
> >I created that symlink for openSUSE, and if there is a better way to
> >solve it, please let me know.
>
> Actually, the name change for the firmware as proposed in these
> patches will eliminate the need for those symlinks. That is the
> better way. Once that change propagates through the system and gets
> into openSUSE, the firmware files with the old names can be deleted.

Yeah! When this gets checked in I'll create an updated opensuse
firmware package.

thanks,

greg k-h

2011-04-05 14:59:06

by Henry Ptasinski

[permalink] [raw]
Subject: [PATCH 3/3] linux-firmware: updated firmware for BCM4313, BCM43224, and BCM43225 chips

Updated firmware with stability fixes. Firmware version is now 610.811.
---
brcm/bcm43xx-0.fw | Bin 97376 -> 97344 bytes
brcm/bcm43xx_hdr-0.fw | Bin 180 -> 180 bytes
2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/brcm/bcm43xx-0.fw b/brcm/bcm43xx-0.fw
index e4ba3ad2ab1eee2cb286792336632203349d6f46..9f3951a137b93d8ecac7ac229ef1cdc5dad9829d 100644
GIT binary patch
delta 8991
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

delta 9116
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

diff --git a/brcm/bcm43xx_hdr-0.fw b/brcm/bcm43xx_hdr-0.fw
index 661b6bddea13f9c998e9e295c75db33f9bbebc5e..0e578f6f42169ee1e80e19008cfe8f3c2815d0f7 100644
GIT binary patch
delta 99
zcmdnOxP@^-M9hu(3=BLB3=9_jj0`M5niq&2fb1JU1{0925X;D*z{tP=L<|mb5OI(?
Wg&c@DGe|raBF+X9uZD=T0@(o1Hw$(E

delta 99
zcmdnOxP@^-M9h!*3=BLB3=9$ej0`M5niq%@fb1JU1{09&5X;D*z{tP=L<|XW5OI(?
Wha8AFGe|raBF+X9uZD=T0@(lr#te1<

--
1.7.1



2011-04-08 14:49:51

by Henry Ptasinski

[permalink] [raw]
Subject: Re: [PATCH 0/3] linux-firmware: Updated firmware and new license for brcm firmware

On Thu, Apr 07, 2011 at 11:41:06PM -0700, Johannes Berg wrote:
> On Thu, 2011-04-07 at 14:15 -0700, Henry Ptasinski wrote:
>
> > While there was some discussion about patch #2, I believe all the concerns have
> > been addressed, so please apply all 3 patches to the linux-firmware repo.
>
> Henry, I think you need Signed-off-by lines for the linux-firmware repo
> as well.
>

Of coused. I'll resend.

Thanks,
- Henry



2011-04-05 15:34:22

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH 2/3] linux-firmware: Removed codeversion from brcm firmware filenames.

On 04/05/2011 09:58 AM, Henry Ptasinski wrote:
> The basename-apiversion-codeversion construction for firmware filenames is not
> used by most other firmware files, adds complexity, and is not providing any
> value. Renamed the firmware files using just basename-apiversion and fixed
> WHENCE to have correct names and path to these files.
> ---
> WHENCE | 12 ++++++------
> ...llmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} | Bin 269595 -> 269595 bytes
> ...llmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} | 0
> brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} | Bin 97376 -> 97376 bytes
> ...bcm43xx_hdr-0-610-809-0.fw => bcm43xx_hdr-0.fw} | Bin 180 -> 180 bytes
> 5 files changed, 6 insertions(+), 6 deletions(-)
> rename brcm/{bcm4329-fullmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} (100%)
> rename brcm/{bcm4329-fullmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} (100%)
> rename brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} (100%)
> rename brcm/{bcm43xx_hdr-0-610-809-0.fw => bcm43xx_hdr-0.fw} (100%)
>
> diff --git a/WHENCE b/WHENCE
> index 6632b85..c81a2b4 100644
> --- a/WHENCE
> +++ b/WHENCE
> @@ -1433,19 +1433,19 @@ Licence:
>
> --------------------------------------------------------------------------
>
> -Driver: brcm80211 - Broadcom 802.11n wireless LAN driver.
> +Driver: brcmsmac - Broadcom 802.11n softmac wireless LAN driver.
>
> -File: brcm/bcm43xx-0-610-809-0.fw
> -File: brcm/bcm43xx_hdr-0-610-809-0.fw
> +File: brcm/bcm43xx-0.fw
> +File: brcm/bcm43xx_hdr-0.fw
>
> Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details.
>
> --------------------------------------------------------------------------
>
> -Driver: brcm80211 - Broadcom 802.11n wireless LAN driver.
> +Driver: brcmfmac - Broadcom 802.11n fullmac wireless LAN driver.
>
> -File: bcm4329-fullmac-4-218-248-5.bin
> -File: bcm4329-fullmac-4-218-248-5.txt
> +File: brcm/bcm4329-fullmac-4.bin
> +File: brcm/bcm4329-fullmac-4.txt
>
> Licence: Redistributable. See LICENCE.broadcom_bcm43xx for details.
>
> diff --git a/brcm/bcm4329-fullmac-4-218-248-5.txt b/brcm/bcm4329-fullmac-4.txt
> similarity index 100%
> rename from brcm/bcm4329-fullmac-4-218-248-5.txt
> rename to brcm/bcm4329-fullmac-4.txt

Given all the problems we in the b43 community have had with Broadcom firmware,
I certainly applaud every instance where the company makes firmware freely
available and redistributable.

I also endorse removing the version number from the firmware name; however, I
see a fundamental flaw in the present submission. Both brcmsmac and its
predecessor brcm80211 have been included in mainline and compat-wireless, have
been widely distributed, and have a number of users. This change will break the
system of every one of them - including mine. My proposed solution is to do the
rename as done in this patch, but also include links to the new name from every
name used in any distributed version. After approximately two years, the links
can be removed, but they are needed now.

The brcmsmac/brcm80211 driver already has a PR problem due to the instabilities
and the system lockups. Adding this kind of system breakage would do even more
damage to its reputation.

Larry


2011-04-05 19:00:24

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH 2/3] linux-firmware: Removed codeversion from brcm firmware filenames.

On 04/05/2011 12:51 PM, Henry Ptasinski wrote:
> On 04/05/2011 08:34 AM, Larry Finger wrote:
>> I also endorse removing the version number from the firmware name; however, I
>> see a fundamental flaw in the present submission. Both brcmsmac and its
>> predecessor brcm80211 have been included in mainline and compat-wireless, have
>> been widely distributed, and have a number of users. This change will break the
>> system of every one of them - including mine.
>
> Hmm. Sounds like you've got the firmware installed with it's original name, and
> are using symlinks. Is that correct? A lot of installations (including at least
> one major distro) rename the files, and skip the whole symlink approach.
>
> That's we decided to dump the version number appendage. However, if there are a
> mix of installation approaches, we should take a somewhat different approach on
> the fix.
>
> > My proposed solution is to do the
>> rename as done in this patch, but also include links to the new name from every
>> name used in any distributed version.
>
> The brcm80211/brcmsmac driver has always looked for "brcm/bcm43xx-0.fw". It
> never looked for the version info on the filename. So I don't quite understand
> what you mean by "from every name used in any distributed version", as the only
> name used in all distributed versions of the driver is exactly the name we're
> trying to give to the firmware file. Could you clarify?

You are right. Sorry for the noise. Having one name for the firmware in
linux-firmware and a different one in the driver got me confused. The current
patches will fix that.

My distro is openSUSE, which does make a symlink between the name with version
info and what the driver actually loads.

Larry

2011-04-05 20:33:18

by Larry Finger

[permalink] [raw]
Subject: Re: [PATCH 2/3] linux-firmware: Removed codeversion from brcm firmware filenames.

On 04/05/2011 02:29 PM, Greg KH wrote:
> On Tue, Apr 05, 2011 at 02:00:18PM -0500, Larry Finger wrote:
>> On 04/05/2011 12:51 PM, Henry Ptasinski wrote:
>>> On 04/05/2011 08:34 AM, Larry Finger wrote:
>>>> I also endorse removing the version number from the firmware name; however, I
>>>> see a fundamental flaw in the present submission. Both brcmsmac and its
>>>> predecessor brcm80211 have been included in mainline and compat-wireless, have
>>>> been widely distributed, and have a number of users. This change will break the
>>>> system of every one of them - including mine.
>>>
>>> Hmm. Sounds like you've got the firmware installed with it's original name, and
>>> are using symlinks. Is that correct? A lot of installations (including at least
>>> one major distro) rename the files, and skip the whole symlink approach.
>>>
>>> That's we decided to dump the version number appendage. However, if there are a
>>> mix of installation approaches, we should take a somewhat different approach on
>>> the fix.
>>>
>>>> My proposed solution is to do the
>>>> rename as done in this patch, but also include links to the new name from every
>>>> name used in any distributed version.
>>>
>>> The brcm80211/brcmsmac driver has always looked for "brcm/bcm43xx-0.fw". It
>>> never looked for the version info on the filename. So I don't quite understand
>>> what you mean by "from every name used in any distributed version", as the only
>>> name used in all distributed versions of the driver is exactly the name we're
>>> trying to give to the firmware file. Could you clarify?
>>
>> You are right. Sorry for the noise. Having one name for the firmware
>> in linux-firmware and a different one in the driver got me confused.
>> The current patches will fix that.
>>
>> My distro is openSUSE, which does make a symlink between the name
>> with version info and what the driver actually loads.
>
> I created that symlink for openSUSE, and if there is a better way to
> solve it, please let me know.

Actually, the name change for the firmware as proposed in these patches will
eliminate the need for those symlinks. That is the better way. Once that change
propagates through the system and gets into openSUSE, the firmware files with
the old names can be deleted.

Larry

2011-04-05 19:29:12

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH 2/3] linux-firmware: Removed codeversion from brcm firmware filenames.

On Tue, Apr 05, 2011 at 02:00:18PM -0500, Larry Finger wrote:
> On 04/05/2011 12:51 PM, Henry Ptasinski wrote:
> >On 04/05/2011 08:34 AM, Larry Finger wrote:
> >>I also endorse removing the version number from the firmware name; however, I
> >>see a fundamental flaw in the present submission. Both brcmsmac and its
> >>predecessor brcm80211 have been included in mainline and compat-wireless, have
> >>been widely distributed, and have a number of users. This change will break the
> >>system of every one of them - including mine.
> >
> >Hmm. Sounds like you've got the firmware installed with it's original name, and
> >are using symlinks. Is that correct? A lot of installations (including at least
> >one major distro) rename the files, and skip the whole symlink approach.
> >
> >That's we decided to dump the version number appendage. However, if there are a
> >mix of installation approaches, we should take a somewhat different approach on
> >the fix.
> >
> > > My proposed solution is to do the
> >>rename as done in this patch, but also include links to the new name from every
> >>name used in any distributed version.
> >
> >The brcm80211/brcmsmac driver has always looked for "brcm/bcm43xx-0.fw". It
> >never looked for the version info on the filename. So I don't quite understand
> >what you mean by "from every name used in any distributed version", as the only
> >name used in all distributed versions of the driver is exactly the name we're
> >trying to give to the firmware file. Could you clarify?
>
> You are right. Sorry for the noise. Having one name for the firmware
> in linux-firmware and a different one in the driver got me confused.
> The current patches will fix that.
>
> My distro is openSUSE, which does make a symlink between the name
> with version info and what the driver actually loads.

I created that symlink for openSUSE, and if there is a better way to
solve it, please let me know.

thanks,

greg k-h

2011-04-21 18:30:41

by Henry Ptasinski

[permalink] [raw]
Subject: [PATCH 3/3] linux-firmware: updated firmware for BCM4313, BCM43224, and BCM43225 chips

Updated firmware with stability fixes. Firmware version is now 610.811.

Signed-off-by: Henry Ptasinski <[email protected]>
---
brcm/bcm43xx-0.fw | Bin 97376 -> 97344 bytes
brcm/bcm43xx_hdr-0.fw | Bin 180 -> 180 bytes
2 files changed, 0 insertions(+), 0 deletions(-)

diff --git a/brcm/bcm43xx-0.fw b/brcm/bcm43xx-0.fw
index e4ba3ad2ab1eee2cb286792336632203349d6f46..9f3951a137b93d8ecac7ac229ef1cdc5dad9829d 100644
GIT binary patch
delta 8991
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

delta 9116
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

diff --git a/brcm/bcm43xx_hdr-0.fw b/brcm/bcm43xx_hdr-0.fw
index 661b6bddea13f9c998e9e295c75db33f9bbebc5e..0e578f6f42169ee1e80e19008cfe8f3c2815d0f7 100644
GIT binary patch
delta 99
zcmdnOxP@^-M9hu(3=BLB3=9_jj0`M5niq&2fb1JU1{0925X;D*z{tP=L<|mb5OI(?
Wg&c@DGe|raBF+X9uZD=T0@(o1Hw$(E

delta 99
zcmdnOxP@^-M9h!*3=BLB3=9$ej0`M5niq%@fb1JU1{09&5X;D*z{tP=L<|XW5OI(?
Wha8AFGe|raBF+X9uZD=T0@(lr#te1<

--
1.7.4.5



2011-04-08 14:51:26

by Henry Ptasinski

[permalink] [raw]
Subject: [PATCH 1/3] linux-firmware: Simplified license file for brcm firmware

New, much shorter license for firmware files submitted by Broadcom to
linux-firmware repository.

Signed-off-by: Henry Ptasinski <[email protected]>
---
LICENCE.broadcom_bcm43xx | 262 +++++++++++-----------------------------------
1 files changed, 61 insertions(+), 201 deletions(-)

diff --git a/LICENCE.broadcom_bcm43xx b/LICENCE.broadcom_bcm43xx
index e2cf868..ff26fdd 100644
--- a/LICENCE.broadcom_bcm43xx
+++ b/LICENCE.broadcom_bcm43xx
@@ -1,205 +1,65 @@
SOFTWARE LICENSE AGREEMENT

-Unless you and Broadcom Corporation (“Broadcom”) execute a separate written
-software license agreement governing use of the accompanying software, this
-software is licensed to you under the terms of this Software License Agreement
-(“Agreement”).
-
-ANY USE, REPRODUCTION OR DISTRIBUTION OF THE SOFTWARE CONSTITUTES YOUR
-ACCEPTANCE OF THIS AGREEMENT.
-
-1. DEFINITIONS.
-
-1.1. “Broadcom Product” means any of the proprietary integrated circuit
-product(s) sold by Broadcom with which the Software was designed to be used, or
-their successors.
-
-1.2. “Licensee” means you or if you are accepting on behalf of an entity
-then the entity and its affiliates exercising rights under, and complying with
-all of the terms of this Agreement.
-
-1.3. “Software” shall mean that software made available by Broadcom to
-Licensee in binary code form with this Agreement.
-
-2. LICENSE GRANT; OWNERSHIP
-
-2.1. License Grants. Subject to the terms and conditions of this Agreement,
-Broadcom hereby grants to Licensee a non-exclusive, non-transferable,
-royalty-free license (i) to use and integrate the Software in conjunction with
-any other software; and (ii) to reproduce and distribute the Software complete,
-unmodified and as provided by Broadcom, and only for use with a Broadcom
-Product.
-
-2.2. Restriction on Modification. Licensee may not make any modifications
-to the Software.
-
-2.3. Restriction on Distribution. Licensee shall only distribute the
-Software under the terms of this Agreement and a copy of this Agreement
-accompanies such distribution.
-
-2.4. Proprietary Notices. Licensee shall not remove, efface or obscure any
-copyright or trademark notices from the Software. Licensee shall include
-reproductions of the Broadcom copyright notice with each copy of the Software,
-except where such Software is embedded in a manner not readily accessible to
-the end user. Licensee acknowledges that any symbols, trademarks, tradenames,
-and service marks adopted by Broadcom to identify the Software belong to
-Broadcom and that Licensee shall have no rights therein.
-
-2.5. Ownership. Broadcom shall retain all right, title and interest,
-including all intellectual property rights, in and to the Software. Licensee
-hereby covenants that it will not assert any claim that the Software created by
-or for Broadcom infringe any intellectual property right owned or controlled by
-Licensee; provided however, the foregoing shall not apply in case the Agreement
-is terminated.
-
-2.6. No Other Rights Granted; Restrictions. Apart from the license rights
-expressly set forth in this Agreement, Broadcom does not grant and Licensee
-does not receive any ownership right, title or interest nor any security
-interest or other interest in any intellectual property rights relating to the
-Software, nor in any copy of any part of the foregoing. No license is granted
-to Licensee in any human readable code of the Software (source code). Licensee
-shall not (i) use, license, sell or otherwise distribute the Software except as
-provided in this Agreement, (ii) attempt to modify in any way, reverse
-engineer, decompile or disassemble any portion of the Software; or (iii) use
-the Software or other material in violation of any applicable law or
-regulation, including but not limited to any regulatory agency, such as FCC,
-rules.
-
-3. NO WARRANTY OR SUPPORT
-
-3.1. No Warranty. THE SOFTWARE IS OFFERED “AS IS,” AND BROADCOM GRANTS AND
-LICENSEE RECEIVES NO WARRANTIES OF ANY KIND, EXPRESS OR IMPLIED, BY STATUTE,
-COMMUNICATION OR CONDUCT WITH LICENSEE, OR OTHERWISE. BROADCOM SPECIFICALLY
-DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A SPECIFIC
-PURPOSE OR NONINFRINGEMENT CONCERNING THE SOFTWARE OR ANY UPGRADES TO OR
-DOCUMENTATION FOR THE SOFTWARE. WITHOUT LIMITATION OF THE ABOVE, BROADCOM
-GRANTS NO WARRANTY THAT THE SOFTWARE IS ERROR-FREE OR WILL OPERATE WITHOUT
-INTERRUPTION, AND GRANTS NO WARRANTY REGARDING ITS USE OR THE RESULTS THEREFROM
-INCLUDING, WITHOUT LIMITATION, ITS CORRECTNESS, ACCURACY OR RELIABILITY.
-
-3.2. No Support. Nothing in this agreement shall obligate Broadcom to
-provide any support for the Software. Broadcom may, but shall be under no
-obligation to, correct any defects in the Software and/or provide updates to
-licensees of the Software. Licensee shall make reasonable efforts to promptly
-report to Broadcom any defects it finds in the Software, as an aid to creating
-improved revisions of the Software.
-
-3.3. Dangerous Applications. The Software is not designed, intended, or
-certified for use in components of systems intended for the operation of
-weapons, weapons systems, nuclear installations, means of mass transportation,
-aviation, life-support computers or equipment (including resuscitation
-equipment and surgical implants), pollution control, hazardous substances
-management, or for any other dangerous application in which the failure of the
-Software could create a situation where personal injury or death may occur. 
-Licensee understands that use of the Software in such applications is fully at
-the risk of Licensee.
-
-4. TERM AND TERMINATION
-
-4.1. Termination. This Agreement will automatically terminate if Licensee
-fails to comply with any of the terms and conditions hereof. In such event,
-Licensee must destroy all copies of the Software and all of its component
-parts.
-
-4.2. Effect Of Termination. Upon any termination of this Agreement, the
-rights and licenses granted to Licensee under this Agreement shall immediately
-terminate.
-
-4.3. Survival. The rights and obligations under this Agreement which by
-their nature should survive termination will remain in effect after expiration
-or termination of this Agreement.
-
-5. CONFIDENTIALITY
-
-5.1. Obligations. Licensee acknowledges and agrees that any documentation
-relating to the Software, and any other information (if such other information
-is identified as confidential or should be recognized as confidential under the
-circumstances) provided to Licensee by Broadcom hereunder (collectively,
-“Confidential Information”) constitute the confidential and proprietary
-information of Broadcom, and that Licensee’s protection thereof is an essential
-condition to Licensee’s use and possession of the Software. Licensee shall
-retain all Confidential Information in strict confidence and not disclose it to
-any third party or use it in any way except under a written agreement with
-terms and conditions at least as protective as the terms of this Section.
-Licensee will exercise at least the same amount of diligence in preserving the
-secrecy of the Confidential Information as it uses in preserving the secrecy of
-its own most valuable confidential information, but in no event less than
-reasonable diligence. Information shall not be considered Confidential
-Information if and to the extent that it: (i) was in the public domain at the
-time it was disclosed or has entered the public domain through no fault of
-Licensee; (ii) was known to Licensee, without restriction, at the time of
-disclosure as proven by the files of Licensee in existence at the time of
-disclosure; or (iii) becomes known to Licensee, without restriction, from a
-source other than Broadcom without breach of this Agreement by Licensee and
-otherwise not in violation of Broadcom’s rights.
-
-5.2. Return of Confidential Information. Notwithstanding the foregoing, all
-documents and other tangible objects containing or representing Broadcom
-Confidential Information and all copies thereof which are in the possession of
-Licensee shall be and remain the property of Broadcom, and shall be promptly
-returned to Broadcom upon written request by Broadcom or upon termination of
-this Agreement.
-
-6. LIMITATION OF LIABILITY TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO
-EVENT SHALL BROADCOM OR ANY OF BROADCOM’S LICENSORS HAVE ANY LIABILITY FOR ANY
-INDIRECT, INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON
-ANY THEORY OF LIABILITY, WHETHER FOR BREACH OF CONTRACT, TORT (INCLUDING
-NEGLIGENCE) OR OTHERWISE, ARISING OUT OF THIS AGREEMENT, INCLUDING BUT NOT
-LIMITED TO LOSS OF PROFITS, EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE
-POSSIBILITY OF SUCH DAMAGES. IN NO EVENT WILL BROADCOM’S LIABILITY WHETHER IN
-CONTRACT, TORT (INCLUDING NEGLIGENCE), OR OTHERWISE, EXCEED THE AMOUNT PAID BY
-LICENSEE FOR SOFTWARE UNDER THIS AGREEMENT. THESE LIMITATIONS SHALL APPLY
-NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY.
-
-7. MISCELLANEOUS
-
-7.1. Export Regulations. YOU UNDERSTAND AND AGREE THAT THE SOFTWARE IS
+The accompanying software in binary code form (“Software”), is licensed to you,
+or, if you are accepting on behalf of an entity, the entity and its affiliates
+exercising rights hereunder (“Licensee”) subject to the terms of this software
+license agreement (“Agreement”), unless Licensee and Broadcom Corporation
+(“Broadcom”) execute a separate written software license agreement governing
+use of the Software. ANY USE, REPRODUCTION, OR DISTRIBUTION OF THE SOFTWARE
+CONSTITUTES LICENSEE’S ACCEPTANCE OF THIS AGREEMENT.
+
+1. License. Subject to the terms and conditions of this Agreement,
+Broadcom hereby grants to Licensee a limited, non-exclusive, non-transferable,
+royalty-free license: (i) to use and integrate the Software with any other
+software; and (ii) to reproduce and distribute the Software complete,
+unmodified, and as provided by Broadcom, solely for use with Broadcom
+proprietary integrated circuit product(s) sold by Broadcom with which the
+Software was designed to be used, or their successors.
+
+2. Restrictions. Licensee shall distribute Software with a copy of this
+Agreement. Licensee shall not remove, efface or obscure any copyright or
+trademark notices from the Software. Reproductions of the Broadcom copyright
+notice shall be included with each copy of the Software, except where such
+Software is embedded in a manner not readily accessible to the end user.
+Licensee shall not: (i) use, license, sell or otherwise distribute the Software
+except as provided in this Agreement; (ii) attempt to modify in any way,
+reverse engineer, decompile or disassemble any portion of the Software; or
+(iii) use the Software or other material in violation of any applicable law or
+regulation, including but not limited to any regulatory agency. This Agreement
+shall automatically terminate upon Licensee’s failure to comply with any of the
+terms of this Agreement. In such event, Licensee will destroy all copies of the
+Software and its component parts.
+
+3. Ownership. The Software is licensed and not sold. Title to and
+ownership of the Software, including all intellectual property rights thereto,
+and any portion thereof remain with Broadcom or its licensors. Licensee hereby
+covenants that it will not assert any claim that the Software created by or for
+Broadcom infringe any intellectual property right owned or controlled by
+Licensee.
+
+4. Disclaimer. THE SOFTWARE IS OFFERED “AS IS,” AND BROADCOM PROVIDES AND
+GRANTS AND LICENSEE RECEIVES NO SUPPORT AND NO WARRANTIES OF ANY KIND, EXPRESS
+OR IMPLIED, BY STATUTE, COMMUNICATION OR CONDUCT WITH LICENSEE, OR OTHERWISE.
+BROADCOM SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A SPECIFIC PURPOSE, OR NONINFRINGEMENT CONCERNING THE SOFTWARE OR
+ANY UPGRADES TO OR DOCUMENTATION FOR THE SOFTWARE. WITHOUT LIMITATION OF THE
+ABOVE, BROADCOM GRANTS NO WARRANTY THAT THE SOFTWARE IS ERROR-FREE OR WILL
+OPERATE WITHOUT INTERRUPTION, AND GRANTS NO WARRANTY REGARDING ITS USE OR THE
+RESULTS THEREFROM INCLUDING, WITHOUT LIMITATION, ITS CORRECTNESS, ACCURACY, OR
+RELIABILITY. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM
+OR ANY OF ITS LICENSORS HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT,
+INCIDENTAL, SPECIAL, OR CONSEQUENTIAL DAMAGES, HOWEVER CAUSED AND ON ANY THEORY
+OF LIABILITY, WHETHER FOR BREACH OF CONTRACT, TORT (INCLUDING NEGLIGENCE) OR
+OTHERWISE, ARISING OUT OF THIS AGREEMENT OR USE, REPRODUCTION, OR DISTRIBUTION
+OF THE SOFTWARE, INCLUDING BUT NOT LIMITED TO LOSS OF DATA AND LOSS OF PROFITS,
+EVEN IF SUCH PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. THESE
+LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY
+LIMITED REMEDY.
+
+5. Export Laws. LICENSEE UNDERSTANDS AND AGREES THAT THE SOFTWARE IS
SUBJECT TO UNITED STATES AND OTHER APPLICABLE EXPORT-RELATED LAWS AND
-REGULATIONS AND THAT YOU MAY NOT EXPORT, RE-EXPORT OR TRANSFER THE SOFTWARE OR
-ANY DIRECT PRODUCT OF THE SOFTWARE EXCEPT AS PERMITTED UNDER THOSE LAWS.
-WITHOUT LIMITING THE FOREGOING, EXPORT, RE-EXPORT OR TRANSFER OF THE SOFTWARE
-TO CUBA, IRAN, NORTH KOREA, SUDAN AND SYRIA IS PROHIBITED.
-
-7.2 Assignment. This Agreement shall be binding upon and inure to the
-benefit of the parties and their respective successors and assigns, provided,
-however that Licensee may not assign this Agreement or any rights or obligation
-hereunder, directly or indirectly, by operation of law or otherwise, without
-the prior written consent of Broadcom, and any such attempted assignment shall
-be void. Notwithstanding the foregoing, Licensee may assign this Agreement to
-a successor to all or substantially all of its business or assets to which this
-Agreement relates that is not a competitor of Broadcom.
-
-7.3. Governing Law; Venue. This Agreement shall be governed by the laws of
-California without regard to any conflict-of-laws rules, and the United Nations
-Convention on Contracts for the International Sale of Goods is hereby excluded.
-The sole jurisdiction and venue for actions related to the subject matter
-hereof shall be the state and federal courts located in the County of Orange,
-California, and both parties hereby consent to such jurisdiction and venue.
-
-7.4. Severability. All terms and provisions of this Agreement shall, if
-possible, be construed in a manner which makes them valid, but in the event any
-term or provision of this Agreement is found by a court of competent
-jurisdiction to be illegal or unenforceable, the validity or enforceability of
-the remainder of this Agreement shall not be affected if the illegal or
-unenforceable provision does not materially affect the intent of this
-Agreement. If the illegal or unenforceable provision materially affects the
-intent of the parties to this Agreement, this Agreement shall become
-terminated.
-
-7.5. Equitable Relief. Licensee hereby acknowledges that its breach of this
-Agreement would cause irreparable harm and significant injury to Broadcom that
-may be difficult to ascertain and that a remedy at law would be inadequate.
-Accordingly, Licensee agrees that Broadcom shall have the right to seek and
-obtain immediate injunctive relief to enforce obligations under the Agreement
-in addition to any other rights and remedies it may have.
-
-7.6. Waiver. The waiver of, or failure to enforce, any breach or default
-hereunder shall not constitute the waiver of any other or subsequent breach or
-default.
-
-7.7. Entire Agreement. This Agreement sets forth the entire Agreement
-between the parties and supersedes any and all prior proposals, agreements and
-representations between them, whether written or oral concerning the Software.
-This Agreement may be changed only by mutual agreement of the parties in
-writing.
+REGULATIONS AND THAT LICENSEE MAY NOT EXPORT, RE-EXPORT OR TRANSFER THE
+SOFTWARE OR ANY DIRECT PRODUCT OF THE SOFTWARE EXCEPT AS PERMITTED UNDER THOSE
+LAWS. WITHOUT LIMITING THE FOREGOING, EXPORT, RE-EXPORT, OR TRANSFER OF THE
+SOFTWARE TO CUBA, IRAN, NORTH KOREA, SUDAN, AND SYRIA IS PROHIBITED.

--
1.7.1



2011-04-21 18:30:41

by Henry Ptasinski

[permalink] [raw]
Subject: [PATCH 0/3] linux-firmware: brcm firmware fixes

Resending this series, as patch 2 wasn't complete (older version of git only
caught 1 of 4 file renames), causing patch 3 to fail to apply.

- Henry

Henry Ptasinski (3):
linux-firmware: Simplified license file for brcm firmware
linux-firmware: Removed codeversion from brcm firmware filenames.
linux-firmware: updated firmware for BCM4313, BCM43224, and BCM43225
chips

LICENCE.broadcom_bcm43xx | 270 +++++---------------
WHENCE | 12 +-
...llmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} | Bin 269595 -> 269595 bytes
...llmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} | 0
brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} | Bin 97376 -> 97344 bytes
brcm/bcm43xx_hdr-0-610-809-0.fw | Bin 180 -> 0 bytes
brcm/bcm43xx_hdr-0.fw | Bin 0 -> 180 bytes
7 files changed, 71 insertions(+), 211 deletions(-)
rewrite LICENCE.broadcom_bcm43xx (99%)
rename brcm/{bcm4329-fullmac-4-218-248-5.bin => bcm4329-fullmac-4.bin} (100%)
rename brcm/{bcm4329-fullmac-4-218-248-5.txt => bcm4329-fullmac-4.txt} (100%)
rename brcm/{bcm43xx-0-610-809-0.fw => bcm43xx-0.fw} (74%)
delete mode 100644 brcm/bcm43xx_hdr-0-610-809-0.fw
create mode 100644 brcm/bcm43xx_hdr-0.fw

--
1.7.4.5