Hdmi audio doesn't work on db820c


#1

HI,

I tried 4.14 kernel branch. Hdmi audio doesn’t work. Can someone please let me know, is it tested?

Thanks,
Pradeep


#2

In my case, HDMI audio was glitchy (using the latest 201 Debian release). The solution was:

[1] Reinstall PulseAudio
sudo apt-get -y remove --purge pulseaudio
sudo apt-get -y install pulseaudio
sudo apt-get -y install pavucontrol

[2] Edit file “/etc/pulse/default.pa” and include “tsched=0” (after load-module module-udev-detect):

load-module module-udev-detect tsched=0

[3] Reboot

Reference :
https://wiki.archlinux.org/index.php/PulseAudio/Troubleshooting#Glitches.2C_skips_or_crackling

(look for “Glitches, skips or crackling” in this reference)

Note: maybe, step [1] can be skipped (I just tried it first). Steps [2] and [3] may fix the issue.

I hope this helps.


#3

thanks cezman. I will try on monday.


#4

Hi Cezman,

Audio works with the change, you mentioned.

Thanks,
Pradeep


#5

Hello, pradeep,
which Debian release do you test, the HDMI audio can work?
I tested the latest 293 Debian release and previous versions, the HDMI can not worked

Thanks
feng


#6

Hi @chen,

I tested with below one.
http://snapshots.linaro.org/96boards/dragonboard820c/linaro/debian/225/

Thanks,
Pradeep


#7

Hello, @pradeep

First of all, thank you very much.

I tested with the 225 release, but HDMI is still silent.

except modifying the load-module-udev-detect tsched = 0, what else needs to be done??

Thanks
feng


#8

Hi @chen,

It should work with 4.14 branch. Try with a different tv and check once.

Thanks,
Pradeep


#9

Hi @pradeep
It is sill silent, with different TV. I doubt it’s not the TV problem.

Thanks
feng


#10

Hi @chen,

Ok, may be some thing broken in newer kernel. check out to below commit, build kernel and try. This should work for you.

git checkout 1d9f9c9a67bf9e3e8501095a87e3f05e2ae007e4

Thanks,
Pradeep


#11

Hi,@pradeep
Sorry, it does not work,
But there will be the following log , Do you have ever met it ?

[ 13.577188] q6asm-dai q6asm-dai: Linked as a consumer to 1600000.arm,smmu-lpass_q6
[ 13.585573] msm-snd-apq8096 sound: bound q6asm-dai (ops q6asm_dai_comp_ops [q6asm_dai])
[ 13.592533] ath10k_pci 0000:01:00.0: failed to fetch board data for bus=pci,vendor=168c,device=003e,subsystem-vendor=168c,subsystem-device=3367 from ath10k/QCA6174/hw3.0/board-2.bin
[ 13.593201] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 ed5f849a
[ 13.617641] msm-snd-apq8096 sound: bound q6afe-dai (ops q6afe_dai_comp_ops [q6afe_dai])
[ 13.624091] msm-snd-apq8096 sound: bound q6routing (ops q6routing_dai_comp_ops [q6routing])
[ 13.624435] hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: no source widget found for Playback
[ 13.624438] hdmi-audio-codec hdmi-audio-codec.1.auto: ASoC: Failed to add route Playback -> direct -> TX
[ 13.625811] msm-snd-apq8096 sound: snd-soc-dummy-dai <-> MultiMedia1 mapping ok
[ 13.625851] msm-snd-apq8096 sound: i2s-hifi <-> HDMI mapping ok
[ 13.625919] msm-snd-apq8096 sound: ASoC: no source widget found for MCLK
[ 13.625921] msm-snd-apq8096 sound: ASoC: Failed to add route MCLK -> direct -> RX_BIAS

[ 150.731669] q6asm-dai q6asm-dai: DSP returned error[1]
[ 150.738898] MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1
[ 150.743236] MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1
[ 150.749647] MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1
[ 150.756242] MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1
[ 150.762809] MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1
[ 150.769785] q6asm-dai q6asm-dai: DSP returned error[1]
[ 150.777255] MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1
[ 150.781393] MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1
[ 150.787824] MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1
[ 150.794386] MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1
[ 150.800947] MultiMedia1: ASoC: no backend DAIs enabled for MultiMedia1
[ 150.807905] q6asm-dai q6asm-dai: DSP returned error[1]

Thanks,
feng


#12

Hi @chen,

Playing audio with VLC/ any other app should be fine. Have you done flashing the meta binaries(particularly NON-HLOS.bin is needed)? which board are you using? From the boot logs, check whether adsp firmware is loaded or not.

Thanks,
Pradeep


#13

Check sound card is registered or not. It should list db820c.
cat /proc/asound/cards

Thanks,
Pradeep


#14

Hi,@pradeep,
The BOARDS is arrow db820c,which can be found,by 96boards web.
the NON-HLOS.bin is not flashed, we do not find it, how do you get it ? the adsp .bin has the same question
db820c cards can be found, by cat proc/asond/cards

Thanks
feng


#15

Hi @chen,

I think adsp firmware is packed in rootfs. check in /lib/firmware. It is ok. NON-HLOS is not needed.
I am sorry, i don’t know why it doesn’t work for you. May be somone from linaro can help?

Thanks,
Pradeep


#16

Hi,Pradeep,
Thank you very much,
we change a tv, the hdmi sound can work,
maybe the hdmi sound driver is incompatible with TV of different brands.

Thanks
chen