All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ricard Wanderlof <ricard.wanderlof@axis.com>
To: David Henningsson <david.henningsson@canonical.com>
Cc: Takashi Iwai <tiwai@suse.de>,
	Clemens Ladisch <clemens@ladisch.de>,
	"alsa-devel@alsa-project.org" <alsa-devel@alsa-project.org>,
	"Nikita N." <nikitan@operamail.com>
Subject: Re: Speaker burnout
Date: Tue, 31 Mar 2015 13:31:17 +0200	[thread overview]
Message-ID: <alpine.DEB.2.02.1503311322220.13892@lnxricardw1.se.axis.com> (raw)
In-Reply-To: <551A7A4D.203@canonical.com>


On Tue, 31 Mar 2015, David Henningsson wrote:

> On 2015-03-31 12:06, Nikita N. wrote:
> >> If you have any concrete examples (alsa-info please!) of speakers that
> >> can be burned out, and you know a maximum speaker volume where this
> > As we said, that is not our bug, we are not audio experts, nor any of us
> > is interested in audio matters.
> 
> Here's my suggestion how to move forward on this:
> 
>   1) Gather consensus that limit the maximum volume on internal speakers 
> is the right way forward. Takashi, Clemens, anyone against that strategy?
> 
>   2) From the person with the hardware, we will need alsa-info ( 
> https://wiki.ubuntu.com/Audio/AlsaInfo ), and also the max volume where 
> this does not happen. Is -6 dB good enough? -12 dB? I don't know - this 
> is something someone with the hardware must tell us, it cannot simply be 
> guessed.
> 
>   3) I or someone else can write a kernel patch that limits the maximum 
> volume of the speakers to the amount deducted from point 2). Considering 
> that we're actually dealing with hardware breakage, this should be sent 
> to stable as well. Then no userspace application can set the volume 
> higher than our limit.

While we could technically limit the output level in a driver, the output 
level at which the speakers get damaged must surely depend not only on the 
codec but also on the particular analog output stage driving the speakers 
(assuming it's not built into the codec), the speakers themselves, as well 
as any other hardware on the board, for instance coupling capacitors, or 
potential overload protection circuitry, most of which are components 
which we cannot identify in the driver.

My point is that unless this is a problem with a very specific hardware, 
there's no way the software can actually know what a "dangerous" level 
would be, and hence we cannot limit it in software. What is a "dangerous" 
level in one setup could be an unusably low level in another setup, where 
both setups look identical from a driver point of view.

I'm thinking that any limits must be dependent on a particular hardware 
setup, which means in order to be successful, we would have to extract 
some sort of model name of the system we're actually running on, to be 
compared against some sort of graylist. With the proliferation of model 
names of PC:s, such a list would be sketchy at best.

/Ricard
-- 
Ricard Wolf Wanderlöf                           ricardw(at)axis.com
Axis Communications AB, Lund, Sweden            www.axis.com
Phone +46 46 272 2016                           Fax +46 46 13 61 30

  parent reply	other threads:[~2015-03-31 11:31 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-03-28 14:03 bug Nikita N.
2015-03-30  7:19 ` bug Clemens Ladisch
2015-03-30 10:27   ` bug Nikita N.
2015-03-30 11:13     ` bug Clemens Ladisch
2015-03-30 14:37       ` bug Nikita N.
2015-03-31  7:18         ` bug Eliot Blennerhassett
2015-03-31  8:19           ` bug Nikita N.
2015-03-31  8:38             ` bug Clemens Ladisch
2015-03-31  9:05               ` bug Nikita N.
2015-03-31 12:42                 ` bug Clemens Ladisch
2015-03-31  8:41             ` potential speaker burnout Eliot Blennerhassett
2015-03-31  8:24         ` bug Ricard Wanderlof
2015-03-31  8:56           ` bug Nikita N.
2015-03-31  9:14             ` bug Ricard Wanderlof
2015-03-31 10:26               ` bug Maarten de Boer
2015-03-31 10:49                 ` bug Nikita N.
2015-03-31 11:05                   ` bug Maarten de Boer
2015-03-31 11:44                   ` bug Ricard Wanderlof
2015-03-31  8:54         ` bug Eliot Blennerhassett
2015-03-31  9:34         ` Speaker burnout David Henningsson
2015-03-31 10:06           ` Nikita N.
2015-03-31 10:43             ` David Henningsson
2015-03-31 10:57               ` Alexander E. Patrakov
2015-03-31 11:23               ` Nikolay Dimitrov
2015-03-31 11:31               ` Ricard Wanderlof [this message]
2015-03-31 11:45                 ` David Henningsson
2015-03-31 13:47                   ` Torsten Schenk
2015-03-31 19:14                     ` Nikita N.
2015-04-05 16:36                       ` Takashi Iwai
2015-04-05 16:11               ` Takashi Iwai
2015-04-07  5:30               ` Eliot Blennerhassett
2015-04-07  7:09                 ` David Henningsson
2015-04-07  7:26                   ` Clemens Ladisch
2015-04-07  7:49                     ` Eliot Blennerhassett
2015-04-07 10:55                       ` David Henningsson
2015-04-07 11:29                 ` Ricard Wanderlof

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=alpine.DEB.2.02.1503311322220.13892@lnxricardw1.se.axis.com \
    --to=ricard.wanderlof@axis.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=clemens@ladisch.de \
    --cc=david.henningsson@canonical.com \
    --cc=nikitan@operamail.com \
    --cc=tiwai@suse.de \
    /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.