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