Page MenuHomeSolus

Missing sound card on snd-hda-intel, on Bay Trail chipset
Closed, ResolvedPublic

Description

Hi.
I want to report an issue that affects Solus (as many other distributions), if installed on a Bay Trail chipset shipping with a snd-hda-intel sound card.
It currently gets not recognized, and it's not usable at all.

I heard about the fact that kernel needs a little patch to add back its support - and also that probably when Linux LTS (4.9) will be released, it will ship with this fix, too.

I don't know which policies you follow about kernel development, I just want to report this big issue, hoping you'll keep in consideration and will be looking for a way to finally resolve it.

Thank you.

ikey lowered the priority of this task from High to Normal.Nov 13 2016, 5:02 PM
ikey added a subscriber: ikey.

If you have links to the relevant information where you heard this it would be useful, thanks

Ok, I got few more informations about status of the breakage on recent linux releases.
First of all, from 4.8, the needed configuration activation that was thought to be fixing the problem has been already activated, without fixing anything.
Then, as this is affecting every distribution based on kernel newer than 4.4, I opened a ticket on Linux, where I'm getting replies and confirmations about some changes for Intel SOCs that actually broke few drivers.

That said, I don't know if you actually found something useful about that, but I read your latest TWIS, where you said you'll enable CONFIG_SND_SOC, CONFIG_SND_SOC_INTEL_BYT_MAX98090_MAC; that sound really good, but sincerely it won't fix anything till it gets correctly fixed on linux tree itself.

Will update as soon as I get more informations about that. Cheers!

 ikey@solus-bdw  ~/Solus/kernel/files/configs   master  grep CONFIG_SND_SST_IPC_ACPI kernel-x86_64-config 
CONFIG_SND_SST_IPC_ACPI=m
 ikey@solus-bdw  ~/Solus/kernel/files/configs   master 

And 4.8.11 is in unstable - thoughts?

Was that configuration parameter already in, on stable 4.8.10? Does the fact it's included as module instead of a clear yes mean something particular? Do I need to do something else in order to enable?

This comment was removed by streambinder.
This comment was removed by streambinder.
This comment was removed by streambinder.

Hey @ikey . It seems we finally found a simple patch to fix that sound issue: https://bugzilla.kernel.org/attachment.cgi?id=253811&action=diff .
Let me know if you need something else.

Regards.

compiled 4.9.6 kernel with patch applied and installed the provided asound.state, audio still not working. The audio interface disappeared again. Am i missing something?

From the upstream bug

Audio interface recognized from Raven.

# uname -a
Linux HOSTNAME 4.10.1 #1 SMP Sat Mar 11 21:02:45 CET 2017 x86_64 GNU/Linux

To fix audio interfaces, we need a patch on source code and some config adjustments.

  1. The patch is this one: https://bugzilla.kernel.org/attachment.cgi?id=253811&action=diff
  2. Config adjustments are only related to SoC Audio for Freescale CPUs section. Config used attached.

At last, as every Toshiba Chromebook 2 knows, we also need a custom asound.state. Anyway, I understand you cannot use it as it would break support for thousands devices. Attached, though.

Looking forward to find a way to adjust things on Solus mainline. Thank you for your patience.

Hello, I have Intel Baytrail netbook too (Lenovo E10-30). But, I didn't have your problem.
I know it's no helping, I just want to chime in I guess.

@yursan9, what do you mean? You're on latest stable Solus and it correctly detects audio devices?

Yep, this is my output of inxi -CA:

CPU:       Dual core Intel Celeron N2840 (-MCP-) cache: 1024 KB 
           clock speeds: max: 2582 MHz 1: 1384 MHz 2: 2067 MHz
Audio:     Card Intel Device 0f04 driver: snd_hda_intel
           Sound: Advanced Linux Sound Architecture v: k4.9.16

Obligatory screenshot

That's a little bit disappointing. Did it always worked or just recently started to, @yursan9 ?

I installed Solus since the time of Solus 1.1, and it's always work fine for me.

Can you paste the output of dmesg | grep -i "sound\|audio\|snd_hda_intel", please?

