[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#995923: linux: Regression in 5.14: no more multichannel audio on Rock64



Source: linux
Version: 5.14-1~exp1
Severity: normal
Tags: upstream

In kernel 5.13 on my Rock64, `pactl list cards` correctly identified my
AVR (SC-1224) and had various multichannel audio profiles I could choose from.
Since kernel 5.14, `paclt list cards` no longer identifies my AVR and I
only have stereo audio profiles.

I've build and tested various kernel versions myself based off commit
e4e2aea3e840406042537c5ef4970d9e8560a103 (Merge branch 'rockchip-spdif'
into 'master') which has all needed audio modules (afaik) enabled for
Rock64.
The 5.13.12-1~exp2 is slightly older and therefor misses the SPDIF card.
I used the same dtb in all the test, which is build from 5.14.6, and I've
kept all other software at the same sofware versions, so it wouldn't affect
the results.
I think that means the only (real) change is the upstream source code.

Output of `uname -a` and `pactl list cards` on the various kernels:
========================================================
diederik@bagend:~$ ssh soundserver
Linux soundserver 5.13.0-trunk-arm64 #1 SMP Debian 5.13.12-1~exp2 (2021-08-21) aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Oct  7 09:29:48 2021 from 192.168.2.50
Initialising new SSH agent... succeeded
diederik@soundserver:~$ uname -a
Linux soundserver 5.13.0-trunk-arm64 #1 SMP Debian 5.13.12-1~exp2 (2021-08-21) aarch64 GNU/Linux
diederik@soundserver:~$ pactl list cards
Card #0
        Name: alsa_card.platform-hdmi-sound
        Driver: module-alsa-card.c
        Owner Module: 4
        Properties:
                alsa.card = "0"
                alsa.card_name = "HDMI"
                alsa.long_card_name = "pine64-rock64_rk3328-"
                alsa.driver_name = "snd_soc_simple_card"
                device.bus_path = "platform-hdmi-sound"
                sysfs.path = "/devices/platform/hdmi-sound/sound/card0"
                device.form_factor = "internal"
                device.string = "0"
                device.description = "Built-in Audio"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Profiles:
                input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: yes)
                output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: yes)
                output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: yes)
                output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: output:hdmi-surround71
        Ports:
                analog-input: Analog Input (type: Analog, priority: 10000, latency offset: 0 usec, availability unknown)
                        Part of profile(s): input:stereo-fallback
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability unknown)
                        Properties:
                                device.icon_name = "video-display"
                                device.product.name = "SC-1224"
                        Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71
