Audio not working on Acer Chromebook R11

Bug #1609750 reported by Timo Jyrinki
24
This bug affects 3 people
Affects Status Importance Assigned to Milestone
linux
Confirmed
Medium
linux (Ubuntu)
In Progress
Medium
Unassigned
pulseaudio (Ubuntu)
Invalid
Undecided
Unassigned

Bug Description

Audio is not working at all on Acer Chromebook R11 (codename CYAN). It's a Intel Braswell platform. snd_hda_intel messages seem normal, but Pulseaudio does not detect sound hardware.

ProblemType: Bug
DistroRelease: Ubuntu 16.10
Package: pulseaudio 1:9.0-1.1ubuntu1
ProcVersionSignature: Ubuntu 4.4.0-33.52-generic 4.4.15
Uname: Linux 4.4.0-33-generic x86_64
ApportVersion: 2.20.3-0ubuntu2
Architecture: amd64
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-path', '/dev/snd/hwC0D2', '/dev/snd/pcmC0D8p', '/dev/snd/pcmC0D7p', '/dev/snd/pcmC0D3p', '/dev/snd/controlC0', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
CurrentDesktop: Unity
Date: Thu Aug 4 14:12:03 2016
InstallationDate: Installed on 2016-07-22 (13 days ago)
InstallationMedia:

PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
SourcePackage: pulseaudio
Symptom: audio
UpgradeStatus: No upgrade log present (probably fresh install)
dmi.bios.date: 05/20/2016
dmi.bios.vendor: coreboot
dmi.chassis.type: 3
dmi.chassis.vendor: GOOGLE
dmi.modalias: dmi:bvncoreboot:bvr:bd05/20/2016:svnGOOGLE:pnCyan:pvr1.0:cvnGOOGLE:ct3:cvr:
dmi.product.name: Cyan
dmi.product.version: 1.0
dmi.sys.vendor: GOOGLE
---
ApportVersion: 2.20.3-0ubuntu2
Architecture: amd64
AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-path', '/dev/snd/hwC0D2', '/dev/snd/pcmC0D8p', '/dev/snd/pcmC0D7p', '/dev/snd/pcmC0D3p', '/dev/snd/controlC0', '/dev/snd/seq', '/dev/snd/timer'] failed with exit code 1:
CurrentDesktop: Unity
DistroRelease: Ubuntu 16.10
HibernationDevice: RESUME=UUID=53fe7902-c347-4ff8-945d-a3e3de773a08
InstallationDate: Installed on 2016-07-22 (13 days ago)
InstallationMedia:

Lsusb:
 Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
 Bus 001 Device 003: ID 8087:0a2a Intel Corp.
 Bus 001 Device 002: ID 0bda:57cf Realtek Semiconductor Corp.
 Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
MachineType: GOOGLE Cyan
Package: linux-image-4.4.0-33-generic 4.4.0-33.52
PackageArchitecture: amd64
ProcFB: 0 inteldrmfb
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-33-generic root=UUID=742e4082-264a-4459-93df-9ec07b41d5e8 ro quiet splash vt.handoff=7
ProcVersionSignature: Ubuntu 4.4.0-33.52-generic 4.4.15
PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No PulseAudio daemon running, or not running as session daemon.
RelatedPackageVersions:
 linux-restricted-modules-4.4.0-33-generic N/A
 linux-backports-modules-4.4.0-33-generic N/A
 linux-firmware 1.159
Tags: yakkety
Uname: Linux 4.4.0-33-generic x86_64
UpgradeStatus: No upgrade log present (probably fresh install)
UserGroups: adm cdrom dip lpadmin plugdev sambashare sudo
_MarkForUpload: True
dmi.bios.date: 05/20/2016
dmi.bios.vendor: coreboot
dmi.chassis.type: 3
dmi.chassis.vendor: GOOGLE
dmi.modalias: dmi:bvncoreboot:bvr:bd05/20/2016:svnGOOGLE:pnCyan:pvr1.0:cvnGOOGLE:ct3:cvr:
dmi.product.name: Cyan
dmi.product.version: 1.0
dmi.sys.vendor: GOOGLE

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :
tags: added: apport-collected
description: updated
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : AlsaInfo.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : CRDA.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : CurrentDmesg.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : Dependencies.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : IwConfig.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : JournalErrors.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : Lspci.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : ProcCpuinfo.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : ProcEnviron.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : ProcInterrupts.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : ProcModules.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : RfKill.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : UdevDb.txt

apport information

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote : WifiSyslog.txt

apport information

tags: added: r11
removed: apport-collected
Revision history for this message
Brad Figg (brad-figg) wrote : Status changed to Confirmed

