Jump to content

RockPro64 HDMI No Sound Clean Setup


2play
 Share

Go to solution Solved by 2play,

Recommended Posts

I have installed clean CLi option of Armbian_21.08.1_Rockpro64_focal_current_5.10.60.img from the archives

I have fully apt updated/upgrade OS and now am at 5.15.25-rockchip64 
I noticed there was no sound coming out of the HMDI only from 3.5mm Jack

 

Alsamixer has: (volume bar with up/down instead of 1 increments jumps 0>28>56>100 - I d like to fix this)

image.png.a46df537dd1386440bae285230603c1f.png

 

image.png.46dacff9d26defda9dcd0fdb0defdf32.png

 

 

image.png.2ca0251aac6db3f751ab334d580ec657.png

 

image.png.724b8bb0f964dea63e2a11581fffd13c.png

 

 

Pulsemixer (CLi) solved my problem by simply while playing an audio stream/file I swapped (made default the bottom Built-in Audio Stereo)


Also on Cards tab (use tab to move keys F1-F3 didnt work for me neither on Tinker nor here) i have.

image.png.2d25def70977ea16e226290091065afe.png

 

Sound now comes out of HDMI fine. Jack I swap back to top option I guess

Link to comment
Share on other sites

Armbian is a community driven open source project. Do you like to contribute your code?

UPDATE:
Ive been testing more things and it seemed that my selection above wasnt saved from pulsemixer CLi

So i ve installed a desktop environment, played in loop a video/audio file with my installed mpv player and then opened pulse audio mixer gui. From there I changed the default playback device and got sound again back on HDMI.
Further to make it perm I run 'sudo alsactl store' and after reboot i had sound during boot as I needed to play a video splash.
If solid aftr few reboots ill mark this as solution

Link to comment
Share on other sites

  • Solution
On 4/14/2022 at 10:56 PM, MichaIng said:

So your only solution was via PulseAudio/pulsemixer, any idea how it can be fixed with/dor plain ALSA/alsamixer?


Option 1:

I tried but always seems to be save only from desktop with below steps as above:
- Desktop environment,

- Start any stream/app to see which output uses by default.
Example play in loop a video/audio file with a player

- Opened pulse audio mixer gui. From there chang the default playback device. The correct choice will give you sound again back on HDMI.
- Optional wiht cli pulsemixer you can do the checking by simply selecting the stream you opened and select it (and press enter then move and selet the other output devise (sound will play on the correct output device)

 

Lastly, once you set the master output you can make it perm I run 'sudo alsactl store'. 
this will store in your alsa asound.state and after reboot all will be as you selected.

 


Option 2:
As per Fine Tuning - Armbian Documentation (It should automatically update the asound.state you created above. If you havent check the file exists after reboot in /var/lib/alsa folder

 

Quote

# Check the available sound output options:
pacmd list-sinks | less
# The default will be marked with "*"
# Press "q" to close

You will see something similar to my output:

 

Quote

2 sink(s) available.
  * index: 0
    name: <alsa_output.platform-hdmi-sound.stereo-fallback>
    driver: <module-alsa-card.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: RUNNING
    suspend cause: (none)
    priority: 9000
    volume: front-left: 53084 /  81% / -5.49 dB,   front-right: 53084 /  81% / -5.49 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 5.71 ms
    max request: 1 KiB
    max rewind: 1 KiB
    monitor source: 0
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 1
    linked by: 1
    configured latency: 5.80 ms; range is 0.50 .. 185.76 ms
    card: 0 <alsa_card.platform-hdmi-sound>
    module: 7
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "ff8a0000.i2s-i2s-hifi i2s-hifi-0"
        alsa.id = "ff8a0000.i2s-i2s-hifi i2s-hifi-0"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "0"
        alsa.card_name = "hdmi-sound"
        alsa.long_card_name = "hdmi-sound"
        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 = "hw:0"
        device.buffering.buffer_size = "32768"
        device.buffering.fragment_size = "8192"
        device.access_mode = "mmap+timer"
        device.profile.name = "stereo-fallback"
        device.profile.description = "Stereo"
        device.description = "Built-in Audio Stereo"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card"
    ports:
        analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
            properties:
                
    active port: <analog-output>
    index: 1
    name: <alsa_output.platform-sound.multichannel-output>
    driver: <module-alsa-card.c>
    flags: HARDWARE DECIBEL_VOLUME LATENCY DYNAMIC_LATENCY
    state: SUSPENDED
    suspend cause: IDLE
    priority: 9000
    volume: front-left: 65536 / 100% / 0.00 dB,   front-right: 65536 / 100% / 0.00 dB
            balance 0.00
    base volume: 65536 / 100% / 0.00 dB
    volume steps: 65537
    muted: no
    current latency: 0.00 ms
    max request: 0 KiB
    max rewind: 0 KiB
    monitor source: 1
    sample spec: s16le 2ch 44100Hz
    channel map: front-left,front-right
                 Stereo
    used by: 0
    linked by: 0
    configured latency: 0.00 ms; range is 0.50 .. 185.76 ms
    card: 1 <alsa_card.platform-sound>
    module: 8
    properties:
        alsa.resolution_bits = "16"
        device.api = "alsa"
        device.class = "sound"
        alsa.class = "generic"
        alsa.subclass = "generic-mix"
        alsa.name = "ff890000.i2s-ES8316 HiFi ES8316 HiFi-0"
        alsa.id = "ff890000.i2s-ES8316 HiFi ES8316 HiFi-0"
        alsa.subdevice = "0"
        alsa.subdevice_name = "subdevice #0"
        alsa.device = "0"
        alsa.card = "1"
        alsa.card_name = "Analog"
        alsa.long_card_name = "Analog"
        alsa.driver_name = "snd_soc_audio_graph_card"
        device.bus_path = "platform-sound"
        sysfs.path = "/devices/platform/sound/sound/card1"
        device.form_factor = "internal"
        device.string = "hw:1"
        device.buffering.buffer_size = "32768"
        device.buffering.fragment_size = "8192"
        device.access_mode = "mmap+timer"
        device.profile.name = "multichannel-output"
        device.profile.description = "Multichannel"
        device.description = "Built-in Audio Multichannel"
        module-udev-detect.discovered = "1"
        device.icon_name = "audio-card"
    ports:
        multichannel-output: Multichannel Output (priority 0, latency offset 0 usec, available: unknown)
            properties:
                
    active port: <multichannel-output>

 

 

# Define the new default sound output
pacmd set-default-sink <NAME-OF-DESIRED-OPTION>

 

The name of HDMI sound output may change accordingly to the device. If you don’t wanna deal with different names you can:

pacmd set-default-sink $(pactl list short sinks | grep -i 'hdmi' | awk '{print $2}')

The command to define the default sound output is not persistent, to make it persistent add it to the file ~/.bashrc

For example:
In my .bashrc i have at the end this 2 lines commented and you can swap between or make a script to apply between jack and hdmi output as per your needs/setup. Analogue should 

Y
 

Quote

#Analogue
#pacmd set-default-sink alsa_output.platform-sound.multichannel-output

 

#HDMI
pacmd set-default-sink $(pactl list short sinks | grep -i 'hdmi' | awk '{print $2}')

 


 

Link to comment
Share on other sites

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...
 Share

×
×
  • Create New...