chromebox usb sound not working except from speaker-test (command line)

943 views
Skip to first unread message

Trever

unread,
Jan 9, 2013, 3:01:59 AM1/9/13
to chromium-...@chromium.org
I have a stock Google I/O chromebox (i5).  I have developer mode enabled but turned on verified boot.  In other words, no modifications to stock but I do have a shell.  So a stock Chrome OS system, but it does allow me to discover that low and behold, the kernel etc. can drive my USB Edirol UA-25 DAC.  For about a year now I have thought it doesn't work.  But it does, as far as the kernel is concerned.  How do I know?

This works perfectly from a shell (as chronos and root):
speaker-test -c2 -D plughw:UA25 -twav

Meaning, I can hear the test lady saying "front left" and "front right", in the correct channels, coming through the Edirol to the powered monitor hooked up to them.  Major high fidelty, pro quality sound.  Wow.  Fun though this is, listening to her say "front X" over and over again gets old fast, so I'd like to be able to get sound in general working through the Edirol (Google Play tunes, etc.).  

To be clear:  It's a USB connected Edirol UA-25 (with speakers connected to it in turn).  The setup works great on my mac.  Nothing wrong on the audio equipment side of things.

Have tried rebooting with nothing plugged into the analog jack for headphones.  

When the USB sound Edirol is plugged *in*, here's what happens (summary):
- The chromebox's internal speaker no longer works when the Edirol is plugged in (USB).  
- But just to baffle the honor students, plugging in headphones (after testing, after rebooting without headphones plugged in) to the front analog audio jack on the chromebox does work- you can listen to headphones that way, for eg.

Those two data points are bizarre enough.  But there's more:
- Movies won't play in the file viewer- they start and almost instantly stop (as if blocked)
- Same thing (blockage) with Google Play
- At no point can I get sound out the speakers through the Edirol (except from the command line via speaker-test).

What is going on here?  I know there was a problem with USB sound support in Chrome OS but I thought it was fixed.  Certainly there is no problem as far as the kernel is concerned- ALS system drives the Edirol UA-25 beautifully.

I would like the USB sound to work from the Chrome browser, not just the command line (which does me no good).

I have tried going into Google Chat settings, but what magic am I missing here?
speaker-test -c2 -D plughw:UA25 -twav
speaker-test -c2 -D plughw:UA25 -twav
speaker-test -c2 -D plughw:UA25 -twav

Trever

unread,
Jan 9, 2013, 11:13:51 PM1/9/13
to chromium-...@chromium.org
Anyone?

Is USB sound only routing from chat to USB?

Sonny Rao

unread,
Jan 9, 2013, 11:50:43 PM1/9/13
to trr...@gmail.com, Chromium OS discuss, dgr...@chromium.org
+dgreid
> --
> Chromium OS discuss mailing list: chromium-...@chromium.org
> View archives, change email options, or unsubscribe:
> http://groups.google.com/a/chromium.org/group/chromium-os-discuss?hl=en

Mike Frysinger

unread,
Jan 10, 2013, 12:11:06 AM1/10/13
to Trever Nightingale, Chromium OS discuss, dgr...@chromium.org
we don't use pulseaudio ... instead we have cras (the ChromiumOS audio
server) which manages alsa. it has static alsa config files for each
device. Dylan would of course know more (or correct anything wrong
i've said).

i don't think we have any public documentation on this. be nice if we
could convince Dylan to move the ChromeOS Audio Server (CRAS) design
doc to dev.chromium.org :).

check out src/third_party/adhd/ in the mean time.
-mike

Dylan Reid

unread,
Jan 10, 2013, 1:40:56 AM1/10/13
to Mike Frysinger, Trever Nightingale, Chromium OS discuss
On Wed, Jan 9, 2013 at 9:11 PM, Mike Frysinger <vap...@chromium.org> wrote:
> we don't use pulseaudio ... instead we have cras (the ChromiumOS audio
> server) which manages alsa. it has static alsa config files for each
> device. Dylan would of course know more (or correct anything wrong
> i've said).

There are some static configs for built in hardware (to set volume
levels mainly), but USB devices are discovered dynamically and should
be routed to automatically. That does seem to be happening, as it is
properly over-ridden when headphones are attached.

>
> i don't think we have any public documentation on this. be nice if we
> could convince Dylan to move the ChromeOS Audio Server (CRAS) design
> doc to dev.chromium.org :).

