rsbuffalo
Members-
Posts
3 -
Joined
-
Last visited
-
If you installed the Armbian 25.11.1 Edge Image the earlier post fixed the HDMI audio issue. However, if you upgrade with the command sudo apt update && sudo apt upgrade you will break both HDMI audio and WiFi. Here is the new fix: 1. The Wi-Fi Fix (Rebuild DKMS) Since the kernel updated, we just need to force the system to recompile the missing Wi-Fi driver for the new kernel version. Run this command in your terminal: Bash sudo dpkg-reconfigure aic8800-usb-dkms Wait a minute or two for it to finish compiling. Your Wi-Fi will be restored upon your next reboot. 2. The HDMI Audio Fix (Restore Qualcomm Configs) The HDMI audio broke because the system is now missing the Use Case Manager (UCM) profiles for the QCS6490 chip. We need to pull the newest configurations directly from the ALSA project repository and put them in the right folders. Run these commands one by one: Bash # Install the base UCM configurations sudo apt install -y alsa-ucm-conf # Download the latest master branch configs to your temporary folder cd /tmp curl -sL "https://github.com/alsa-project/alsa-ucm-conf/archive/refs/heads/master.tar.gz" | tar xz # Copy the specific Qualcomm configs and dependencies to your system sudo cp -r alsa-ucm-conf-master/ucm2/Qualcomm/qcs6490 /usr/share/alsa/ucm2/Qualcomm/ sudo cp -r alsa-ucm-conf-master/ucm2/conf.d/qcs6490 /usr/share/alsa/ucm2/conf.d/ sudo cp -r alsa-ucm-conf-master/ucm2/lib /usr/share/alsa/ucm2/ sudo cp -r alsa-ucm-conf-master/ucm2/codecs /usr/share/alsa/ucm2/ # Restart your audio server to apply the changes systemctl --user restart pulseaudio Once you've run those, give your board a quick sudo reboot.
-
[Latest] Armbian Build HDMI Audio support Fix
rsbuffalo replied to just_facking_about's topic in Radxa Dragon Q6A
If you installed the Armbian 25.11.1 Edge Image the earlier post fixed the HDMI audio issue. However, if you upgrade with the command sudo apt update && sudo apt upgrade you will break both HDMI audio and WiFi. Here is the new fix: 1. The Wi-Fi Fix (Rebuild DKMS) Since the kernel updated, we just need to force the system to recompile the missing Wi-Fi driver for the new kernel version. Run this command in your terminal: Bash sudo dpkg-reconfigure aic8800-usb-dkms Wait a minute or two for it to finish compiling. Your Wi-Fi will be restored upon your next reboot. 2. The HDMI Audio Fix (Restore Qualcomm Configs) The HDMI audio broke because the system is now missing the Use Case Manager (UCM) profiles for the QCS6490 chip. We need to pull the newest configurations directly from the ALSA project repository and put them in the right folders. Run these commands one by one: Bash # Install the base UCM configurations sudo apt install -y alsa-ucm-conf # Download the latest master branch configs to your temporary folder cd /tmp curl -sL "https://github.com/alsa-project/alsa-ucm-conf/archive/refs/heads/master.tar.gz" | tar xz # Copy the specific Qualcomm configs and dependencies to your system sudo cp -r alsa-ucm-conf-master/ucm2/Qualcomm/qcs6490 /usr/share/alsa/ucm2/Qualcomm/ sudo cp -r alsa-ucm-conf-master/ucm2/conf.d/qcs6490 /usr/share/alsa/ucm2/conf.d/ sudo cp -r alsa-ucm-conf-master/ucm2/lib /usr/share/alsa/ucm2/ sudo cp -r alsa-ucm-conf-master/ucm2/codecs /usr/share/alsa/ucm2/ # Restart your audio server to apply the changes systemctl --user restart pulseaudio Once you've run those, give your board a quick sudo reboot. -
[Latest] Armbian Build HDMI Audio support Fix
rsbuffalo replied to just_facking_about's topic in Radxa Dragon Q6A
To get audio working on the Radxa Dragon (QCS6490) when the standard UCM (Use Case Manager) fails, you have to bypass the "official" path and manually bridge the hardware to the software. Here is the complete summary of the "manual bridge" method developed. I installed Armbian 25.11.1 Edge Image and below is how I fixed HDMI Audio. Step 1: Create the Hardware Bridge Script This script manually flips the hardware switches in the Qualcomm DSP that route audio to the HDMI/DisplayPort pins. File: /usr/local/bin/fix-hdmi-audio.sh Command: sudo nano /usr/local/bin/fix-hdmi-audio.sh Bash #!/bin/bash # Wait for hardware to initialize sleep 2 # Open the HDMI/DP Audio Bridge amixer -c 0 cset name='DISPLAY_PORT_RX_0 Audio Mixer MultiMedia1' 1 # Set initial hardware volume amixer -c 0 cset name='stream0.vol_ctrl0 MultiMedia1 Playback Volu' 75% Make it executable: sudo chmod +x /usr/local/bin/fix-hdmi-audio.sh Step 2: Create the Systemd Service This ensures the hardware switches are flipped automatically every time the board boots up. File: /etc/systemd/system/hdmi-audio.service Command: sudo nano /etc/systemd/system/hdmi-audio.service Ini, TOML [Unit] Description=Fix HDMI Audio Routing After=sound.target [Service] Type=oneshot ExecStart=/usr/local/bin/fix-hdmi-audio.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target Enable it: Bash sudo systemctl daemon-reload sudo systemctl enable hdmi-audio.service Step 3: Configure the Desktop Audio Sink Since the system's "Built-in Audio" often defaults to a "Dummy Output" when UCM is broken, we force PulseAudio to create a manual "Sink" pointing directly to the hardware. File: /etc/pulse/default.pa Command: sudo nano /etc/pulse/default.pa Add these lines to the very bottom of the file: Plaintext # Manually bridge PulseAudio to the working hardware path load-module module-alsa-sink device=plughw:0,0 sink_name=Manual_HDMI sink_properties=device.description=HDMI_Audio_Output set-default-sink Manual_HDMI Step 4: Clean Up UCM (Optional but Recommended) To stop the "HDMI Audio failure" warnings during boot, you can ensure your UCM files are at least syntactically correct, even if the system ignores them. File: /usr/share/alsa/ucm2/QCS6490RadxaDra/HiFi.conf Plaintext Syntax 2 SectionDevice."HDMI" { Comment "HDMI Output" Value { PlaybackPriority 200 PlaybackPCM "hw:0,0" } } SectionVerb { EnableSequence [] DisableSequence [] } Summary of the Audio Path By following these steps, you have constructed the following data flow: Hardware: Qualcomm DSP (Card 0, Device 0). Bridge: amixer opens the path from the CPU to the HDMI port. ALSA: Provides the plughw:0,0 interface. PulseAudio: Grabs that interface and names it "HDMI_Audio_Output." Applications: YouTube/Browsers send audio to the "Default Sink," which is now your working HDMI path. Now I will put all these commands into a single "one-click" shell script so you can save it as a backup for future installs? The Radxa Dragon Audio "One-Click" Fix Create the file: nano fix_audio.sh Paste the code below. Run it: chmod +x fix_audio.sh && sudo ./fix_audio.sh Bash #!/bin/bash echo "🚀 Starting Radxa Dragon QCS6490 Audio Fix..." # 1. Create the Hardware Bridge Script echo "🔧 Creating hardware bridge script..." cat <<EOF | sudo tee /usr/local/bin/fix-hdmi-audio.sh > /dev/null #!/bin/bash # Wait for hardware to initialize sleep 2 # Open the HDMI/DP Audio Bridge amixer -c 0 cset name='DISPLAY_PORT_RX_0 Audio Mixer MultiMedia1' 1 # Set initial hardware volume amixer -c 0 cset name='stream0.vol_ctrl0 MultiMedia1 Playback Volu' 75% EOF sudo chmod +x /usr/local/bin/fix-hdmi-audio.sh # 2. Create the Systemd Service echo "⚙️ Creating boot-time service..." cat <<EOF | sudo tee /etc/systemd/system/hdmi-audio.service > /dev/null [Unit] Description=Fix HDMI Audio Routing After=sound.target [Service] Type=oneshot ExecStart=/usr/local/bin/fix-hdmi-audio.sh RemainAfterExit=yes [Install] WantedBy=multi-user.target EOF # 3. Enable and Start the Service sudo systemctl daemon-reload sudo systemctl enable hdmi-audio.service sudo systemctl start hdmi-audio.service # 4. Configure PulseAudio Sink echo "🔉 Configuring PulseAudio/PipeWire sink..." PA_CONFIG="/etc/pulse/default.pa" if [ -f "$PA_CONFIG" ]; then # Check if we already added the fix to avoid duplicates if ! grep -q "Manual_HDMI" "$PA_CONFIG"; then cat <<EOF | sudo tee -a "$PA_CONFIG" > /dev/null # Manually bridge PulseAudio to the working hardware path load-module module-alsa-sink device=plughw:0,0 sink_name=Manual_HDMI sink_properties=device.description=HDMI_Audio_Output set-default-sink Manual_HDMI EOF fi else echo "⚠️ Warning: /etc/pulse/default.pa not found. You may need to manualy add the sink to your specific sound server config." fi echo "✅ Success! Please reboot to finalize settings." echo " After reboot, select 'HDMI_Audio_Output' in Sound Settings if it doesn't auto-switch." Why this works for your specific board: This script performs a "Direct Injection." Instead of asking the operating system to figure out where the audio goes (which fails because the Qualcomm UCM profiles are currently buggy), it tells the hardware exactly which gate to open and tells the software exactly which "sink" to pour the audio into.
