aarch64-laptops / build

Build an Linux OS based image
235 stars 55 forks source link

Audio on Lenovo Yoga C630 WOS #38

Closed RussianNeuroMancer closed 4 years ago

RussianNeuroMancer commented 4 years ago

Hello!

After reading this comment I copied mentioned firmwares to Linux partition and tried to boot kernel from wip/c630-v5.5 branch of this repository with this config. Unfortunately, audio driver doesn't start with following errors:

[   25.890873] msm-snd-sdm845 sound: ASoC: can't get playback BE for Primary TDM0 Playback
[   25.890878] msm-snd-sdm845 sound: ASoC: can't get playback BE for Primary MI2S Playback
[   25.890883] msm-snd-sdm845 sound: ASoC: can't get playback BE for Secondary MI2S Playback
[   25.890888] msm-snd-sdm845 sound: ASoC: can't get playback BE for Tertiary MI2S Playback
[   25.890893] msm-snd-sdm845 sound: ASoC: can't get playback BE for Quaternary MI2S Playback
[   25.890899] msm-snd-sdm845 sound: ASoC: can't get playback BE for Slimbus6 Playback
[   25.890905] msm-snd-sdm845 sound: ASoC: can't get playback BE for Slimbus5 Playback
[   25.890910] msm-snd-sdm845 sound: ASoC: can't get playback BE for Slimbus4 Playback
[   25.890916] msm-snd-sdm845 sound: ASoC: can't get playback BE for Slimbus3 Playback
[   25.890921] msm-snd-sdm845 sound: ASoC: can't get playback BE for Slimbus2 Playback
[   25.890926] msm-snd-sdm845 sound: ASoC: can't get playback BE for Slimbus1 Playback
[   25.890955] msm-snd-sdm845 sound: ASoC: can't get playback BE for Display Port Playback
[   25.890960] msm-snd-sdm845 sound: ASoC: can't get playback BE for HDMI Playback

Here is full dmesg dmesg550.log

RussianNeuroMancer commented 4 years ago

Noticed I been missing UCM configs. Put it into /usr/share/alsa/ucm2 and msm-snd-sdm845 is trying to start now, but there is no audio nevertheless:

[    9.597888] wcd934x-slim 217:250:1:0: wcd934x chip id major 0x108, minor 0x1
[    9.660378] wcd934x-pinctrl wcd934x-pinctrl.3.auto: DMA mask not set
[    9.672946] qcom-soundwire wcd934x-soundwire.4.auto: DMA mask not set
[    9.677387] qcom-soundwire wcd934x-soundwire.4.auto: Qualcomm Soundwire controller v1.3.0 Registered
[    9.681678] qcom-soundwire wcd934x-soundwire.4.auto: CMD error, fifo status 0x3e00012f
[    9.718057] wcd934x-codec wcd934x-codec.2.auto: WCD934X Minor:0x1 Version:0x411
[    9.738486] msm-snd-sdm845 sound: wcd934x_tx1 <-> SLIMBUS_0_TX mapping ok
[   10.213327] qcom-soundwire wcd934x-soundwire.4.auto: CMD error, fifo status 0x3e00012f
[   10.747239] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux RX INT0 MIX2 INP has no paths
[   10.751055] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux RX INT1 MIX2 INP has no paths
[   10.752159] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux RX INT2 MIX2 INP has no paths
[   10.753615] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux RX INT3 MIX2 INP has no paths
[   10.755443] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux RX INT4 MIX2 INP has no paths
[   10.756909] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux RX INT7 MIX2 INP has no paths
[   10.769050] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux CDC_IF TX9 MUX has no paths
[   10.770370] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux CDC_IF TX10 MUX has no paths
[   10.772026] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux CDC_IF TX11 MUX has no paths
[   10.773183] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux CDC_IF TX11 INP1 MUX has no paths
[   10.775281] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux CDC_IF TX13 MUX has no paths
[   10.776442] wcd934x-codec wcd934x-codec.2.auto: ASoC: mux CDC_IF TX13 INP1 MUX has no paths

Full dmesg

andersson commented 4 years ago

@RussianNeuroMancer I don't know why this differ between Srinivas' machine and mine, but I've had to make the following adjustment to the ucm files to get it working in my Arch Linux installation.

https://github.com/andersson/alsa-lib/commit/b7b652f4ff458027f0c3d639869bc2af43efbdf5

RussianNeuroMancer commented 4 years ago

I've had to make the following adjustment to the ucm files to get it working in my Arch Linux installation

I tried to download this folder and copy it to /usr/share/alsa/ucm and /usr/share/alsa/ucm2 (not sure which one should be used; I deleted previous UCM from Srinivas repo) and also deleted /var/lib/alsa/asound.state but this does not help, dmesg is the same (I could upload newer one, if necessary).

RussianNeuroMancer commented 4 years ago

https://github.com/aarch64-laptops/build/issues/24#issuecomment-648744972