This change was made by a bot.

Changed in linux (Ubuntu):
status: New → Confirmed
Revision history for this message
Luke Yelavich (themuso) wrote : Re: [Bug 1609750] Status changed to Confirmed

Have you tried a newer kernel? Yakkety is still on 4.4, but I think mainline is up to 4.7.

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

Thanks, I was meaning to do that next. No change with audio on 4.7 kernel (1 of 3 hw support bugs problems did get fixed with 4.7 though).

It is likely this is not pulseaudio problem, as if pulseaudio does not detect any sound hardware the problem is likely at a lower level.

tags: added: kernel-bug-exists-upstream
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

There is updated information available from the coreboot/Chromebook community:

Baytrail/Braswell devices seem to have audio issues when booting via RW_LEGACY, because depthcharge (the ChromeOS payload) is still doing some initialization to the audio codec

Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :

Created attachment 227601
dmesg

It's a Braswell 14nm platform with Coreboot and SeaBIOS as a payload to boot Ubuntu 16.10 (+ mainline 4.7 kernel). Sound does not work and the UIs don't show any devices either since pulseaudio fails so start with "failed to detect any sound hardware".

According to Chromebook community person, there might be some required initialization missing that the ChromeOS payload ("depthcharge") is usually responsible for.

alsa-info at: http://www.alsa-project.org/db/?f=c193a12f53608b68d259f574b4791d18a522a000

dmesg, dmidecode, lshw, lspci as attachments.

Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :

Created attachment 227611
dmidecode

Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :

Created attachment 227621
lshw

Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :

Created attachment 227631
lspci

affects: pulseaudio → kernel
Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :
Revision history for this message
In , tiwai (tiwai-linux-kernel-bugs) wrote :

The relevant codes have been already merged to upstream recently.
Could you try 4.8-rc1?

Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :

Created attachment 228161
dmesg 4.8rc1

No change, no sound and cht-bsw-max98090 cht-bsw-max98090: snd_soc_register_card failed -517

Revision history for this message
In , vinod.koul (vinod.koul-linux-kernel-bugs) wrote :