[   10.396606] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops gen9_null_state [i915])
[   12.090802] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC269VB: line_outs=1 (0x14/0x0/0x0/0x0/0x0) type:speaker
[   12.090815] snd_hda_codec_realtek hdaudioC0D0:    speaker_outs=0 (0x0/0x0/0x0/0x0/0x0)
[   12.090825] snd_hda_codec_realtek hdaudioC0D0:    hp_outs=1 (0x21/0x0/0x0/0x0/0x0)
[   12.090832] snd_hda_codec_realtek hdaudioC0D0:    mono: mono_out=0x0
[   12.090838] snd_hda_codec_realtek hdaudioC0D0:    inputs:
[   12.090848] snd_hda_codec_realtek hdaudioC0D0:      Internal Mic=0x19
[   12.090857] snd_hda_codec_realtek hdaudioC0D0:      Mic=0x18
[   12.116641] input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
[   12.119130] input: HDA Intel PCH Mic as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10
[   12.119223] input: HDA Intel PCH Headphone as /devices/pci0000:00/0000:00:1b.0/sound/card0/input11

It seems your device is actually shipping with a different audio card, the Realtek ALC269VB.

ikey changed the task status from Open to In Progress.Apr 11 2017, 1:51 AM

Finally tracked this one down - was a pig.

ikey closed this task as Resolved.Apr 11 2017, 3:11 AM
ikey claimed this task.

I believe this issue to be fixed in: https://git.solus-project.com/packages/linux-lts/commit/?h=linux-lts-4.9.21-14
As such, I will close this issue as resolved. After you have tested the update (via unstable or when it lands in stable),
if it does NOT solve your issue, please reopen for reevaluation.

Confirmed it didn't bugger up my audio on broadwell either, which is good ..

I noticed the updates: actually I get recognized to use the bytmax98090 driver but there still seems to be something wrong.
This is the dmesg output (piped to show relevant things):