diederik@soundserver:~$ su -l
Password:
root@soundserver:~# vim /etc/default/grub
root@soundserver:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.14.0-trunk-arm64
Found initrd image: /boot/initrd.img-5.14.0-trunk-arm64
Found linux image: /boot/vmlinuz-5.13.0-1-arm64
Found initrd image: /boot/initrd.img-5.13.0-1-arm64
Found linux image: /boot/vmlinuz-5.13.0-trunk-arm64
Found initrd image: /boot/initrd.img-5.13.0-trunk-arm64
Found linux image: /boot/vmlinuz-5.10.0-8-arm64
Found initrd image: /boot/initrd.img-5.10.0-8-arm64
done
root@soundserver:~# reboot
Connection to soundserver closed by remote host.
Connection to soundserver closed.
diederik@bagend:~$ ssh soundserver
Linux soundserver 5.13.0-1-arm64 #1 SMP Debian 5.13.19-1 (2021-10-03) aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Oct  7 23:23:06 2021 from 192.168.2.50
Initialising new SSH agent... succeeded
diederik@soundserver:~$ uname -a
Linux soundserver 5.13.0-1-arm64 #1 SMP Debian 5.13.19-1 (2021-10-03) aarch64 GNU/Linux
diederik@soundserver:~$ pactl list cards
Card #0
        Name: alsa_card.platform-hdmi-sound
        Driver: module-alsa-card.c
        Owner Module: 4
        Properties:
                alsa.card = "1"
                alsa.card_name = "HDMI"
                alsa.long_card_name = "pine64-rock64_rk3328-"
                alsa.driver_name = "snd_soc_simple_card"
                device.bus_path = "platform-hdmi-sound"
                sysfs.path = "/devices/platform/hdmi-sound/sound/card1"
                device.form_factor = "internal"
                device.string = "1"
                device.description = "Built-in Audio"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Profiles:
                input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: yes)
                output:hdmi-stereo: Digital Stereo (HDMI) Output (sinks: 1, sources: 0, priority: 5900, available: yes)
                output:hdmi-surround: Digital Surround 5.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: yes)
                output:hdmi-surround71: Digital Surround 7.1 (HDMI) Output (sinks: 1, sources: 0, priority: 800, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: output:hdmi-surround71
        Ports:
                analog-input: Analog Input (type: Analog, priority: 10000, latency offset: 0 usec, availability unknown)
                        Part of profile(s): input:stereo-fallback
                hdmi-output-0: HDMI / DisplayPort (type: HDMI, priority: 5900, latency offset: 0 usec, availability unknown)
                        Properties:
                                device.icon_name = "video-display"
                                device.product.name = "SC-1224"
                        Part of profile(s): output:hdmi-stereo, output:hdmi-surround, output:hdmi-surround71

Card #1
        Name: alsa_card.platform-spdif-sound
        Driver: module-alsa-card.c
        Owner Module: 5
        Properties:
                alsa.card = "0"
                alsa.card_name = "SPDIF"
                alsa.long_card_name = "pine64-rock64_rk3328-"
                alsa.driver_name = "snd_soc_simple_card"
                device.bus_path = "platform-spdif-sound"
                sysfs.path = "/devices/platform/spdif-sound/sound/card0"
                device.form_factor = "internal"
                device.string = "0"
                device.description = "Built-in Audio"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Profiles:
                output:iec958-stereo: Digital Stereo (IEC958) Output (sinks: 1, sources: 0, priority: 5500, available: yes)
                output:iec958-ac3-surround-51: Digital Surround 5.1 (IEC958/AC3) Output (sinks: 1, sources: 0, priority: 300, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: output:iec958-stereo
        Ports:
                iec958-stereo-output: Digital Output (S/PDIF) (type: SPDIF, priority: 0, latency offset: 0 usec, availability unknown)
                        Part of profile(s): output:iec958-stereo
diederik@soundserver:~$ su -l
Password:
root@soundserver:~# vim /etc/default/grub
root@soundserver:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.14.0-trunk-arm64
Found initrd image: /boot/initrd.img-5.14.0-trunk-arm64
Found linux image: /boot/vmlinuz-5.13.0-1-arm64
Found initrd image: /boot/initrd.img-5.13.0-1-arm64
Found linux image: /boot/vmlinuz-5.13.0-trunk-arm64
Found initrd image: /boot/initrd.img-5.13.0-trunk-arm64
Found linux image: /boot/vmlinuz-5.10.0-8-arm64
Found initrd image: /boot/initrd.img-5.10.0-8-arm64
done
root@soundserver:~# reboot
Connection to soundserver closed by remote host.
Connection to soundserver closed.
diederik@bagend:~$ ssh soundserver
Linux soundserver 5.14.0-trunk-arm64 #1 SMP Debian 5.14-1 (2021-10-01) aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Oct  7 23:25:15 2021 from 192.168.2.50
Initialising new SSH agent... succeeded
diederik@soundserver:~$ uname -a
Linux soundserver 5.14.0-trunk-arm64 #1 SMP Debian 5.14-1 (2021-10-01) aarch64 GNU/Linux
diederik@soundserver:~$ pactl list cards
Card #0
        Name: alsa_card.platform-hdmi-sound
        Driver: module-alsa-card.c
        Owner Module: 4
        Properties:
                alsa.card = "1"
                alsa.card_name = "HDMI"
                alsa.long_card_name = "pine64-rock64_rk3328-"
                alsa.driver_name = "snd_soc_simple_card"
                device.bus_path = "platform-hdmi-sound"
                sysfs.path = "/devices/platform/hdmi-sound/sound/card1"
                device.form_factor = "internal"
                device.string = "1"
                device.description = "Built-in Audio"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Profiles:
                input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: yes)
                output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: output:stereo-fallback
        Ports:
                analog-input: Analog Input (type: Analog, priority: 10000, latency offset: 0 usec, availability unknown)
                        Part of profile(s): input:stereo-fallback
                analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown)
                        Part of profile(s): output:stereo-fallback

Card #1
        Name: alsa_card.platform-spdif-sound
        Driver: module-alsa-card.c
        Owner Module: 5
        Properties:
                alsa.card = "0"
                alsa.card_name = "SPDIF"
                alsa.long_card_name = "pine64-rock64_rk3328-"
                alsa.driver_name = "snd_soc_simple_card"
                device.bus_path = "platform-spdif-sound"
                sysfs.path = "/devices/platform/spdif-sound/sound/card0"
                device.form_factor = "internal"
                device.string = "0"
                device.description = "Built-in Audio"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Profiles:
                output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: output:stereo-fallback
        Ports:
                analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown)
                        Part of profile(s): output:stereo-fallback