Just find me an extra 5 hours to get it up to date and publish it =)
Since you're in dev mode, I can ask for some more info.

in this state (USB dev plugged, internal speaker muted, no headphones
attached): the output of the following commands:

aplay -l
amixer -c0 contents
cras_test_client --dump_server_info

Thanks for testing it out.

Dylan

Trever

unread,
Jan 10, 2013, 2:23:12 AM1/10/13
to chromium-...@chromium.org
Hi Dylan,

Can you get my DAC fixed a channel update soon?  Especially then, I can test all you want.  :-)

I assume "internal speaker muted" means the speaker icon in the "clock menu" in the lower RHS of the desktop GUI is crossed out (and the bar to the left of the volume slider is selected).  Strangely (to my way of thinking), when I do mute the master volume like that I can still hear the lady doing speaker test (never noticed that before).

Here's the output per your request (and attached): 

localhost ~ # aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: Cirrus Analog [Cirrus Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: UA25 [UA-25], device 0: USB Audio [USB Audio]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
localhost ~ # amixer -c0 contents
numid=7,iface=CARD,name='Front Headphone Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=9,iface=CARD,name='HDMI/DP,pcm=3 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=15,iface=CARD,name='HDMI/DP,pcm=7 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=21,iface=CARD,name='HDMI/DP,pcm=8 Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=8,iface=CARD,name='Mic Jack'
  ; type=BOOLEAN,access=r-------,values=1
  : values=off
numid=1,iface=MIXER,name='Master Playback Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=2,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=115,step=0
  : values=104,104
  | dBscale-min=-57.50dB,step=0.50dB,mute=0
numid=6,iface=MIXER,name='Mic Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=3,step=0
  : values=2,2
  | dBscale-min=0.00dB,step=10.00dB,mute=0
numid=4,iface=MIXER,name='Capture Switch'
  ; type=BOOLEAN,access=rw------,values=2
  : values=on,on
numid=5,iface=MIXER,name='Capture Volume'
  ; type=INTEGER,access=rw---R--,values=2,min=0,max=63,step=0
  : values=63,63
  | dBscale-min=-51.00dB,step=1.00dB,mute=0
numid=10,iface=MIXER,name='IEC958 Playback Con Mask'
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=16,iface=MIXER,name='IEC958 Playback Con Mask',index=1
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=22,iface=MIXER,name='IEC958 Playback Con Mask',index=2
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0xff AES2=0x00 AES3=0x00]
numid=11,iface=MIXER,name='IEC958 Playback Pro Mask'
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=17,iface=MIXER,name='IEC958 Playback Pro Mask',index=1
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=23,iface=MIXER,name='IEC958 Playback Pro Mask',index=2
  ; type=IEC958,access=r-------,values=1
  : values=[AES0=0x0f AES1=0x00 AES2=0x00 AES3=0x00]
numid=12,iface=MIXER,name='IEC958 Playback Default'
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=18,iface=MIXER,name='IEC958 Playback Default',index=1
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=24,iface=MIXER,name='IEC958 Playback Default',index=2
  ; type=IEC958,access=rw------,values=1
  : values=[AES0=0x04 AES1=0x00 AES2=0x00 AES3=0x00]
numid=13,iface=MIXER,name='IEC958 Playback Switch'
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=19,iface=MIXER,name='IEC958 Playback Switch',index=1
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=25,iface=MIXER,name='IEC958 Playback Switch',index=2
  ; type=BOOLEAN,access=rw------,values=1
  : values=on
numid=27,iface=MIXER,name='Digital Capture Volume'
  ; type=INTEGER,access=rw---RW-,values=2,min=0,max=120,step=0
  : values=60,60
  | dBscale-min=-30.00dB,step=0.50dB,mute=0
numid=3,iface=MIXER,name='Speaker Boost Playback Volume'
  ; type=INTEGER,access=rw---R--,values=1,min=0,max=3,step=0
  : values=2
  | dBscale-min=9.00dB,step=3.00dB,mute=0
numid=14,iface=PCM,name='ELD',device=3
  ; type=BYTES,access=r-------,values=0
  : values=
numid=20,iface=PCM,name='ELD',device=7
  ; type=BYTES,access=r-------,values=0
  : values=
numid=26,iface=PCM,name='ELD',device=8
  ; type=BYTES,access=r-------,values=0
  : values=