$ sudo dmesg | grep -i "sound\|audio\|snd_hda_intel" -C15
[    3.498645] genirq: Flags mismatch irq 51. 00002000 (ATML0000:01) vs. 00002002 (ELAN0000:00)
[    3.498732] atmel_mxt_ts i2c-ATML0000:01: Failed to register interrupt
[    3.505146] atmel_mxt_ts: probe of i2c-ATML0000:01 failed with error -16
[    3.532469] atmel_mxt_ts i2c-ATML0001:01: __mxt_read_reg: i2c transfer failed (-121)
[    3.532574] atmel_mxt_ts i2c-ATML0001:01: mxt_bootloader_read: i2c recv failed (-121)
[    3.532625] atmel_mxt_ts i2c-ATML0001:01: Trying alternate bootloader address
[    3.532680] atmel_mxt_ts i2c-ATML0001:01: mxt_bootloader_read: i2c recv failed (-121)
[    3.541931] atmel_mxt_ts: probe of i2c-ATML0001:01 failed with error -121
[    3.624212] [drm] Memory usable by graphics device = 2048M
[    3.624216] [drm] Replacing VGA console driver
[    3.626516] Console: switching to colour dummy device 80x25
[    3.631035] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    3.631037] [drm] Driver supports precise vblank timestamp query.
[    3.633161] vgaarb: device changed decodes: PCI:0000:00:02.0,olddecodes=io+mem,decodes=io+mem:owns=io+mem
[    3.636914] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: errors=remount-ro
[    3.668852] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops gen9_null_state [i915])
[    3.668868] [drm] Initialized i915 1.6.0 20160919 for 0000:00:02.0 on minor 0
[    3.673966] fbcon: inteldrmfb (fb0) is primary device
[    3.711422] Bluetooth: Core ver 2.22
[    3.711445] NET: Registered protocol family 31
[    3.711446] Bluetooth: HCI device and connection manager initialized
[    3.711451] Bluetooth: HCI socket layer initialized
[    3.711453] Bluetooth: L2CAP socket layer initialized
[    3.711460] Bluetooth: SCO socket layer initialized
[    3.746201] media: Linux media interface: v0.10
[    3.773239] usbcore: registered new interface driver btusb
[    3.790548] Linux video capture interface: v2.00
[    3.791615] Bluetooth: hci0: read Intel version: 370710018002030d56
[    3.791616] Bluetooth: hci0: Intel device is already patched. patch num: 56
[    3.845527] Intel(R) Wireless WiFi driver for Linux
[    3.845528] Copyright(c) 2003- 2015 Intel Corporation
[    3.874688] Adding 978940k swap on /dev/mapper/SolusSystem-Swap.  Priority:-1 extents:1 across:978940k SS
[    3.889988] iTCO_vendor_support: vendor-support=0
[    3.891039] byt-max98090 byt-max98090: ASoC: CPU DAI baytrail-pcm-audio not registered
[    3.891043] byt-max98090 byt-max98090: snd_soc_register_card failed -517
[    3.946659] iTCO_wdt: Intel TCO WatchDog Timer Driver v1.11
[    3.946733] iTCO_wdt: Found a Bay Trail SoC TCO device (Version=3, TCOBASE=0x0460)
[    3.946892] iTCO_wdt: initialized. heartbeat=30 sec (nowayout=0)
[    3.946927] byt-max98090 byt-max98090: ASoC: CPU DAI baytrail-pcm-audio not registered
[    3.946929] byt-max98090 byt-max98090: snd_soc_register_card failed -517
[    3.971883] byt-max98090 byt-max98090: ASoC: CPU DAI baytrail-pcm-audio not registered
[    3.971885] byt-max98090 byt-max98090: snd_soc_register_card failed -517
[    3.991075] iwlwifi 0000:01:00.0: loaded firmware version 17.459231.0 op_mode iwlmvm
[    4.039248] byt-max98090 byt-max98090: ASoC: CPU DAI baytrail-pcm-audio not registered
[    4.039251] byt-max98090 byt-max98090: snd_soc_register_card failed -517
[    4.039808] uvcvideo: Found UVC 1.00 device TOSHIBA Web Camera - HD (04f2:b48b)
[    4.045154] uvcvideo 1-3:1.0: Entity type for entity Extension 4 was not initialized!
[    4.045157] uvcvideo 1-3:1.0: Entity type for entity Processing 2 was not initialized!
[    4.045159] uvcvideo 1-3:1.0: Entity type for entity Camera 1 was not initialized!
[    4.045461] input: TOSHIBA Web Camera - HD as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/input/input7
[    4.045877] byt-max98090 byt-max98090: ASoC: CPU DAI baytrail-pcm-audio not registered
[    4.045880] byt-max98090 byt-max98090: snd_soc_register_card failed -517
[    4.045926] usbcore: registered new interface driver uvcvideo
[    4.045927] USB Video Class driver (1.1.1)
[    4.076655] baytrail-pcm-audio baytrail-pcm-audio: FW version: 04.05.13.a0
[    4.076658] baytrail-pcm-audio baytrail-pcm-audio: Build type: a0
[    4.076659] baytrail-pcm-audio baytrail-pcm-audio: Build date: Apr  2 2014 14:14:39
[    4.098232] max98090 i2c-193C9890:00: MAX98090 REVID=0x43
[    4.098766] max98090 i2c-193C9890:00: use default 2.8v micbias
[    4.099397] sst-acpi 80860F28:00: ASoC: Cannot get gpio at index 1: -2
[    4.099411] byt-max98090 byt-max98090: ASoC: failed to init Baytrail Audio: -2
[    4.099412] byt-max98090 byt-max98090: ASoC: failed to instantiate card -2
[    4.099496] byt-max98090 byt-max98090: snd_soc_register_card failed -2
[    4.099505] byt-max98090: probe of byt-max98090 failed with error -2
[    4.132879] intel_rapl: Found RAPL domain package
[    4.132881] intel_rapl: Found RAPL domain core
[    4.240015] iwlwifi 0000:01:00.0: Detected Intel(R) Dual Band Wireless AC 7260, REV=0x144
[    4.241179] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[    4.241422] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[    4.532491] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs'
[    4.552977] iwlwifi 0000:01:00.0 wlp1s0: renamed from wlan0
[    5.445083] Console: switching to colour frame buffer device 240x67
[    5.472562] i915 0000:00:02.0: fb0: inteldrmfb frame buffer device
[    5.513178] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card1/input9
[    5.513357] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1b.0/sound/card1/input10
[    5.748242] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.748252] Bluetooth: BNEP socket layer initialized
[    6.569241] IPv6: ADDRCONF(NETDEV_UP): wlp1s0: link is not ready
[    6.571539] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[    6.571796] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[    6.782629] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[    6.782882] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[    6.797206] IPv6: ADDRCONF(NETDEV_UP): wlp1s0: link is not ready
[    6.808232] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[    6.808481] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[    6.997502] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[    6.997758] iwlwifi 0000:01:00.0: L1 Enabled - LTR Disabled
[    7.011848] IPv6: ADDRCONF(NETDEV_UP): wlp1s0: link is not ready
[    7.126856] IPv6: ADDRCONF(NETDEV_UP): wlp1s0: link is not ready
[    7.979285] fuse init (API version 7.26)

