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 <[email protected]> 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 <[email protected]> wrote: >> >> On Fri, Nov 5, 2021 at 3:41 AM Tommy He <[email protected]> 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 <[email protected]> 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 <[email protected]> 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 -- [email protected] >>>> > To unsubscribe send an email to [email protected] >>>> > 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/[email protected] >>>> > 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 -- [email protected] >>> To unsubscribe send an email to [email protected] >>> 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/[email protected] >>> 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 -- [email protected] To unsubscribe send an email to [email protected] 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/[email protected] Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