localhost ~ # cras_test_client --dump_server_info
System Volume (0-100): 62 (Muted)
Capture Gain (-50.00 - 12.00): -0.40dB 
Output Devices:
        ID      Priority        Plugged         Name
        7       50              yes             UA-25: USB Audio:1,0
        6       49              no              HDA Intel PCH: HDMI 2:0,8
        5       49              no              HDA Intel PCH: HDMI 1:0,7
        4       49              no              HDA Intel PCH: HDMI 0:0,3
        2       50              no              HDA Intel PCH: Cirrus Analog:0,0
        0       0               no              Silent playback device.
Input Devices:
        ID      Priority        Plugged         Name
        3       50              no              HDA Intel PCH: Cirrus Analog:0,0
        1       0               no              Silent record device.
Attached clients:
        ID      pid     uid
        0       1187    1000
        1       737     228
        11      4794    0
Num active streams: 0
Last audio active time: 144, 687944897
localhost ~ #
stumpy-edirol-UA-25-debug.txt

Dylan Reid

unread,
Jan 10, 2013, 2:00:43 PM1/10/13
to Trever Nightingale, Chromium OS discuss
Thanks Trevor,

I'll try and find one to test with, they don't seem to make them
anymore. By internal speaker muted I meant that it wasn't making noise
because the USB device was plugged in. Can you re-try at full volume
and un-muted in software. Also append amicer -c1 contents as well,
since the USB card is coming up as card 1.

Meanwhile you can try playing a youtube video, making sure the system
isn't muted, and then running 'alsamixer -c1' from the console. See
if there are any controls that are muted or volume levels that aren't
set high enough.

Also, have you tried using the Edirol in both "normal" and "advanced" modes?

Mike Frysinger

unread,
Jan 10, 2013, 2:02:45 PM1/10/13
to Dylan Reid, Trever Nightingale, Chromium OS discuss
On Thu, Jan 10, 2013 at 1:40 AM, Dylan Reid <dgr...@chromium.org> wrote:
> On Wed, Jan 9, 2013 at 9:11 PM, Mike Frysinger <vap...@chromium.org> wrote:
>> i don't think we have any public documentation on this. be nice if we
>> could convince Dylan to move the ChromeOS Audio Server (CRAS) design
>> doc to dev.chromium.org :).
>
> Just find me an extra 5 hours to get it up to date and publish it =)

i didn't see anything "secret" in there when i read it, but maybe i
missed something. if the only thing left is to copy & paste it into
dev.chromium.org (and do formatting), i can take care of that.
-mike

Dylan Reid

unread,
Jan 10, 2013, 2:06:51 PM1/10/13
to Mike Frysinger, Trever Nightingale, Chromium OS discuss
I'm sheriff tomorrow so I might be able to find enough time if the
tree is well behaved. I need to fix all the lies it tells before
publishing it.

> -mike

Trever

unread,
Jan 11, 2013, 1:48:34 AM1/11/13
to chromium-...@chromium.org, Trever Nightingale, Dylan Reid
Face-to-palm.  

It works- including youtube, play, movies in file viewer- so I assume everything.  Edirol needs to be in normal mode (not advanced).  I *did* test this.  A year ago.  Post your USB audio fixes, I forgot this button (hidden behind cables here).  Sorry.  And thanks for fixing me.  When I saw your suggestion this morning and re-read the manual, I had a strong hunch that was it.

Caveats:
- Going through cras, why does advanced mode not work and could it be made to work?  After all speaker-test works in advanced mode.  I will put documentation on the wiki about this but if it can be made to just work regardless of mode (and I believe there are many DACs out there like this), would be less support hassles for you all.

- What's going to happen when I hook up a Logitech USB camera with built in mike?  Will sound out go to the Edirol, but sound in come through the mike on the camera- or I need a mike for the Edirol and/or have to disconnect the Edirol if I want to use the camera mike?  How does this "automagic" cras work and prioritize?  Will the user ever have control?  I realize Stumpy is supposed to be an idiot box, but just look at what this idiot (me) did...  stumpy does have 6 ports, even without a hub!  I can imagine a lot of mayhem and people are interested in these as media boxes with all the attending connections to home theater equipment.  I hope simplicity arguments always win though- it's what I like about Chrome OS- so I won't advocate adding unnecessary settings nobs.

