Wednesday, December 1, 2021

[fedora-arm] Re: HDMI Audio output on Pine64 with Fedora 35

Thanks for following up with a message about the latest development.

Indeed in Armbian the HDMI Audio output is identified as the same as the analog output.

On Tue, Nov 30, 2021 at 6:44 AM Peter Robinson <pbrobinson@gmail.com> wrote:
So a note from an upstream kernel thread [1] and basically there needs
to be a new DW HDMI audio driver rather than "simple audio card",
apparently it's almost done but it hasn't been posted for review and
that may take some time.

[1] https://www.spinics.net/lists/arm-kernel/msg936293.html

On Mon, Nov 8, 2021 at 8:30 AM Tommy He <lovenemesis@gmail.com> wrote:
>
> Ian,
>
> Thanks for the extra effort to look into the kernel tree! Not sure why it wasn't merged but probably because of decreased interests about this SBC.
> I guess I will have to choose between modern Fedora and HDMI Audio Armbian, then.
>
> On a side note, I notice Pine64+ was marked with NIC instablibility on Wiki for Fedora 35: https://fedoraproject.org/wiki/Architectures/ARM/Fedora_Linux_35
> In my experience it seems to run stable enough to download and finish all post-launch upgrades. I will try more and update the Wiki accordingly.
>
> Thanks to all who have helped me with this!
>
> Tommy
>
>
>
>
> On Sun, Nov 7, 2021 at 9:21 PM Ian McInerney <ian.s.mcinerney@ieee.org> wrote:
>>
>> On Fri, Nov 5, 2021 at 3:41 AM Tommy He <lovenemesis@gmail.com> wrote:
>>>
>>> Like the content in alsa-ucm package?
>>>
>>> I checked the corresponding folder(/usr/share/alsa) under Armbian. There's no folder like ucm2/ as on Fedora.
>>>
>>> Out of curiosity, I checked the kernel build configure for both and may step on the cause:
>>>
>>> On Fedora with kernel 5.14.14:
>>>
>>> $ cat /boot/config-5.14.14-300.fc35.aarch64 | grep CONFIG_DRM_SUN4I
>>> CONFIG_DRM_SUN4I=m
>>> CONFIG_DRM_SUN4I_HDMI=m
>>> CONFIG_DRM_SUN4I_HDMI_CEC=y
>>> CONFIG_DRM_SUN4I_BACKEND=m
>>>
>>> While on Armbian with kernel 5.10.16:
>>>
>>> $ zcat /proc/config.gz | grep CONFIG_DRM_SUN4I
>>> CONFIG_DRM_SUN4I=y
>>> CONFIG_DRM_SUN4I_HDMI=y
>>> CONFIG_DRM_SUN4I_HDMI_AUDIO=y
>>> CONFIG_DRM_SUN4I_HDMI_CEC=y
>>> CONFIG_DRM_SUN4I_BACKEND=y
>>>
>>> Note it has an extra kernel build configure that is dedicated to HDMI audio.
>>> It would be good if I can recompile a fedora kernel with that build configuration enabled to test. However, I am not sure how to do that on Aarch64. I only knew how to do it via kernel SRPM on x86_64.
>>>
>>
>> Armbian runs a heavily patched kernel with many things that aren't in the upstream kernel yet, and I think the CONFIG_DRM_SUN4I_HDMI_AUDIO config option is one of them that is not in the upstream kernel yet. Looking through the kernel tree, they don't have the audio driver for the sun4i HDMI device merged (there was a v3 of the patch series proposing it over a year ago, but I haven't found anything since). Since it isn't in the upstream kernel, you won't have that config option available in a Fedora kernel sources.
>>
>> -Ian
>>
>>>
>>> Kind regards,
>>>
>>> Tommy
>>>
>>>
>>> On Thu, Nov 4, 2021 at 3:48 AM Peter Robinson <pbrobinson@gmail.com> wrote:
>>>>
>>>> Does Armbian ship a UCM2 profile for the device that's not upstream?
>>>>
>>>> On Wed, Nov 3, 2021 at 7:59 AM Tommy He <lovenemesis@gmail.com> wrote:
>>>> >
>>>> > Hello,
>>>> >
>>>> > My Pine64 has served my daughter well for her online courses during the pandemic, loaded with Armbian. As someone more into Fedora, I'm always looking for opportunity to switch on this cheap SBC.
>>>> > It hasn't been successful until Fedora 35 XFCE AArch64. With the help of arm-image-installer, the recent AArch64 booted and runs quite well, with one exception: no Sound from HDMI port.
>>>> > There's audio from 3.5mm jack thus I'm pretty sure the player, codec and sound server are all right.
>>>> >
>>>> > I tried to poke around the XFCE sound server widget but it seems HDMI wasn't recognized as a device under Fedora 35. Below are output from Fedora running updated kernel 5.14.14:
>>>> >
>>>> > $ aplay -l
>>>> > **** List of PLAYBACK Hardware Devices ****
>>>> > card 0: sun50ia64audio [sun50i-a64-audio], device 0: 1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0 [1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0]
>>>> >   Subdevices: 1/1
>>>> >   Subdevice #0: subdevice #0
>>>> >
>>>> > $ lsmod
>>>> > Module                  Size  Used by
>>>> > snd_seq_dummy          16384  0
>>>> > snd_hrtimer            20480  1
>>>> > nft_fib_inet           16384  1
>>>> > nft_fib_ipv4           16384  1 nft_fib_inet
>>>> > nft_fib_ipv6           16384  1 nft_fib_inet
>>>> > nft_fib                16384  3 nft_fib_ipv6,nft_fib_ipv4,nft_fib_inet
>>>> > nft_reject_inet        16384  6
>>>> > nf_reject_ipv4         16384  1 nft_reject_inet
>>>> > nf_reject_ipv6         20480  1 nft_reject_inet
>>>> > nft_reject             16384  1 nft_reject_inet
>>>> > nft_ct                 24576  11
>>>> > nft_chain_nat          16384  2
>>>> > nf_nat                 49152  1 nft_chain_nat
>>>> > nf_conntrack          176128  2 nf_nat,nft_ct
>>>> > nf_defrag_ipv6         24576  1 nf_conntrack
>>>> > nf_defrag_ipv4         16384  1 nf_conntrack
>>>> > rfkill                 40960  1
>>>> > ip_set                 57344  0
>>>> > nf_tables             217088  204 nft_ct,nft_reject_inet,nft_fib_ipv6,nft_fib_ipv4,nft_chain_nat,nft_reject,nft_fib,nft_fib_inet
>>>> > nfnetlink              20480  3 nf_tables,ip_set
>>>> > qrtr                   28672  4
>>>> > ns                     32768  1 qrtr
>>>> > sunrpc                626688  1
>>>> > vfat                   28672  1
>>>> > fat                    94208  1 vfat
>>>> > snd_soc_hdmi_codec     24576  0
>>>> > dw_hdmi_cec            16384  0
>>>> > dw_hdmi_i2s_audio      16384  0
>>>> > sun50i_codec_analog    36864  1
>>>> > snd_soc_simple_card    24576  2
>>>> > sun4i_i2s              24576  2
>>>> > snd_soc_simple_card_utils    28672  1 snd_soc_simple_card
>>>> > axp20x_adc             20480  0
>>>> > sun8i_adda_pr_regmap    16384  1 sun50i_codec_analog
>>>> > axp20x_pek             16384  0
>>>> > sun8i_codec            49152  1
>>>> > snd_soc_core          311296  6 sun4i_i2s,snd_soc_hdmi_codec,sun50i_codec_analog,sun8i_codec,snd_soc_simple_card_utils,snd_soc_simple_card
>>>> > snd_compress           32768  1 snd_soc_core
>>>> > ac97_bus               16384  1 snd_soc_core
>>>> > snd_pcm_dmaengine      20480  1 snd_soc_core
>>>> > snd_seq                98304  7 snd_seq_dummy
>>>> > snd_seq_device         20480  1 snd_seq
>>>> > snd_pcm               143360  6 sun4i_i2s,snd_soc_hdmi_codec,snd_compress,sun8i_codec,snd_soc_core,snd_pcm_dmaengine
>>>> > joydev                 32768  0
>>>> > sun8i_rotate           28672  0
>>>> > sun8i_di               28672  0
>>>> > sunxi_cedrus           53248  0
>>>> > sun8i_drm_hdmi         24576  0
>>>> > v4l2_mem2mem           45056  3 sunxi_cedrus,sun8i_rotate,sun8i_di
>>>> > dw_hdmi                53248  2 sun8i_drm_hdmi,dw_hdmi_i2s_audio
>>>> > videobuf2_dma_contig    24576  3 sunxi_cedrus,sun8i_rotate,sun8i_di
>>>> > videobuf2_memops       20480  1 videobuf2_dma_contig
>>>> > snd_timer              45056  3 snd_seq,snd_hrtimer,snd_pcm
>>>> > snd                   114688  13 snd_seq,snd_seq_device,snd_soc_hdmi_codec,snd_timer,snd_compress,snd_soc_core,snd_pcm
>>>> > videobuf2_v4l2         32768  4 sunxi_cedrus,sun8i_rotate,sun8i_di,v4l2_mem2mem
>>>> > soundcore              20480  1 snd
>>>> > sun8i_thermal          16384  0
>>>> > videobuf2_common       69632  7 sunxi_cedrus,sun8i_rotate,videobuf2_dma_contig,videobuf2_v4l2,sun8i_di,v4l2_mem2mem,videobuf2_memops
>>>> > nvmem_sunxi_sid        16384  1
>>>> > videodev              278528  6 sunxi_cedrus,sun8i_rotate,videobuf2_v4l2,sun8i_di,videobuf2_common,v4l2_mem2mem
>>>> > mc                     65536  5 sunxi_cedrus,videodev,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
>>>> > sun8i_mixer            45056  0
>>>> > cpufreq_dt             20480  0
>>>> > fuse                  167936  1
>>>> > zram                   32768  2
>>>> > ip_tables              32768  0
>>>> > mmc_block              53248  3
>>>> > axp20x_battery         16384  0
>>>> > axp20x_ac_power        16384  0
>>>> > industrialio           94208  3 axp20x_battery,axp20x_ac_power,axp20x_adc
>>>> > axp20x_regulator       49152  6
>>>> > pinctrl_axp209         16384  0
>>>> > axp20x_rsb             16384  0
>>>> > dwmac_sun8i            28672  0
>>>> > stmmac_platform        24576  1 dwmac_sun8i
>>>> > stmmac                249856  2 dwmac_sun8i,stmmac_platform
>>>> > pcs_xpcs               24576  1 stmmac
>>>> > phylink                53248  1 stmmac
>>>> > crct10dif_ce           20480  1
>>>> > lima                   69632  2
>>>> > display_connector      20480  0
>>>> > sunxi                  24576  0
>>>> > ghash_ce               24576  0
>>>> > phy_generic            20480  2 sunxi
>>>> > sunxi_rsb              24576  1 axp20x_rsb
>>>> > musb_hdrc             139264  1 sunxi
>>>> > des_generic            16384  0
>>>> > libdes                 24576  1 des_generic
>>>> > gpu_sched              49152  1 lima
>>>> > ohci_platform          16384  0
>>>> > mdio_mux               16384  1 dwmac_sun8i
>>>> > sunxi_wdt              20480  0
>>>> > sun4i_drm              20480  6
>>>> > sun4i_frontend         20480  1 sun4i_drm
>>>> > i2c_mv64xxx            24576  0
>>>> > sun4i_tcon             40960  1 sun4i_drm
>>>> > sun8i_tcon_top         20480  3 sun8i_drm_hdmi,sun4i_tcon,sun4i_drm
>>>> > drm_kms_helper        294912  8 sun8i_mixer,sun8i_drm_hdmi,sun4i_frontend,sun4i_tcon,sun4i_drm,dw_hdmi
>>>> > ohci_hcd               61440  1 ohci_platform
>>>> > sunxi_mmc              32768  0
>>>> > phy_sun4i_usb          28672  6 sunxi
>>>> > udc_core               69632  1 musb_hdrc
>>>> > sun8i_ce               49152  0
>>>> > syscopyarea            16384  1 drm_kms_helper
>>>> > sysfillrect            16384  1 drm_kms_helper
>>>> > sysimgblt              16384  1 drm_kms_helper
>>>> > fb_sys_fops            20480  1 drm_kms_helper
>>>> > cec                    73728  3 drm_kms_helper,dw_hdmi_cec,dw_hdmi
>>>> > sun6i_dma              36864  2
>>>> > ehci_platform          20480  0
>>>> > drm                   634880  15 gpu_sched,sun8i_mixer,drm_kms_helper,display_connector,sun8i_drm_hdmi,lima,sun4i_frontend,sun4i_tcon,sun4i_drm,dw_hdmi
>>>> > aes_neon_bs            32768  0
>>>> >
>>>> >
>>>> > In comparison, the aplay and lsmod output from Armbian running mainline kernel 5.10.16:
>>>> >
>>>> > $ aplay -l
>>>> > **** List of PLAYBACK Hardware Devices ****
>>>> > card 0: sun50ia64audio [sun50i-a64-audio], device 0: 1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0 [1c22c00.dai-sun8i-codec-aif1 sun8i-codec-aif1-0]
>>>> >   Subdevices: 1/1
>>>> >   Subdevice #0: subdevice #0
>>>> > card 1: sun50ia64hdmi [sun50i-a64-hdmi], device 0: 1c22800.i2s-i2s-hifi i2s-hifi-0 [1c22800.i2s-i2s-hifi i2s-hifi-0]
>>>> >   Subdevices: 1/1
>>>> >   Subdevice #0: subdevice #0
>>>> >
>>>> > $ lsmod
>>>> > Module                  Size  Used by
>>>> > fuse                  122880  3
>>>> > overlay               114688  2
>>>> > bnep                   28672  2
>>>> > snd_soc_hdmi_codec     20480  1
>>>> > axp20x_ac_power        16384  0
>>>> > axp20x_battery         16384  0
>>>> > hci_uart              126976  0
>>>> > axp20x_adc             20480  0
>>>> > btqca                  20480  1 hci_uart
>>>> > btrtl                  24576  1 hci_uart
>>>> > btbcm                  24576  1 hci_uart
>>>> > btintel                24576  1 hci_uart
>>>> > bluetooth             577536  13 btrtl,btqca,btintel,hci_uart,btbcm,bnep
>>>> > ecdh_generic           16384  1 bluetooth
>>>> > dw_hdmi_i2s_audio      16384  0
>>>> > dw_hdmi_cec            16384  0
>>>> > rfkill                 28672  4 bluetooth
>>>> > hid_multitouch         28672  0
>>>> > ecc                    28672  1 ecdh_generic
>>>> > lima                   57344  11
>>>> > gpu_sched              32768  1 lima
>>>> > joydev                 32768  0
>>>> > sun4i_gpadc_iio        24576  0
>>>> > industrialio           65536  4 axp20x_battery,sun4i_gpadc_iio,axp20x_ac_power,axp20x_adc
>>>> > sun4i_i2s              24576  4
>>>> > sunxi_cedrus           40960  0
>>>> > videobuf2_dma_contig    24576  1 sunxi_cedrus
>>>> > v4l2_mem2mem           36864  1 sunxi_cedrus
>>>> > videobuf2_memops       20480  1 videobuf2_dma_contig
>>>> > videobuf2_v4l2         24576  2 sunxi_cedrus,v4l2_mem2mem
>>>> > videobuf2_common       49152  3 sunxi_cedrus,videobuf2_v4l2,v4l2_mem2mem
>>>> > videodev              237568  4 sunxi_cedrus,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
>>>> > mc                     49152  5 sunxi_cedrus,videodev,videobuf2_v4l2,videobuf2_common,v4l2_mem2mem
>>>> > display_connector      20480  0
>>>> > snd_soc_simple_card    24576  0
>>>> > snd_soc_simple_card_utils    24576  1 snd_soc_simple_card
>>>> > zram                   32768  2
>>>> > cpufreq_dt             20480  0
>>>> > sch_fq_codel           24576  2
>>>> > pinctrl_axp209         16384  0
>>>> > realtek                24576  1
>>>> > i2c_mv64xxx            24576  0
>>>> > dwmac_sun8i            28672  0
>>>> > mdio_mux               16384  1 dwmac_sun8i
>>>> >
>>>> > Despite snd_soc_hdmi_codec being loaded in both systems, the Fedora 35 lacks the sound subdevice sun50ia64hdmi that presents under Armbian.
>>>> >
>>>> > I had tried searching Pine64 and Armbian forums for clues. But the threads showing up are either several years ago on BSP kernel, or trying to get sound from 3.5mm jack port.
>>>> >
>>>> > Much appreciated if someone here can point me in the right direction to further diagnose or solve this problem.
>>>> >
>>>> > Kind regards,
>>>> > Tommy
>>>> > --
>>>> > Take a Deep Breath out of Windows
>>>> > _______________________________________________
>>>> > arm mailing list -- arm@lists.fedoraproject.org
>>>> > To unsubscribe send an email to arm-leave@lists.fedoraproject.org
>>>> > Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>>>> > List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>>>> > List Archives: https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org
>>>> > Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
>>>
>>>
>>>
>>> --
>>> Take a Deep Breath out of Windows
>>> _______________________________________________
>>> arm mailing list -- arm@lists.fedoraproject.org
>>> To unsubscribe send an email to arm-leave@lists.fedoraproject.org
>>> Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
>>> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
>>> List Archives: https://lists.fedoraproject.org/archives/list/arm@lists.fedoraproject.org
>>> Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
>
>
>
> --
> Take a Deep Breath out of Windows


--
Take a Deep Breath out of Windows

No comments:

Post a Comment