(In reply to Timo Jyrinki from comment #6)
> Created attachment 228161 [details]
> dmesg 4.8rc1
>
> No change, no sound and cht-bsw-max98090 cht-bsw-max98090:
> snd_soc_register_card failed -517

SST driver seems to initialze well. This i2c seems to fail..

[ 19.972195] cht-bsw-max98090 cht-bsw-max98090: ASoC: i2c-104C227E:00 not registered
[ 19.972207] cht-bsw-max98090 cht-bsw-max98090: snd_soc_register_card failed -517

I will check the codec on this device, if you know please do let me know...

Revision history for this message
In , vinod.koul (vinod.koul-linux-kernel-bugs) wrote :

okay I checked. With coreboot this seems to work fine.

Cna you check the SeaBIOS used and get it to create the I2C device 104C227E so codec can be loaded thus completing the sound card

Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :

Thank you, sounds like a very useful bit of information. I've passed on the info to the G+ coreboot on Chromebooks community where the people creating the SeaBIOS images are.

Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :

And copy-pasting here (from https://plus.google.com/u/0/+TimoJyrinki/posts/R1AqYCSPru8 ):

"SeaBIOS doesn't do hardware initialisation, that's down to coreboot, so no, I can't. Obviously, the sound hardware works under the ChromeOS kernel so I would guess they need to figure out what the ChromeOS kernel is doing that upstream isn't."

Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :

From the discussion over there it sounds to me that Coreboot itself does no sound initialization, but the 'depthcharge' payload started from Coreboot when booting to ChromeOS does do a codec init.

However SeaBIOS payload doesn't do anything sound initialization related so it'd be wished that the kernel would do that instead if it wasn't done by the Coreboot and its payload.

Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Did this issue start happening after an update/upgrade? Was there a prior kernel version where you were not having this particular problem?

Would it be possible for you to test the latest upstream kernel? Refer to https://wiki.ubuntu.com/KernelMainlineBuilds . Please test the latest v4.8 kernel[0].

If this bug is fixed in the mainline kernel, please add the following tag 'kernel-fixed-upstream'.

If the mainline kernel does not fix this bug, please add the tag: 'kernel-bug-exists-upstream'.

Once testing of the upstream kernel is complete, please mark this bug as "Confirmed".

Thanks in advance.

[0] http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8-rc3

Changed in linux (Ubuntu):
importance: Undecided → Medium
status: Confirmed → Incomplete
Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

It has never worked and I'm already using the latest upstream mainline kernel.

The bug has the tag kernel-bug-exists-upstream already.

See upstream bug report for more details.

Thank you!

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
In , mildred-bug.kernel (mildred-bug.kernel-linux-kernel-bugs) wrote :
Revision history for this message
In , mildred-bug.kernel (mildred-bug.kernel-linux-kernel-bugs) wrote :

It seems that the chromeos driver does some things differently depending on ACPI (which mainline doesn't). In above link for sound/soc/codecs/ts3a227e.c contains:

#ifdef CONFIG_ACPI
static struct acpi_device_id ts3a227e_acpi_match[] = {
 { "104C227E", 0 },
 {},
};
MODULE_DEVICE_TABLE(acpi, ts3a227e_acpi_match);
#endif

static struct i2c_driver ts3a227e_driver = {
 .driver = {
                ...
  .acpi_match_table = ACPI_PTR(ts3a227e_acpi_match),
 },

sound/soc/intel/boards/cht_bsw_max98090_ti.c in mainline kernel seems to already be able to detect the correct device:

static int snd_cht_mc_probe(struct platform_device *pdev)
{
 ...
 drv->ts3a227e_present = acpi_dev_found("104C227E");

Revision history for this message
In , mildred-bug.kernel (mildred-bug.kernel-linux-kernel-bugs) wrote :

Created attachment 254591
Possible fix

This patch comes directly from the chromium tree.

Revision history for this message
In , reynhout (reynhout-linux-kernel-bugs) wrote :

Kernel 4.9 with patch from https://bugzilla.kernel.org/show_bug.cgi?id=151521#c14 yields some new log messages.

Excerpted here: https://paste.debian.net/913490

Definite progress, now it looks like jack detection is not set up properly (causing null pointer deref). The module loads, but the device is not visible.

Revision history for this message
In , mildred-bug.kernel (mildred-bug.kernel-linux-kernel-bugs) wrote :

There is a null pointer in ts3a227e_enable_jack_detect. The function looks like this in sound/soc/codecs/ts3a227e.c:

int ts3a227e_enable_jack_detect(struct snd_soc_component *component,
    struct snd_soc_jack *jack)
{
 struct ts3a227e *ts3a227e = snd_soc_component_get_drvdata(component);

 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_MEDIA);
 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND);
 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP);
 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN);

 ts3a227e->jack = jack;
 ts3a227e_jack_report(ts3a227e);

 return 0;
}

Given the calling context in from sound/soc/intel/boards/cht_bsw_max98090_ti.c:

static int cht_max98090_headset_init(struct snd_soc_component *component)
{
 struct snd_soc_card *card = component->card;
 struct cht_mc_private *ctx = snd_soc_card_get_drvdata(card);

 return ts3a227e_enable_jack_detect(component, &ctx->jack);
}

And the driverdata struct:

struct cht_mc_private {
 struct snd_soc_jack jack;
 bool ts3a227e_present;
};

Unless ctx in cht_max98090_headset_init is null, &ctx->jack cannot be null, and the jack variable in ts3a227e_enable_jack_detect cannot be null. Tho options here:

- either the snd_soc_card driver data is null (card not initialized?)
- or ts3a227e_enable_jack_detect crashes because ts3a227e is null, which is the snd_soc_component driver data (component not initialized?)
- or ts3a227e_enable_jack_detect crashes because there is another pointer that is null. It doesn't look so...

The snd_soc_card driver data is initialized here:

static int snd_cht_mc_probe(struct platform_device *pdev)
{
 int ret_val = 0;
 struct cht_mc_private *drv;

 drv = devm_kzalloc(&pdev->dev, sizeof(*drv), GFP_ATOMIC);
 if (!drv)
  return -ENOMEM;

 drv->ts3a227e_present = acpi_dev_found("104C227E");
 if (!drv->ts3a227e_present) {
  /* no need probe TI jack detection chip */
  snd_soc_card_cht.aux_dev = NULL;
  snd_soc_card_cht.num_aux_devs = 0;
 }

 /* register the soc card */
 snd_soc_card_cht.dev = &pdev->dev;
 snd_soc_card_set_drvdata(&snd_soc_card_cht, drv);
 ret_val = devm_snd_soc_register_card(&pdev->dev, &snd_soc_card_cht);
 if (ret_val) {
  dev_err(&pdev->dev,
   "snd_soc_register_card failed %d\n", ret_val);
  return ret_val;
 }
 platform_set_drvdata(pdev, &snd_soc_card_cht);
 return ret_val;
}

Which is referenced in the platform driver:

static struct platform_driver snd_cht_mc_driver = {
 .driver = {
  .name = "cht-bsw-max98090",
 },
 .probe = snd_cht_mc_probe,
};

module_platform_driver(snd_cht_mc_driver)

I didn't see where snd_soc_component_set_drvdata was called...

Revision history for this message
In , pierre-louis.bossart (pierre-louis.bossart-linux-kernel-bugs) wrote :

The kernel oops is caused by a race condition, see logs below:

[ 7.109294] CHT_MAX98090_HEADSET_INIT
[ 7.109312] jack is NULL, detection not enabled
[ 7.109434] cht-bsw-max98090 cht-bsw-max98090: snd-soc-dummy-dai <-> media-cpu-dai mapping ok
[ 7.109499] cht-bsw-max98090 cht-bsw-max98090: snd-soc-dummy-dai <-> deepbuffer-cpu-dai mapping ok
[ 7.109542] compress asoc: snd-soc-dummy-dai <-> compress-cpu-dai mapping ok
[ 7.109549] CHT_CODEC_INIT
[ 7.112443] cht-bsw-max98090 cht-bsw-max98090: HiFi <-> ssp2-port mapping ok

Basically the ..init = cht_max98090_headset_init is called before .init = cht_codec_init, but the latter initializes the jack.

I think the soc-core framework should have a notion that an aux_dev should be initialized after the codec DAIs? The ChromeOs code is pre-component so it's really hard to figure out what needs to be done here.

Vinod, any thoughts?

Revision history for this message
In , pierre-louis.bossart (pierre-louis.bossart-linux-kernel-bugs) wrote :

Created attachment 254845
ACPI support

Revision history for this message
In , pierre-louis.bossart (pierre-louis.bossart-linux-kernel-bugs) wrote :

Created attachment 254847
logs to show race condition

Revision history for this message
In , vinod.koul (vinod.koul-linux-kernel-bugs) wrote :

(In reply to Pierre Bossart from comment #17)
> The kernel oops is caused by a race condition, see logs below:
>
> [ 7.109294] CHT_MAX98090_HEADSET_INIT
> [ 7.109312] jack is NULL, detection not enabled
> [ 7.109434] cht-bsw-max98090 cht-bsw-max98090: snd-soc-dummy-dai <->
> media-cpu-dai mapping ok
> [ 7.109499] cht-bsw-max98090 cht-bsw-max98090: snd-soc-dummy-dai <->
> deepbuffer-cpu-dai mapping ok
> [ 7.109542] compress asoc: snd-soc-dummy-dai <-> compress-cpu-dai mapping
> ok
> [ 7.109549] CHT_CODEC_INIT
> [ 7.112443] cht-bsw-max98090 cht-bsw-max98090: HiFi <-> ssp2-port mapping
> ok
>
> Basically the ..init = cht_max98090_headset_init is called before .init =
> cht_codec_init, but the latter initializes the jack.
>
> I think the soc-core framework should have a notion that an aux_dev should
> be initialized after the codec DAIs? The ChromeOs code is pre-component so
> it's really hard to figure out what needs to be done here.
>
> Vinod, any thoughts?

Use late_probe?

This seems to be called after all DAIs are init, That will guarantee
that aux codecs are init too :)

Revision history for this message
In , vinod.koul (vinod.koul-linux-kernel-bugs) wrote :

On Tue, 2017-02-21 at 02:45 +0000, <email address hidden>
wrote:
> https://bugzilla.kernel.org/show_bug.cgi?id=151521
>
> --- Comment #17 from Pierre Bossart (<email address hidden>.
> com) ---

> Basically the ..init = cht_max98090_headset_init is called before
> .init =
> cht_codec_init, but the latter initializes the jack.
>
> I think the soc-core framework should have a notion that an aux_dev
> should be
> initialized after the codec DAIs? The ChromeOs code is pre-component
> so it's
> really hard to figure out what needs to be done here.
>
> Vinod, any thoughts?

Use late_probe?

This seems to be called after all DAIs are init, That will guarantee
that aux codecs are init too :)

Revision history for this message
In , pierre-louis.bossart (pierre-louis.bossart-linux-kernel-bugs) wrote :

In soc-core.c, the aux_dev are probed before the dailinks, so there is an intrinsic issue here. the aux_dev.init() can't do anything that depends on something else really.

Attached patches fix the problem, also added some corrections for I2S mode which probably never worked.

The cyan device is still silent for now but at least it's better than it was...

Revision history for this message
In , pierre-louis.bossart (pierre-louis.bossart-linux-kernel-bugs) wrote :

Created attachment 254865
Fix I2S configs and remove useless code

Revision history for this message
In , pierre-louis.bossart (pierre-louis.bossart-linux-kernel-bugs) wrote :

Created attachment 254867
solve NULL dereference

Revision history for this message
In , pierre-louis.bossart (pierre-louis.bossart-linux-kernel-bugs) wrote :

Created attachment 254869
UCM file

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Thank you for reporting this bug to Ubuntu.
Ubuntu 16.10 (yakkety) reached end-of-life on July 20, 2017.

See this document for currently supported Ubuntu releases:
https://wiki.ubuntu.com/Releases

We appreciate that this bug may be old and you might not be interested in discussing it any more. But if you are then please upgrade to the latest Ubuntu version and re-test.

Changed in pulseaudio (Ubuntu):
status: New → Incomplete
Changed in linux (Ubuntu):
status: Confirmed → Incomplete
Revision history for this message
In , mildred-bug.kernel (mildred-bug.kernel-linux-kernel-bugs) wrote :

A solution was found at GitHub https://github.com/GalliumOS/galliumos-distro/issues/317#issuecomment-322658720 to make the sound work on CYAN hardware. I tested for my computer and it works.

Basically there is a patch needed to the kernel, sound codec ts3a227e and intel board cht_bsw_max98090_ti:

https://github.com/GalliumOS/galliumos-distro/files/1226989/cyan-audio-driver-fix.patch.txt

(basically there should be nothing new here compared to other patchs posted here previously)

Then ALSA UCM files from ChromiumOS tree should be used:

https://chromium.googlesource.com/chromiumos/third_party/adhd/+/master/ucm-config/cyan/chtmax98090

They should be put in /usr/share/alsa/ucm/chtmax98090/

A patch is needed in the UCM files:

https://github.com/GalliumOS/galliumos-distro/files/1226991/ucm-mod-to-enable-audio.patch.txt

Then, the hardware is recognized but audio doesn't work. Tweaking the ALSA settings makes it work.

Here:

https://github.com/GalliumOS/galliumos-distro/issues/317#issuecomment-323477943

There is a asound.state file to download to set the mixer settings of the audio card to the correct settings so audio works:

https://github.com/GalliumOS/galliumos-distro/files/1235825/asound.state.txt

Basically: alsactl -f downloaded/asound.state.txt restore 1 (where 1 is the number of the ALSA device) should set the settings required so audio works.

- Speakers are working
- Headset is working (detection does not work)
- Internal mic is working
- the rest is still untested (headset microphone)

Now that it works, what do we need to get this shipped?

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

A fix might be coming in some months' time to the upstream kernel.

Changed in pulseaudio (Ubuntu):
status: Incomplete → Invalid
Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Revision history for this message
In , darethehair (darethehair-linux-kernel-bugs) wrote :

I installed kernel 4.15.0 on my Acer Chromebook R11 running Linux Mint Debian Edition, in hopes that the kernel patches described above had already made it there.

Can anyone confirm that this occurred, or provide a suggestion for me moving forward to get my speaker sound working e.g. wait till 4.16?

Thanks!

Revision history for this message
In , darethehair (darethehair-linux-kernel-bugs) wrote :

UPDATE: To answer my own question, kernel 4.15 appears to have the necessary kernel patches installed, and the instructions by Mildred just ahead of my own were very useful to get sound *mostly* working on my R11 Chromebook under LMDE. Two issues were encountered:

- the firmware drivers necessary for this to work were missing from my distro, and I had to manually install the 'firmware-intel-sound' package (that I got from https://packages.debian.org/sid/firmware-intel-sound)

- the 'alsa' commands that I typically use in '.xbindkeysrc' do not change the volume levels -- even though the volume 'slider' display shows the proper usage of these keys, and so I had to supplement them with matching 'pactl set-sink-mute 1...' commands to get interactive volume changes to work. Even now, I am worried a bit of these commands getting out-of-sync with each other -- perhaps I should ignore alsa entirely (?)

Not that it is really needed by those reading this, but I have documented all of this on my web page (for my own sake).

Anyone else have similar success and/or advise?

Revision history for this message
In , t.jp (t.jp-linux-kernel-bugs) wrote :

I installed Arch Linux on my Acer R11 today.
Linux archlinux 4.16.13-2-ARCH #1 SMP PREEMPT Fri Jun 1 18:46:11 UTC 2018 x86_64 GNU/Linux

With latest GNOME and Pulseaudio I only had to place the two UCM config files into /usr/share/alsa/ucm/chtmax98090/ and apply the patch to Hifi.conf.
The firmware is installed on Arch Linux by default. I restarted and speakers worked out of the box without messing with alsa configs. Headphones also work when switching the sink manually in GNOME Audio Settings. Unfortunately, the internal mic doesn't work neither does my headset mic work. There is no input source that would let me select the microphones.

Once I map my media keys the media control should work since I can change volume via the GNOME Audio slider.

If I manage to get input audio to work I'll keep this as daily driver. I tried the latest GalliumOS also with acpid, which should enable headphone jack detection but it didn't work for me (the detection, audio worked also input).

Revision history for this message
In , t.jp (t.jp-linux-kernel-bugs) wrote :

Update: Microphone does seem to work even tough it's not listed as an input source. I applied the asound.state file as explained above and first sound came from both headset and speaker. I changed output sinks once to fix this. I tried a Skype Echo Call on web.skype.com and it worked with the headset microphone. Maybe it already would have worked without the asound.state file. Internal micro also registers input in the GNOME Audio settings.

Media keys also work. Only thing left is headphone jack detection. This could probably be handled via a script.

Changed in kernel:
importance: Unknown → Medium
status: Unknown → Confirmed
Revision history for this message
Sebastien Bacher (seb128) wrote :

Looks like that upstream commit might fix it,
https://patchwork.kernel.org/patch/10667953/

Revision history for this message
Sebastien Bacher (seb128) wrote :
Changed in linux (Ubuntu):
status: Confirmed → In Progress
Brad Figg (brad-figg)
tags: added: cscc
Revision history for this message
daniel primo stuart (daniel-stuart14) wrote :

Kernel needs this patch for maxim98090 to work on cyan and some baytrail chromebooks: https://github.com/torvalds/linux/commit/d5e120422db8808e1c8b1507900ca393a877c58f

As it didn't make to 5.3 on time, would be nice if it were backported by ubuntu devs

Revision history for this message
Mutatina Charles Mwombeki (mutta255) wrote : Re: [Bug 1609750] Re: Audio not working on Acer Chromebook R11
Download full text (4.1 KiB)

thanks for the feedback

On Thu, Sep 26, 2019, 09:55 daniel primo stuart <email address hidden>
wrote:

> Kernel needs this patch for maxim98090 to work on cyan and some baytrail
> chromebooks:
>
> https://github.com/torvalds/linux/commit/d5e120422db8808e1c8b1507900ca393a877c58f
>
> As it didn't make to 5.3 on time, would be nice if it were backported by
> ubuntu devs
>
> --
> You received this bug notification because you are subscribed to a
> duplicate bug report (1803810).
> https://bugs.launchpad.net/bugs/1609750
>
> Title:
> Audio not working on Acer Chromebook R11
>
> Status in linux:
> Confirmed
> Status in linux package in Ubuntu:
> In Progress
> Status in pulseaudio package in Ubuntu:
> Invalid
>
> Bug description:
> Audio is not working at all on Acer Chromebook R11 (codename CYAN).
> It's a Intel Braswell platform. snd_hda_intel messages seem normal,
> but Pulseaudio does not detect sound hardware.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 16.10
> Package: pulseaudio 1:9.0-1.1ubuntu1
> ProcVersionSignature: Ubuntu 4.4.0-33.52-generic 4.4.15
> Uname: Linux 4.4.0-33-generic x86_64
> ApportVersion: 2.20.3-0ubuntu2
> Architecture: amd64
> AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-path',
> '/dev/snd/hwC0D2', '/dev/snd/pcmC0D8p', '/dev/snd/pcmC0D7p',
> '/dev/snd/pcmC0D3p', '/dev/snd/controlC0', '/dev/snd/seq',
> '/dev/snd/timer'] failed with exit code 1:
> CurrentDesktop: Unity
> Date: Thu Aug 4 14:12:03 2016
> InstallationDate: Installed on 2016-07-22 (13 days ago)
> InstallationMedia:
>
> PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No
> PulseAudio daemon running, or not running as session daemon.
> SourcePackage: pulseaudio
> Symptom: audio
> UpgradeStatus: No upgrade log present (probably fresh install)
> dmi.bios.date: 05/20/2016
> dmi.bios.vendor: coreboot
> dmi.chassis.type: 3
> dmi.chassis.vendor: GOOGLE
> dmi.modalias:
> dmi:bvncoreboot:bvr:bd05/20/2016:svnGOOGLE:pnCyan:pvr1.0:cvnGOOGLE:ct3:cvr:
> dmi.product.name: Cyan
> dmi.product.version: 1.0
> dmi.sys.vendor: GOOGLE
> ---
> ApportVersion: 2.20.3-0ubuntu2
> Architecture: amd64
> AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-path',
> '/dev/snd/hwC0D2', '/dev/snd/pcmC0D8p', '/dev/snd/pcmC0D7p',
> '/dev/snd/pcmC0D3p', '/dev/snd/controlC0', '/dev/snd/seq',
> '/dev/snd/timer'] failed with exit code 1:
> CurrentDesktop: Unity
> DistroRelease: Ubuntu 16.10
> HibernationDevice: RESUME=UUID=53fe7902-c347-4ff8-945d-a3e3de773a08
> InstallationDate: Installed on 2016-07-22 (13 days ago)
> InstallationMedia:
>
> Lsusb:
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 8087:0a2a Intel Corp.
> Bus 001 Device 002: ID 0bda:57cf Realtek Semiconductor Corp.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> MachineType: GOOGLE Cyan
> Package: linux-image-4.4.0-33-generic 4.4.0-33.52
> PackageArchitecture: amd64
> ProcFB: 0 inteldrmfb
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-33-generic
> root=UUID=742e4082-264a-4459-93df-9ec07b41d5e8 ro quiet splash vt.han...