- I'll put in another plea:  please do fix the lies in the cras documentation and post it.

Per your request, output of alsamixer attached.  I only found amixer and there was NO output, as shown here:

localhost ~ # amixer --card 1
localhost ~ # 

I'm happy to continue to testing if you think we can get advanced mode working.


Trever
Screenshot 2013-01-10 at 10.37.39 PM.png

Trever

unread,
Jan 11, 2013, 2:08:20 AM1/11/13
to chromium-...@chromium.org, Trever Nightingale, Dylan Reid
I should also emphasize that in advanced mode, the user can not play back movies and Google play.  So in advanced mode, it's not just an absence of sound- things break.

Dylan Reid

unread,
Jan 11, 2013, 12:16:41 PM1/11/13
to Trever, Chromium OS discuss
On Thu, Jan 10, 2013 at 10:48 PM, Trever <trr...@gmail.com> wrote:
> Face-to-palm.
>
> It works- including youtube, play, movies in file viewer- so I assume
> everything. Edirol needs to be in normal mode (not advanced). I *did* test
> this. A year ago. Post your USB audio fixes, I forgot this button (hidden
> behind cables here). Sorry. And thanks for fixing me. When I saw your
> suggestion this morning and re-read the manual, I had a strong hunch that
> was it.

Cool, that makes sense.

>
> Caveats:
> - Going through cras, why does advanced mode not work and could it be made
> to work? After all speaker-test works in advanced mode. I will put
> documentation on the wiki about this but if it can be made to just work
> regardless of mode (and I believe there are many DACs out there like this),
> would be less support hassles for you all.

I own an Edirol UA-1ex, that I had never tried in advanced mode until
this morning. It also reproduces the problem. I've got something to
test with now.

>
> - What's going to happen when I hook up a Logitech USB camera with built in
> mike? Will sound out go to the Edirol, but sound in come through the mike
> on the camera- or I need a mike for the Edirol and/or have to disconnect the
> Edirol if I want to use the camera mike? How does this "automagic" cras
> work and prioritize? Will the user ever have control? I realize Stumpy is
> supposed to be an idiot box, but just look at what this idiot (me) did...
> stumpy does have 6 ports, even without a hub! I can imagine a lot of mayhem
> and people are interested in these as media boxes with all the attending
> connections to home theater equipment. I hope simplicity arguments always
> win though- it's what I like about Chrome OS- so I won't advocate adding
> unnecessary settings nobs.

The audio routing magic works with the following priority
USB Speaker/Front HP jack, DisplayPort/HDMI, built in.

The order applies independently for the microphone.

Ties are broken by routing the the device that was plugged in last.
Plug in the mic after the Edirol and it should do what you want,
although after a reboot you might have to re-plug it.

>
> - I'll put in another plea: please do fix the lies in the cras
> documentation and post it.

I'm on it, Thanks for all the help.

Dylan

Dylan Reid

unread,
Jan 11, 2013, 12:23:31 PM1/11/13
to Trever, Chromium OS discuss
On Fri, Jan 11, 2013 at 9:16 AM, Dylan Reid <dgr...@chromium.org> wrote:
> On Thu, Jan 10, 2013 at 10:48 PM, Trever <trr...@gmail.com> wrote:
>> Face-to-palm.
>>
>> It works- including youtube, play, movies in file viewer- so I assume
>> everything. Edirol needs to be in normal mode (not advanced). I *did* test
>> this. A year ago. Post your USB audio fixes, I forgot this button (hidden
>> behind cables here). Sorry. And thanks for fixing me. When I saw your
>> suggestion this morning and re-read the manual, I had a strong hunch that
>> was it.
>
> Cool, that makes sense.
>
>>
>> Caveats:
>> - Going through cras, why does advanced mode not work and could it be made
>> to work? After all speaker-test works in advanced mode. I will put
>> documentation on the wiki about this but if it can be made to just work
>> regardless of mode (and I believe there are many DACs out there like this),
>> would be less support hassles for you all.
>
> I own an Edirol UA-1ex, that I had never tried in advanced mode until
> this morning. It also reproduces the problem. I've got something to
> test with now.

Bug to track issue created here:

crosbug.com/37798

Trever