It seems this is the main failing reason: sst-acpi 80860F28:00: ASoC: Cannot get gpio at index 1: -2

streambinder reopened this task as In Progress.Apr 18 2017, 7:23 PM

Got what's wrong: you forgot to include the patch.

Recompiled linux-lts package including that patch and everything's ok. Waiting for your updates.

OK I'll push this through on my next update. I've just pushed one update to improve boot times and fix early bootcode loading, etc: https://git.solus-project.com/packages/linux-lts/commit/?h=linux-lts-4.9.23-18

I'll whack your patch in with the change I'm doing now, which is changing ro to rw in the cmdline, as it's causing boot delays and double fscks, plus unnecessary spam, remounts, etc.

Yknow I'm looking at that patch now and I'm like duh ofc..

This is now present in https://git.solus-project.com/packages/linux-lts/commit/?h=linux-lts-4.9.23-19 - I'll let you close this @streambinder when you validate it :)

Perfect, just tested. We're now good to go :)

Thank you for your support and for patiently following my whine.
Keep up the absolutely good work!

streambinder closed this task as Resolved.Apr 19 2017, 9:19 PM
moriel5 added a subscriber: moriel5.EditedAug 30 2017, 3:37 AM

My father had accidentally bought an Acer Chromebook R11 (CB3-131), so I put Solus on it for him, and while overall beating GalliumOS in every driver related way, the internal speaker is simply not registered (it did not work on GalliumOS either, howewever it worked fine on ChromeOS).

This is on linux-current 4.12.9.

Here is the dmesg output:

moriel5 added a comment.EditedSep 12 2017, 3:07 PM

Well, it would appear that someone has managed to get sound properly working with an the upstream kernel on this platform.

Here are his AUR pages for his Arch kernels and headers (yes, I realize that the AUR is not a good source for Solus, but it gets better):
Kernel 4.13.1: https://aur.archlinux.org/packages/linux-max98090/
Kernel 4.9.43LTS: https://aur.archlinux.org/packages/linux-lts-max98090/
Kernel Headers 4.13.1: https://aur.archlinux.org/packages/linux-max98090-headers/
Kernel Headers 4.9.43LTS: https://aur.archlinux.org/packages/linux-lts-max98090-headers/

And here are his GitHub pages, as well as precompiled kernels for Arch and Fedora (this is the best I had managed):

Kernel 4.131:
Arch: https://github.com/duffydack/linux-max98090
Fedora: https://github.com/duffydack/linux-max98090-fc

Kernel 4.9.43LTS (Arch only):
https://github.com/duffydack/linux-lts-max98090