Read more...

Revision history for this message
Timo Jyrinki (timo-jyrinki) wrote :

I've updated my cyan (Acer Chromebook R11) to kernel 5.4rc7 from Ubuntu's mainline PPA, but the audio is still not working (no audio device visible according to pulseaudio).

Are you aware of something else that still needs upstreaming beside the mentioned https://github.com/torvalds/linux/commit/d5e120422db8808e1c8b1507900ca393a877c58f ?

Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :

In downstream bug report http://pad.lv/1609750 it was noted that this patch would be needed: https://github.com/torvalds/linux/commit/d5e120422db8808e1c8b1507900ca393a877c58f

However I've tested 5.4rc7 and it does not seem to help. Do people know of other non-upstreamed patches required for the audio to work?

Revision history for this message
In , pierre-louis.bossart (pierre-louis.bossart-linux-kernel-bugs) wrote :

if you can recompile a kernel, using Mark Brown's for-next should have have all the latest changes from Google for Cyan.

Revision history for this message
Bryan Quigley (bryanquigley) wrote :

I can get sound to work with a 5.4 kernel - but it's still not great...

I haven't found a UCM file that let's it just work yet. What does work is using the alsactl -f downloaded/asound.state.txt bit and then VLC is able to play sound with Audio device set to chtmax98090, Direct hardware device without any conversions.

My most recent attempt had me force installing (to ignore other depends) the Gallium deb http://apt.galliumos.org/pool/main/g/galliumos-baytrail/galliumos-baytrail_3.0_all.deb
(this still lets the above alsa restore, vlc bit work, but pulseaudio fails to load)

Revision history for this message
In , bryan.quigley+bugs (bryan.quigley+bugs-linux-kernel-bugs) wrote :

I can get sound to work with a 5.4 kernel - but it's still not great...

I haven't found a UCM file that let's it just work yet. What does work is using the alsactl -f downloaded/asound.state.txt bit and then VLC is able to play sound with Audio device set to chtmax98090, Direct hardware device without any conversions.

Should this just work without any ucm/alsa restore?

Revision history for this message
In , bryan.quigley+bugs (bryan.quigley+bugs-linux-kernel-bugs) wrote :

I spoke to soon, trying out the galliumos-baytrail deb on Lubuntu gave me some better success.