unread,
Jan 11, 2013, 2:13:11 PM1/11/13
to chromium-...@chromium.org, Trever, Dylan Reid
On Friday, January 11, 2013 9:16:41 AM UTC-8, Dylan Reid wrote:
I own an Edirol UA-1ex, that I had never tried in advanced mode until 
this morning.  It also reproduces the problem. I've got something to
test with now.

Okay sweet.  I starred the bug.

Thank you!

Trever

unread,
Jan 14, 2013, 1:43:15 AM1/14/13
to chromium-...@chromium.org, Trever, Dylan Reid
Hi Dylan,

Just noticed:

Google play and You Tube video volume levels are only effected by the GUI volume widgets in the browser window and volume on the Edirol.

The OS volume control has no effect except on or off.  So if I hit the mute key, sound mutes.  But if raise or lower the volume, the volume level is unchanged.  Same thing happens if I use the volume control in the main menu in the lower RHS of the launcher.

Is this expected behavior?

It is *surprising* behavior...

Trever

Trever

unread,
Jan 14, 2013, 1:51:04 AM1/14/13
to chromium-...@chromium.org, Trever, Dylan Reid
To clarify:

Mute key- I mean on the keyboard.  Likewise, on the keyboard, raising or lowering the volume with the correct keys has no effect on the volume level (though it will restore sound from mute state to its previous volume level before muting).

So:  keyboard controls and main volume for the OS in the launcher menu do nothing but mute and restore- they don't control volume level.

Only browser widgets and hard nob on the Edirol control the volume level.

Steve Pirk

unread,
Jan 14, 2013, 1:53:46 AM1/14/13
to Trever Nightingale, Chromium OS discuss, Dylan Reid
Trever, are you in dev mode? Can you run alsamixer in a shell and see if raising or lowering volumes in that program modify the volume at all?

Trever

unread,
Jan 14, 2013, 2:00:05 AM1/14/13
to chromium-...@chromium.org, Trever Nightingale, Dylan Reid, Steve Pirk
Yep in dev mode.  alsamixer does NOT modify the volume.

In fact going to zero in this case doesn't mute (whereas does in Chrome OS).

Dylan Reid

unread,
Jan 14, 2013, 2:05:14 PM1/14/13
to Trever, Chromium OS discuss, Steve Pirk
This is expected. The device doesn't export any volume controls,
which makes sense since the gain is done after D-to-A on the device,
there is no way for software to turn the physical volume knob :)

ChromeOS _could_ do a digital gain before passing on the samples, but
currently the OS avoids messing with the audio before it gets to the
nice USB DAC the user paid extra for.

Steve Pirk

unread,
Jan 14, 2013, 2:18:46 PM1/14/13
to Dylan Reid, Trever, Chromium OS discuss
Doh! I didn't know the device had a volume knob...  hahahaha 
kk, back to lurking...

Trever

unread,
Jan 14, 2013, 2:32:18 PM1/14/13
to chromium-...@chromium.org, Trever, Steve Pirk, Dylan Reid
Digital gain...  that doesn't sound appealing (no pun intended).

Current behavior seems preferable then!  

I'll make mention of all of this on the user supported wiki that I have write rights to, for whatever little that is worth...  maybe the next person will at least come across an explanation in their google searching.

On something like Mac OS X where there are umpteen (well, at least three!) places where the volume setting matters, and the user has to scramble around to all three of them to find obtain a reasonable volume setting.  So the current Chrome OS behavoir isn't necessarily bad behavior, even if surprising.

What I *think* I've seen though is a situation where the browser page widgets were somehow tied to the OS volume widgets; if you move the OS/keyboard volume, the browser widget moves as if by telekensis, and vice versa- if you move the widget in You Tube, the OS volume magically moves with it.  Seems like *if* that were possible, and it wasn't somehow doing digital gain in the process, that would be optimal.  Maybe this is how it was in Chrome OS when not using the Edirol?  I don't remember and can't test presently.

All of this is a nit.  I don't care.

What I do care about and what is VERY nice is having the Edirol working!  Having the kind of sound I get through the DAC and studio quality powered monitors adds huge value to the whole Chrome OS experience.  It's remarkable what a difference nice sound makes, actually.

And I do care about crosbug.com/37822 . I also think other DAC owners/users will care about it.

So I will put in a plea for forward progress on 37882, and spare you all the reasons why it matters unless you want to hear (again, no pun intended :-).

Thanks again for the fixes and for being responsive!

Trever

Trever