diederik@soundserver:~$ su -l
Password:
root@soundserver:~# vim /etc/default/grub
root@soundserver:~# update-grub
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-5.14.0-1-arm64
Found initrd image: /boot/initrd.img-5.14.0-1-arm64
Found linux image: /boot/vmlinuz-5.14.0-trunk-arm64
Found initrd image: /boot/initrd.img-5.14.0-trunk-arm64
Found linux image: /boot/vmlinuz-5.13.0-1-arm64
Found initrd image: /boot/initrd.img-5.13.0-1-arm64
Found linux image: /boot/vmlinuz-5.13.0-trunk-arm64
Found initrd image: /boot/initrd.img-5.13.0-trunk-arm64
Found linux image: /boot/vmlinuz-5.10.0-8-arm64
Found initrd image: /boot/initrd.img-5.10.0-8-arm64
done
root@soundserver:~# reboot
Connection to soundserver closed by remote host.
Connection to soundserver closed.
diederik@bagend:~$ ssh soundserver
Linux soundserver 5.14.0-1-arm64 #1 SMP Debian 5.14.10-1 (2021-10-07) aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Thu Oct  7 23:27:44 2021 from 192.168.2.50
Initialising new SSH agent... succeeded
diederik@soundserver:~$ uname -a
Linux soundserver 5.14.0-1-arm64 #1 SMP Debian 5.14.10-1 (2021-10-07) aarch64 GNU/Linux
diederik@soundserver:~$ pactl list cards
Card #0
        Name: alsa_card.platform-hdmi-sound
        Driver: module-alsa-card.c
        Owner Module: 4
        Properties:
                alsa.card = "1"
                alsa.card_name = "HDMI"
                alsa.long_card_name = "pine64-rock64_rk3328-"
                alsa.driver_name = "snd_soc_simple_card"
                device.bus_path = "platform-hdmi-sound"
                sysfs.path = "/devices/platform/hdmi-sound/sound/card1"
                device.form_factor = "internal"
                device.string = "1"
                device.description = "Built-in Audio"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Profiles:
                input:stereo-fallback: Stereo Input (sinks: 0, sources: 1, priority: 51, available: yes)
                output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: output:stereo-fallback
        Ports:
                analog-input: Analog Input (type: Analog, priority: 10000, latency offset: 0 usec, availability unknown)
                        Part of profile(s): input:stereo-fallback
                analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown)
                        Part of profile(s): output:stereo-fallback

Card #1
        Name: alsa_card.platform-spdif-sound
        Driver: module-alsa-card.c
        Owner Module: 5
        Properties:
                alsa.card = "0"
                alsa.card_name = "SPDIF"
                alsa.long_card_name = "pine64-rock64_rk3328-"
                alsa.driver_name = "snd_soc_simple_card"
                device.bus_path = "platform-spdif-sound"
                sysfs.path = "/devices/platform/spdif-sound/sound/card0"
                device.form_factor = "internal"
                device.string = "0"
                device.description = "Built-in Audio"
                module-udev-detect.discovered = "1"
                device.icon_name = "audio-card"
        Profiles:
                output:stereo-fallback: Stereo Output (sinks: 1, sources: 0, priority: 5100, available: yes)
                off: Off (sinks: 0, sources: 0, priority: 0, available: yes)
        Active Profile: output:stereo-fallback
        Ports:
                analog-output: Analog Output (type: Analog, priority: 9900, latency offset: 0 usec, availability unknown)
                        Part of profile(s): output:stereo-fallback
diederik@soundserver:~$
========================================================

At https://salsa.debian.org/diederik/linux/-/branches in the various
'rock64-audio-*' branches and 'master', you'll find the (minimal)
changes I've made to successfully build the kernel packages.

Cheers,
  Diederik


-- System Information:
Debian Release: bookworm/sid
  APT prefers testing
  APT policy: (990, 'testing'), (500, 'unstable')
Architecture: arm64 (aarch64)

Kernel: Linux 5.14.0-1-arm64 (SMP w/4 CPU threads)
Kernel taint flags: TAINT_CRAP, TAINT_UNSIGNED_MODULE
Locale: LANG=C.UTF-8, LC_CTYPE=C.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled


Reply to: