Just today I ran into an error "aplay: no soundcards found"
I decided to follow the sequence of actions below, log in to root:
### **Symptoms**
* `aplay -l` → **no soundcards found**
* in `/proc/asound/cards' — empty
* there is no "analog-codec" item in `armbian-config`
* The sound through the mini jack does not work
* the DT output ('dtc -I fs') indicates that the codec is present but not active
The reason is always the same: **the kernel/DT does not include AHUB + codec machine-driver**, so ALSA does not create maps.
---
> I also created the default alsa config
```
nano /etc/asound.conf
```
Inserted there so far:
``
pcm.!default {
type hw
card 0
device 0
}
ctl.!default {
type hw
card 0
}
```
# **Solution**
## **1. Set the desired audio overlay: `sun50i-h616-audiogpu`**
### 1.1 Cloning the repository
```bash
cd /root
git clone https://github.com/hviana/orangepizero2w-audio.git
cd orangepizero2w-audio
```
### 1.2 There is already a ready-made file in the repository:
```
sun50i-h616-audiogpu.dtbo
```
You don't need to compile anything.
### 1.3 Copying the overlay to the desired location
```bash
mkdir -p /boot/dtb/allwinner/overlay
cp sun50i-h616-audiogpu.dtbo /boot/dtb/allwinner/overlay/
```
---
## **2. Configure `/boot/armbianEnv.txt `**
Open:
```bash
nano /boot/armbianEnv.txt
```
And set **two required lines**:
```ini
overlay_prefix=sun50i-h616
overlays=audiogpu
```
Delete old attempts like `analog-codec`, `sun8i-h3-codec`, etc.
Save → Exit.
---
## **3. Reboot**
```bash
reboot
```
---
## **4. Check the sound after downloading**
```bash
aplay -l
```
It should appear:
```
card 0: audiocodec [...]
card 1: ahubi2s0 [...]
card 2: HDMI [...]
```
If there are cards, the sound is restored.
important! WORKING WITH SOUND (for example, playback) SHOULD BE DONE NOT FROM UNDER THE root USER, BUT FROM UNDER THE REGULAR USER! If PulseAudio, for example, is running from the system from root, then the devices may not be available.
Also, if you use Home Assistant Supervised, then docker will have a self-healing hassio_audio container that will run Pulse Audio from root on the host machine and thereby block all devices. You won't be able to control the sound in this case.
There's an addon that's supposed to kill this container every time it starts, but it doesn't work properly for me.
Literally now, I've run out of nerves, and I've taken down my system.
I will try installing Proxmox or in Docker