Jump to content

Audio no longer works after updating to Armbian 24.8.2


Go to solution Solved by PHLAK,

Recommended Posts

Posted (edited)

I've been using a few Rock Pi S devices as snapcast clients and after updating them to Armbian 24.8.2 audio does not work anymore.

 

This seems similar to this old post (fix PR).

 

Also, this PR may be a relevant to the issue.

 

https://paste.armbian.com/aziwayelen

 

$ snapclient --host [REDACTED]
2024-09-17 09-28-10.435 [Error] (Snapclient) PCM device "default" not found
2024-09-17 09-28-10.436 [Info] (Snapclient) Version 0.26.0
2024-09-17 09-28-10.437 [Info] (Connection) Resolving host IP for: [REDACTED]
2024-09-17 09-28-10.440 [Info] (Connection) Connecting
2024-09-17 09-28-10.442 [Notice] (Connection) Connected to 192.168.0.100
2024-09-17 09-28-10.442 [Info] (Connection) My MAC: "42:00:00:00:80:30", socket: 8
2024-09-17 09-28-10.518 [Info] (Controller) ServerSettings - buffer: 1000, latency: 0, volume: 75, muted: 0
2024-09-17 09-28-10.519 [Info] (Controller) Codec: flac, sampleformat: 48000:16:2
2024-09-17 09-28-10.520 [Info] (Player) Player name: alsa, device: default, description: <none>, idx: -1, sharing mode: unspecified, parameters: <none>
2024-09-17 09-28-10.520 [Info] (Player) Mixer mode: software, parameters: <none>
2024-09-17 09-28-10.520 [Info] (Player) Sampleformat: 48000:16:2, stream: 48000:16:2
2024-09-17 09-28-10.520 [Info] (Alsa) Using default buffer_time: 80 ms, default fragments: 4
ALSA lib confmisc.c:855:(parse_card) cannot find card '0'
ALSA lib conf.c:5180:(_snd_config_evaluate) function snd_func_card_inum returned error: No such file or directory
ALSA lib confmisc.c:422:(snd_func_concat) error evaluating strings
ALSA lib conf.c:5180:(_snd_config_evaluate) function snd_func_concat returned error: No such file or directory
ALSA lib confmisc.c:1334:(snd_func_refer) error evaluating name
ALSA lib conf.c:5180:(_snd_config_evaluate) function snd_func_refer returned error: No such file or directory
ALSA lib conf.c:5703:(snd_config_expand) Evaluate error: No such file or directory
ALSA lib pcm.c:2666:(snd_pcm_open_noupdate) Unknown PCM default
2024-09-17 09-28-10.528 [Error] (Alsa) Exception: Can't open default, error: No such file or directory, code: -2
2024-09-17 09-28-10.530 [Fatal] (Snapclient) Exception: Can't open default, error: No such file or directory
2024-09-17 09-28-10.530 [Notice] (Snapclient) Snapclient terminated.

 

$ aplay -l
aplay: device_list:274: no soundcards found...

 

When following the instructions on the official wiki to enable the audio jack I get a `Permission denied` error echoing a value to the `/sys/class/gpio/export` (but not gpio15).

 

$ sudo echo 15 > /sys/class/gpio/export
-bash: /sys/class/gpio/export: Permission denied

$ sudo cat /sys/class/gpio/export 
cat: /sys/class/gpio/export: Permission denied

$ ls -Al /sys/class/gpio/
total 0
--w------- 1 root root 4096 Sep 17 09:16 export
lrwxrwxrwx 1 root root    0 Sep 17 09:16 gpio15 -> ../../devices/platform/pinctrl/ff220000.gpio/gpiochip0/gpio/gpio15
lrwxrwxrwx 1 root root    0 Dec 31  1969 gpiochip0 -> ../../devices/platform/pinctrl/ff220000.gpio/gpio/gpiochip0
lrwxrwxrwx 1 root root    0 Dec 31  1969 gpiochip128 -> ../../devices/platform/pinctrl/ff260000.gpio/gpio/gpiochip128
lrwxrwxrwx 1 root root    0 Dec 31  1969 gpiochip32 -> ../../devices/platform/pinctrl/ff230000.gpio/gpio/gpiochip32
lrwxrwxrwx 1 root root    0 Dec 31  1969 gpiochip64 -> ../../devices/platform/pinctrl/ff240000.gpio/gpio/gpiochip64
lrwxrwxrwx 1 root root    0 Dec 31  1969 gpiochip96 -> ../../devices/platform/pinctrl/ff250000.gpio/gpio/gpiochip96
--w------- 1 root root 4096 Sep 17 09:36 unexport
Edited by PHLAK
Posted (edited)

Looks like this is broken again in Armbian 24.8.3 with kernel v6.11.0 and, even worse, when attempting to install another kerenl via `armbian-config` it says there are no other kernels available.

 

$ uname -a
Linux snapclient-kitchen 6.11.0-edge-rockchip64 #1 SMP PREEMPT Sun Sep 15 14:57:56 UTC 2024 aarch64 GNU/Linux

 

Edited by PHLAK
Posted
12 hours ago, PHLAK said:

like this is broken again in Armbian 24.8.3 with kernel v6.11.0

 

This is highly expected. We don't even try to support EDGE kernels at end user level.

 

This kernel is EOL and will be replaced with a v6.12.y in next year Q1 release. But we can't secure you that this problem will be fixed as support budget is negative (we have some support for other boards from Radxa) and we, nobody in the team, can't afford to spent days or weeks resolving this. However, you are welcome to spent at least time and join debugging this - problems is as yours as it is ours. The reasons why we keep build framework in a good state is that you can help resolving problems https://github.com/armbian/build We are and will always be too small to face this mountain of problems that are generated by everyone, compensated by no-one. Not by us, but all community that is poking kernels, and hardware dealers that are flooding this market.

Posted

Thanks @Igor, I think I was on the edge kernel due to my attempts to fix this issue when it first occurred so I downgraded back to the current (v6.6.60) kernel.

 

$ uname -a
Linux snapclient-kitchen 6.6.60-current-rockchip64 #1 SMP PREEMPT Fri Nov  8 15:28:28 UTC 2024 aarch64 GNU/Linux


Unfortunately the issue is still present.
 

$ aplay -l
aplay: device_list:274: no soundcards found...

$ sudo echo 15 > /sys/class/gpio/export
-bash: /sys/class/gpio/export: Permission denied

$ sudo cat /sys/class/gpio/export
cat: /sys/class/gpio/export: Permission denied

 

Posted (edited)

Also, I totally understand the issue of support in open source projects. I maintain open source software of my own and respect the time and effort it takes.

 

That being said I'm willing to help debug this regression. However, I have no idea how to get started other than what I mentioned in my original post (e.g. PR #6886 possibly being related to the issue). If you have any suggestions or documentation I can follow to get started debugging this I'm happy to help.

Edited by PHLAK
Posted
22 minutes ago, PHLAK said:

PR #6886 possibly being related to the issue

 

That was quick fix to secure compiling. Checking all functions on all devices for each kernel upgrade is impossible, so I don't even try. Automated testing is primitive and only catches fatal problems, while now not even that as its currently broken. And this device is not a part of this. I only have one of such device, probably from pre-production series.

 

Try to use a device-tree from a kernel that works - on 6.6 and 6.11. Then lets diff the code.

Posted (edited)

I see you use or need some GPIO in order to have audio device enabled. In newer kernel versions GPIO numbering will be sort of random and AFAIK this sysfs method will disappear.

So I think for future, extra code is needed to find the correct GPIO and then also treat it like a character device. So open, close etc. See libgpiod for more info.

Edited by eselarm
Posted
5 minutes ago, Igor said:

Try to use a device-tree from a kernel that works - on 6.6 and 6.11. Then lets diff the code.

 

I get what that means in principle but how do I do this in practice?

 

Also, to clarify, the problem occurred after upgrading to the 6.6 kernel (and Armbian v24.8.2) and was working before that on the stable kernel. I was able to work around the issue (at least temporarily) by upgrading to the 6.7-edge or 6.8-edge kernels but it is broken again on the 6.11-edge kernel.

 

3 minutes ago, eselarm said:

In newer kernel versions GPIO numbering will be sort of random and AFAIK this sysfs method will disappear.

So I think for future, extra code is needed to find the correct GPIO and then also threat is like a character device. So open close etc. See libgpiod for more info.

 

This is good to know, I'll look into libgpiod. Is there any more direction about that you might be able to give?

Posted

I have been reading various info mostly last 2 years on RPi forum, maybe scan https://forums.raspberrypi.com/search.php?keywords=libgpiod

Many people don't want change so most is about keeping it the old way. I saw a warning in dmesg for 6.12.0-current-rockchip-rk3588 on my NanoPi-R6C. I don't use it there for own code, but do on a NanoPi-NEO to toggle an ON/OFF power-switch. Works still there for 6.6.44, but might be that some small C-program is needed in future, haven't looked at it further yet.
 

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...

Important Information

Terms of Use - Privacy Policy - Guidelines