Right now, it appears I have working sound on every reboot with just this file from that package:https://github.com/GalliumOS/galliumos-baytrail/blob/master/etc/pulse/default.pa
(this may depend on having saved asound.state first (or possibly put into /var/lib/alsa/ by package)

Revision history for this message
In , ian (ian-linux-kernel-bugs) wrote :

Any update on this? Having issues with sound working for some time, than suddenly stopping with a buzzing sound. Will attempt to modify patch for most recent kernel, but my understanding is the kernel should already be patched. Works fine on galliumos, but not with any other distro or most recent kernel

Revision history for this message
In , timo.jyrinki (timo.jyrinki-linux-kernel-bugs) wrote :

I don't have problems running Ubuntu 20.04 LTS with (original, non-HWE kernel) 5.4 series kernel these days. Granted, I've probably indeed modified the default.pa as indicated above, and have had a state file which I've restored - but the kernel is default, and the audio works fine without any manual state restores on every boot and I can switch between internal and HDMI audio fine.

I've mostly used the HDMI audio though in recent years so I cannot say if there would be problems with internal audio in prolonged use.

The reason for not upgrading beyond 5.4 kernel used to be that 5.8 kernel regressed with these low tier Intel graphics, but I recall that was fixed in later ones so the current Ubuntu 20.04 HWE kernel (5.11) that comes on eg 20.04.3 installation media might be worth trying again if wanting excitement to life.

It'd be nice to experiment with out-of-the-box functionality too, which would be likely easiest done with live USB sticks.

Overall, I think there might not be any kernel bug left here, only userspace ones. Although it might have easily regressed in more recent kernels given the low amount of users.

Revision history for this message
In , pierre-louis.bossart (pierre-louis.bossart-linux-kernel-bugs) wrote :

if patching the PulseAudio default.pa works, then the initial issue was probably a problem with alsa-ucm-conf not being updated in your distros. There's no reason to use asound.state these days, it's a much better idea to use UCM. my 2 cents.

Revision history for this message
In , Mutatina Charles Mwombeki (mutta255) wrote : Re: [Bug 1609750]
Download full text (4.2 KiB)

solved the bug already i cleared some things and made an update

On Sun, Sep 26, 2021, 05:40 ian <email address hidden> wrote:

> Any update on this? Having issues with sound working for some time,
> than suddenly stopping with a buzzing sound. Will attempt to modify
> patch for most recent kernel, but my understanding is the kernel should
> already be patched. Works fine on galliumos, but not with any other
> distro or most recent kernel
>
> --
> You received this bug notification because you are subscribed to a
> duplicate bug report (1803810).
> https://bugs.launchpad.net/bugs/1609750
>
> Title:
> Audio not working on Acer Chromebook R11
>
> Status in linux:
> Confirmed
> Status in linux package in Ubuntu:
> In Progress
> Status in pulseaudio package in Ubuntu:
> Invalid
>
> Bug description:
> Audio is not working at all on Acer Chromebook R11 (codename CYAN).
> It's a Intel Braswell platform. snd_hda_intel messages seem normal,
> but Pulseaudio does not detect sound hardware.
>
> ProblemType: Bug
> DistroRelease: Ubuntu 16.10
> Package: pulseaudio 1:9.0-1.1ubuntu1
> ProcVersionSignature: Ubuntu 4.4.0-33.52-generic 4.4.15
> Uname: Linux 4.4.0-33-generic x86_64
> ApportVersion: 2.20.3-0ubuntu2
> Architecture: amd64
> AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-path',
> '/dev/snd/hwC0D2', '/dev/snd/pcmC0D8p', '/dev/snd/pcmC0D7p',
> '/dev/snd/pcmC0D3p', '/dev/snd/controlC0', '/dev/snd/seq',
> '/dev/snd/timer'] failed with exit code 1:
> CurrentDesktop: Unity
> Date: Thu Aug 4 14:12:03 2016
> InstallationDate: Installed on 2016-07-22 (13 days ago)
> InstallationMedia:
>
> PulseList: Error: command ['pacmd', 'list'] failed with exit code 1: No
> PulseAudio daemon running, or not running as session daemon.
> SourcePackage: pulseaudio
> Symptom: audio
> UpgradeStatus: No upgrade log present (probably fresh install)
> dmi.bios.date: 05/20/2016
> dmi.bios.vendor: coreboot
> dmi.chassis.type: 3
> dmi.chassis.vendor: GOOGLE
> dmi.modalias:
> dmi:bvncoreboot:bvr:bd05/20/2016:svnGOOGLE:pnCyan:pvr1.0:cvnGOOGLE:ct3:cvr:
> dmi.product.name: Cyan
> dmi.product.version: 1.0
> dmi.sys.vendor: GOOGLE
> ---
> ApportVersion: 2.20.3-0ubuntu2
> Architecture: amd64
> AudioDevicesInUse: Error: command ['fuser', '-v', '/dev/snd/by-path',
> '/dev/snd/hwC0D2', '/dev/snd/pcmC0D8p', '/dev/snd/pcmC0D7p',
> '/dev/snd/pcmC0D3p', '/dev/snd/controlC0', '/dev/snd/seq',
> '/dev/snd/timer'] failed with exit code 1:
> CurrentDesktop: Unity
> DistroRelease: Ubuntu 16.10
> HibernationDevice: RESUME=UUID=53fe7902-c347-4ff8-945d-a3e3de773a08
> InstallationDate: Installed on 2016-07-22 (13 days ago)
> InstallationMedia:
>
> Lsusb:
> Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
> Bus 001 Device 003: ID 8087:0a2a Intel Corp.
> Bus 001 Device 002: ID 0bda:57cf Realtek Semiconductor Corp.
> Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
> MachineType: GOOGLE Cyan
> Package: linux-image-4.4.0-33-generic 4.4.0-33.52
> PackageArchitecture: amd64
> ProcFB: 0 inteldrmfb
> ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-4.4.0-33-gener...

Read more...

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.