At Wed, 30 Jan 2013 09:25:27 +0100, Mika Fischer wrote: > > On Wed, Jan 30, 2013 at 8:40 AM, Clemens Ladisch > <cladisch@xxxxxxxxxxxxxx> wrote: > >> I'd also be happy with a config file hack, that somehow scales the > >> volume down and adjusts the reported gain levels so that the volume > >> controls in pulseaudio make sense again. > > > > This is possible, but only if we know what values to use. > > > > What are the smallest steps you can change with amixer? > > The smallest increments I could produce with amixer are: > Playback 0 [0%] [-37.00dB] > Playback 1 [3%] [-36.00dB] > Playback 2 [5%] [-35.00dB] > Playback 3 [8%] [-34.00dB] > Playback 4 [11%] [-33.00dB] > Playback 5 [14%] [-32.00dB] > > cget outout is: > numid=2,iface=MIXER,name='PCM Playback Volume' > ; type=INTEGER,access=rw---R--,values=2,min=0,max=37,step=0 > : values=5,5 > | dBminmax-min=42949635.96dB,max=0.00dB Oh then this must be a bug in TLV handling in usb-audio driver. What shows with the patch below? Takashi --- diff --git a/sound/usb/mixer.c b/sound/usb/mixer.c index e90daf8..ab8cbf7 100644 --- a/sound/usb/mixer.c +++ b/sound/usb/mixer.c @@ -986,6 +986,7 @@ static int get_min_max_with_quirks(struct usb_mixer_elem_info *cval, */ cval->dBmin = (convert_signed_value(cval, cval->min) * 100) / 256; cval->dBmax = (convert_signed_value(cval, cval->max) * 100) / 256; + printk("XXX dB=%d/%d, raw=%d/%d res=%d\n", cval->dBmin, cval->dBmax, cval->min, cval->max, cval->res); if (cval->dBmin > cval->dBmax) { /* something is wrong; assume it's either from/to 0dB */ if (cval->dBmin < 0) ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_jan _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user