unread,
Jan 14, 2013, 4:07:37 PM1/14/13
to chromium-...@chromium.org, Trever, Steve Pirk, Dylan Reid
This is expected.  The device doesn't export any volume controls, 
which makes sense since the gain is done after D-to-A on the device,
there is no way for software to turn the physical volume knob :)

ChromeOS _could_ do a digital gain before passing on the samples, but
currently the OS avoids messing with the audio before it gets to the
nice USB DAC the user paid extra for.

Hmmm...  just to be clear:

The volume knob on the Edirol is one thing.

But what is the browser widget (software) volume "knob" doing?  Eg. You Tube and Play?  When I move those virtual nobs, the volume does change- how come?

In other words if there is supposed to be "one" volume level coming out of the chromebox to the Edirol, that's NOT happening.

Eg. playing a Google Play tune from the Chrome OS browser:
1.  Edirol volume knob changes volume (including to mute)
2.  Volume controller presented in the browser as part of Google Play changes volume (including to mute)
3.  Volume controller presented on the Chrome OS keyboard (which is wired to the volume control presented within Chrome OS software- the control that appears on the menu in the lower RHS of the launcher) does NOT change volume, except will mute volume when set to zero and unmute volume when set to any other position than zero

2 & 3 occurring together might make sense, but I'm not sure your comments Chrome OS not introducing gain explains #2.  

Sorry if I'm just not getting it.


-T

Dylan Reid

unread,
Jan 14, 2013, 4:31:20 PM1/14/13
to Trever, Chromium OS discuss, Steve Pirk
On Mon, Jan 14, 2013 at 1:07 PM, Trever <trr...@gmail.com> wrote:
>> This is expected. The device doesn't export any volume controls,
>> which makes sense since the gain is done after D-to-A on the device,
>> there is no way for software to turn the physical volume knob :)
>>
>> ChromeOS _could_ do a digital gain before passing on the samples, but
>> currently the OS avoids messing with the audio before it gets to the
>> nice USB DAC the user paid extra for.
>
>
> Hmmm... just to be clear:
>
> The volume knob on the Edirol is one thing.
>
> But what is the browser widget (software) volume "knob" doing? Eg. You Tube
> and Play? When I move those virtual nobs, the volume does change- how come?

I left out some details... ChromeOS doesn't apply any gain to the
audio _post_ mix. If there is a relative volume for a stream (such as
a youtube video), that is applied before it is mixed with any other
playing audio. This is necessary as it allows one youtube stream to
be louder than another or a pandora track etc.

there is nothing preventing flash or another app from scaling the
samples before passing them to the OS as well.

Trever

unread,
Jan 14, 2013, 5:28:08 PM1/14/13
to chromium-...@chromium.org, Trever, Steve Pirk, Dylan Reid
Okay, I get it.  Thank you.

FYI I believe there are a number of USB DACs that don't have a volume knob, and I don't know if the pre-mix volume adjustments are sufficient for those.  I'll not worry about that though!

Thanks again.

Dylan Reid

unread,
Jan 14, 2013, 5:30:49 PM1/14/13
to Trever, Chromium OS discuss, Steve Pirk
On Mon, Jan 14, 2013 at 2:28 PM, Trever <trr...@gmail.com> wrote:
> Okay, I get it. Thank you.
>
> FYI I believe there are a number of USB DACs that don't have a volume knob,
> and I don't know if the pre-mix volume adjustments are sufficient for those.
> I'll not worry about that though!

If they export a control to the USB host, then the volume will be
applied there. This is the case for most USB headphones.

Trever

unread,
Jan 14, 2013, 5:56:38 PM1/14/13
to chromium-...@chromium.org, Trever, Dylan Reid
Which reminds me, I have a USB headset (not Logitech) that has never worked. 

If speaker-test does NOT work with those (as I suspect it won't), I tend to believe that means there is no Linux driver support for it, so it won't work irrespective of cras?  Perhaps there's more to it than just the driver and cras.

I'm also confused about how a USB device such a headset can not have driver support because I thought it was mostly just generic USB classes, but sure enough this somewhat "off" brand set only worked on my Mac to date.  (Serves me right for buying something on impulse at Best Buy.)  Will try to retest that headset tonight.
Reply all
Reply to author
Forward
This conversation is locked
You cannot reply and perform actions on locked conversations.
0 new messages