Kernel Bug Tracker – Bug 10750
CS46xx should use load_firmware (was sound driver carries no license)
Last modified: 2014-10-02 06:36:21 UTC
It has been found that CS46xx driver carries a firmware blob that does not have license, what for our concerns turns it undistributable.
Some members of our team have already reported this to Cirrus Logic, no answer has been recieved yet.
licensing issues like these really suck :(
anyway - i`m adding some information about licensing i found on their site.
i think there`s not much, which can be done here besides asking them until geting a reply.....
Specific Notice Regarding Software Available on This Site
Any software that is made available to download from this site ("Software") may include a copyright notice. Use of such Software is governed by the terms of the license agreement that accompanies or is included with this Software ("License Agreement"). A user will be unable to install any Software before first agreeing to the License Agreement terms. Any reproduction or redistribution of the Software not in accordance with the License Agreement is expressly prohibited.
WITHOUT LIMITING THE FOREGOING, COPYING OR REPRODUCTION OF THE SOFTWARE TO ANY OTHER LOCATION FOR FURTHER REPRODUCTION OR REDISTRIBUTION IS PROHIBITED, UNLESS SUCH REPRODUCTION OR REDISTRIBUTION IS EXPRESSLY PERMITTED BY A LICENSE AGREEMENT ACCOMPANYING SUCH SOFTWARE. FOR YOUR CONVENIENCE, WE MAY MAKE AVAILABLE ON THIS SITE OR IN ITS SOFTWARE PRODUCTS, TOOLS AND UTILITIES FOR USE OR DOWNLOAD. WE DO NOT MAKE ANY ASSURANCES WITH REGARD TO THE ACCURACY OF THE RESULTS OR OUTPUT FROM THE USE OF ANY SUCH SOFTWARE PRODUCTS, TOOLS AND UTILITIES.
example license for other chip:
By clicking "Agree" below, you agree to be bound by the following terms and conditions in regards to the software code you will be permitted to download (the "Code"):
The Code is the property of Cirrus Logic Inc. and/or its suppliers and it is licensed not sold. Cirrus Logic Inc. hereby grants you a non-exclusive, worldwide, limited right and license to use, market, and demonstrate the Code solely for use on or in connection with a Cirrus Logic product.
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND AND CIRRUS LOGIC HEREBY DISCLAIMS ALL WARRANTIES, EXPRESS, IMPLIED, AND STATUTORY, IN CONNECTION WITH THE SOFTWARE, INCLUDING WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT OF THIRD PARTY RIGHTS, AND FITNESS FOR A PARTICULAR PURPOSE.
IN NO EVENT WILL CIRRUS LOGIC BE LIABLE FOR ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES ARISING OF THE USE OR INABILITY TO USE THIS CODE, INCLUDING WITHOUT LIMITATION, DAMAGES OR COSTS RELATING TO THE LOSS OF PROFITS, BUSINESS, GOODWILL, DATA OR COMPUTER PROGRAMS, EVEN IF ADVISED OF THE POSSIBLITY OF SUCH DAMAGES. IN NO EVENT WILL CIRRUS LOGIC, ITS SUPPLIERS' OR LICENSORS' LIABILITY EXCEED THE AMOUNT PAID BY YOU FOR THE CODE. BECAUSE SOME JURISIDICTIONS DO NOT ALLOW THE EXCLUSION OF OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES, THE ABOVE LIMITATION MAY NOT APPLY TO YOU.
The laws of the State of Texas govern this Agreement, without reference to conflicts of law principles. The application of the United Nations Convention on Contracts for the International Sale of Goods is expressly excluded.
The firmware and original driver code were submitted by Cirrus Logic directly to the kernel so they clearly intended it to be redistibutable.
Alan, I'm afraid Legal stuff does not relay on that kind of assumptions, just the contrary.
If it has no license, it's assumed that it's copyrighted and not free. I'm afraid it's being illegaly distributed but everyone :-(
Look up 'Estoppel'
Firmware needs moving into using the firmware loader however.
I'm working on a patch to convert to firmware loader. The patch is ready, and confirmed to work with a real sound card. But it's too late for 3.13, so this will be "fixed" in 3.14.
The patch merged to sound git tree for-next branch.
I am not sure I should be bothering the tracker with this however a recent kernel update on my Arch install has killed sound on my CS46xx sound card and it seems related?
uname -a > 3.14.2-1 x86_64
[11.649096] firmware load error [cwc4630]
[11.650279] snd_cs46xx: probe of 0000:01:06.0 failed with error -2
The full text of my post on the Arch forums is here ;
I have also contacted the ALSA team on this issue.
(In reply to Graham Bentley from comment #7)
> I am not sure I should be bothering the tracker with this however a recent
> kernel update on my Arch install has killed sound on my CS46xx sound card
> and it seems related?
> uname -a > 3.14.2-1 x86_64
> dmesg >
> [11.649096] firmware load error [cwc4630]
> [11.650279] snd_cs46xx: probe of 0000:01:06.0 failed with error -2
Did you install firmware files? They are available in alsa-firmware git tree:
> The full text of my post on the Arch forums is here ;
> I have also contacted the ALSA team on this issue.
I don't remember it, so your inquiry didn't reach properly, unfortunately.
If you see still errors even after installing firmware files, open a new bug report on kernel bugzilla.
> Did you install firmware files?
Lake of experience here precludes me doing so. Any tips?
Have D/L & extracted 'alsa-firmware-0db2181' ~ how to make?
configure, make, make install :)
The only needed files are in cs46xx directory, and the files are there even without make. Go cs46xx directory, and install the files there like:
cp ba1 cwc4630 cwcasync cwcbinhack cwcdma cwcsnoop /lib/firmware/cs46xx/
Thanks - all working :)
(In reply to Takashi Iwai from comment #10)
> configure, make, make install :)
> The only needed files are in cs46xx directory, and the files are there even
> without make. Go cs46xx directory, and install the files there like:
> mkdir /lib/firmware/cs46xx
> cp ba1 cwc4630 cwcasync cwcbinhack cwcdma cwcsnoop /lib/firmware/cs46xx/
I did as you said with kernel 3.14 from debain. Playback works well, but I am unable to use mic in. Though when I used this card with Linux 3.2.0 configured as
discribed here https://wiki.debian.org/snd-cs46xx, mic input worked well.
I am not sure it is firmware issue, but it worked then and does not work now.
> I did as you said with kernel 3.14 from debain. Playback works well, but I
> am unable to use mic in. Though when I used this card with Linux 3.2.0
> configured as
> discribed here https://wiki.debian.org/snd-cs46xx, mic input worked well.
> I am not sure it is firmware issue, but it worked then and does not work now.
post the output of alsa-info.sh
how did you capture?
are you runng pulseaudio in 3.14?
> post the output of alsa-info.sh
> how did you capture?
> are you runng pulseaudio in 3.14?
no. I've removed it and put alsa instead
Moreover. There is one more interesting thing: I've obtained another card with cs chip after reporting this bug. This card is cs4281. And with cs4281 mic works well with kernel 3.14 (thought playback doe not work) I will also provide alsa-info for cs4281 just in case it might be useful. These all makes me O_o