I must say, that it was a relief getting sound running from the internal speakers on his remastered Arch ISO (https://ptpb.pw/a0Gl).

Could these patches, which are headed towards Kernel 4.15, help out?
http://mailman.alsa-project.org/pipermail/alsa-devel/2017-September/125342.html

Source: 5th comment from the bottom of https://aur.archlinux.org/packages/linux-max98090/

streambinder added a comment.EditedJan 22 2018, 10:13 PM

Hi @moriel5, sorry for the delay.
Actually those patch could help us, I got in touch with Pierre-Louis Bossart while trying to figure out what was causing issues on Baytrail chipsets.

As I have time I will try to apply them on Solus linux-current package, reverting the changes needed to force bytmax98090 against cht_bsw_max98090.
Will let you know.

Anyway, I can confirm audio not working again on linux-current (while working on linux-lts).

Thanks, sorry about my own delay.
Hopefully I'll be able to help out by testing them out, though I should note that this is not my own laptop, but rather my sister's now (No sense installing Windows on a 16GB partition, especially when there is no need for a anything proprietary (VLC and Firefox are pretty much the bulk of what is needed here).

Tested 4.15-rc9 kernel build using template from Solus linux-current package: as code base changed, needed both to kick out some patches and recreate .config file.
Probably, one of these caused kernel to not even boot on my laptop. I should try to tamper with patches to make them apply on latest code base and make .config not be upset by make oldconfig process.
@ikey, do you have any suggestion about how to update your defconfig file?

Although I realize that this information is currently nearly useless, I still wish to share my experiences.

After having updated my laptop (which is on unstable), and having verified that kernel 4.15.3 appears to be working fine, I have installed linux-current 4.15.3 from unstable onto the chromebook (which is on stable).

So far, everything (aside from audio, and I cannot test HDMI, since we have not a single monitor with HDMI, nor an adapter) seems to be working fine.
As to audio, it still doesn't work, however it now appears as a selectable device in alsamixer.

Some config parameters should be set in order to be able to test latest changes made over linux 4.15.
As I have time will rebuild linux-current branch patching config parameters.
Will let you know.

Sorry for not being online for such a long time, that sounds great.
How are things going?

Hi, today retested kernel built upon linux-current package (4.15.11): I just needed to drop bytmax.patch.
Still not working, with audio interfaces not being recognized.
Maybe @ikey can help us understanding if there's something wrong in our considerations?

I had just found out that the UCM profiles were not included, so I downloaded them from Pierre Bossart's UCM github repository and moved them over, and interestingly, audio worked instantly, even in VLC (this guy said that it did not work for him in VLC, although I think that it was due to VLC's flaky handling of some of the audio servers (on Linux I generally have to manually set it to use ALSA, and on Windows I generally have to set it to DirectX, and this is on customers' PCs)).

However upon a reboot, and this confused me at first, it stopped working in gnome-control-center, but worked everywhere else.

Which kernel have you tested it on?

Confirmed working on linux-current 4.15.18 r67, if pulled UCM conf from Bossart work (https://github.com/plbossart/UCM) over /usr/share/alsa/ucm.
Next step is to check if bytmax.patch (https://dev.solus-project.com/source/linux-current/browse/master/files/intel/bytmax.patch) is actually still needed. As I have some time, will check if it is, pulling out that patch.

moriel5 added a comment.EditedMay 11 2018, 1:50 PM

I had tested it on both 4.15.18 and 4.16.7, and both functioned the same in this regard.

By the way, twice the audio was garbled, however restarting the ALSA server (either manually or by rebooting) fixed the issue.

And as to VLC, it would appear that version 3.0.2 fixes (once again) it's audio server handling, at least on Windows (I still need to check on Solus).

Update: On Solus, nothing had changed in regards to VLC, even on my IdeaPad 300-15.

moriel5 added a comment.EditedNov 5 2018, 6:24 PM

Since last week, audio appears to be broken on the Acer CB3-131 again, however now, the hardware is properly detected, and the microphone works properly, while the speakers do not output any audio whatsoever.
I have not had the chance to check whether audio works by means of the 3.5mm jack.

Update: Audio does not work over the 3.5mm jack, neither input nor output.
Additionally, the internal audio input has stopped working as well.

moriel5 added a comment.EditedDec 10 2018, 11:50 PM

I had just taken a look, and I think that perhaps the issue is that the byt-max98090 is still being forced against chtmax98090?

Update: Why is the cht98090 module asking for "GOOGLE-Gnawty-1.0-Gnawty/GOOGLE-Gnawty-1.0-Gnawty.conf"?
Duplicating and renaming the byt-max98090 files gives the same error as just trying to load byt-max98090, that the configuration file could not be loaded, while attempting to do so with the chtmax98090 files gives no error, however there is no change to the audio situation.

Kernel 4.20 has resolved all audio issues save for audio testing and default notification tone (I don't use notification tones for anything but testing this issue) in gnome-control-center.