rpi 4 - audio issue

Installed the latest rpi4 os Manjaro arm 19.08 but the audio is not working.
I am using Analog for audio, instead of HDMI. Any help to resolve would be appreciated.
Pulse audio controller (ALSA Plugin) shows audio playing with no sound output.

$uname -a
Linux pi4 4.19.73-1-MANJARO-ARM #1 SMP PREEMPT Tue Sep 17 17:19:35 UTC 2019 aarch64 GNU/Linux
$pacmd list-cards
1 card(s) available.
    index: 0
	name: <alsa_card.platform-soc_audio>
	driver: <module-alsa-card.c>
	owner module: 6
	properties:
		alsa.card = "0"
		alsa.card_name = "bcm2835 ALSA"
		alsa.long_card_name = "bcm2835 ALSA"
		alsa.driver_name = "snd_bcm2835"
		device.bus_path = "platform-soc:audio"
		sysfs.path = "/devices/platform/soc/soc:audio/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 (priority 5100, available: unknown)
		output:mono-fallback: Mono Output (priority 100, available: unknown)
		output:multichannel-output: Multichannel Output (priority 100, available: unknown)
		off: Off (priority 0, available: unknown)
	active profile: <output:stereo-fallback>
	sinks:
		alsa_output.platform-soc_audio.stereo-fallback/#0: Built-in Audio Stereo
	sources:
		alsa_output.platform-soc_audio.stereo-fallback.monitor/#0: Monitor of Built-in Audio Stereo
	ports:
		analog-output: Analog Output (priority 9900, latency offset 0 usec, available: unknown)
			properties:
				
		multichannel-output: Multichannel Output (priority 0, latency offset 0 usec, available: unknown)
			properties:
$ aplay -l 
**** List of PLAYBACK Hardware Devices ****
card 0: ALSA [bcm2835 ALSA], device 0: bcm2835 ALSA [bcm2835 ALSA]
  Subdevices: 7/7
  Subdevice #0: subdevice #0
  Subdevice #1: subdevice #1
  Subdevice #2: subdevice #2
  Subdevice #3: subdevice #3
  Subdevice #4: subdevice #4
  Subdevice #5: subdevice #5
  Subdevice #6: subdevice #6
card 0: ALSA [bcm2835 ALSA], device 1: bcm2835 IEC958/HDMI [bcm2835 IEC958/HDMI]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: ALSA [bcm2835 ALSA], device 2: bcm2835 IEC958/HDMI1 [bcm2835 IEC958/HDMI1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
$inxi -A
Audio:
  Device-1: bcm2835-audio driver: bcm2835_audio 
  Device-2: bcm2835-hdmi driver: N/A 
  Sound Server: ALSA v: k4.19.73-1-MANJARO-ARM
$ amixer controls
numid=4,iface=MIXER,name='Master Playback Switch'
numid=3,iface=MIXER,name='Master Playback Volume'
numid=2,iface=MIXER,name='Capture Switch'
numid=1,iface=MIXER,name='Capture Volume'
$ amixer cset numid=3 1
numid=3,iface=MIXER,name='Master Playback Volume'
  ; type=INTEGER,access=rw------,values=2,min=0,max=65536,step=1
  : values=1,1

I have never gotten Analog audio working on the raspberry pi's. But HDMI works on my end.

Raspbian OS analog audio is working on pi 4. Could you let me know steps to make HDMI audio work on Manjaro arm build 19.08. Without audio desktop effect diminishes.

It should work out of the Box. Mine does.
Be aware that the system connects the "Analog audio" interface to the HDMI port, so if that interface is active on your system, it should put out audio over the HDMI port.

Will the future os build version support both HDMI and analog audio. Current rpi 4 device has both independent interfaces for audio support. Looks like one interface been bypassed as of now.

Do I have to disconnect the analog audio before out of box install. Does the installer checks the audio connection during the install. Let me know the device rpi 4 system configuration required before the install.

I never have anything plugged into the analog audio jack.

There is no installer as such. You burn the image to the SD card, boot it up and complete the OEM setup. The OEM setup is not device specific at all, so it can't do anything about hardware.

What do you mean by system configuration?

Finally I got my 3.5mm ('headphone') jack working using the command

$uname -a
Linux pi4 4.19.73-2-MANJARO-ARM #1 SMP PREEMPT Wed Sep 18 14:12:40 UTC 2019 aarch64 GNU/Linux
$ sudo alsamixer
$ sudo amixer cset numid=3 1
numid=3,iface=MIXER,name='PCM Playback Route'
  ; type=INTEGER,access=rw------,values=1,min=0,max=3,step=0
  : values=1

Thanks.

2 Likes

Hola soy nuevo y quisiera que me ayudarás a poner esos comandos y como gracias porque veo muchas letras

Simplified:

open up a terminal and type:

amixer cset numid=3 1

This will be only good in the current session. To make it run this command each time you log in create a script and have it start with the Session and Startup GUI:

mkdir ~/scripts
cd ~/scripts

#Create the bash script with nano in a terminal:

nano enable-onboard-jack

#Copy and paste these lines in the nano terminal

#!/bin/bash

# Wait for desktop to load up
sleep 10

# Redirect sound from HDMI to onboard jack

amixer cset numid=3 1

#Close and save the text in the nano window by doing a CTRL-X and type the letter y and hit the enter key.

#Make the script file executable:

chmod +x enable-onboard-jack

Go to Menu --> Settings --> Session and Startup and click on the Application Autostart tab

Click on New:

Name: Disable HDMI Sound
Description: Use onboard audio jack
Command: Click on the up arrow on this line and find the
enable-onboard-jack file you created in your home
directory under scripts
Trigger: on login

Click on OK to save

Side note:

Be advised that not all speaker/headphone jacks will work with the onboard audio jack.

Hay que hacer el scripts para Rasberry pi4

Debería funcionar para las otras versiones de Raspberry también.

Todo lo que hace es redirigir el sonido que pasa por el HDMI al conector de salida integrado en la Raspberry Pi. Esto es para si está utilizando un cable HDMI. Si está utilizando un monitor VGA estándar, la Raspberry Pi debería usar automáticamente el conector integrado, pero probablemente debería cambiar esta línea en /boot/config.txt hdmi_drive=2 a # hdmi_drive=2.

My last post in english:

It should work for the other versions of Raspberry as well.

All it does is redirect the sound that passes through the HDMI to the output connector built into the Raspberry Pi. This is for if you are using an HDMI cable. If you are using a standard VGA monitor, the Raspberry Pi should automatically use the built-in connector, but you should probably change this line in /boot/config.txt hdmi_drive=2 to # hdmi_drive=2.

PerdĂłn pero estoy sin entender soy nuevo y todas esas letras me confunden de todos modos creo no poder usarlo gracias al foro y ATI por ayudarme y creeme que me gusta este manjaro

De nada. Disfruta Manjaro ARM.

I have the opposite issue. As of last week, audio out over HDMI stopped working. Anyone else experience this and know of a fix?

Have you tried putting this in /boot/config.txt and rebooting:

hdmi_drive=2

Have you tried putting this in /boot/config.txt and rebooting:

hdmi_drive=2

Thanks for the suggestion - I tried that, but still no sound..

I've done a lot more searching for an answer over the weekend, without finding a solution. But it does look like quite a lot of people lost their HDMI audio recently. That makes it seem like a bug, rather than something specific to my setup. Hopefully that means that whatever bug was introduced can be rectified in a future update..

Strange. In my xfce and mate images the sound works just fine.

You might try deleting ~/.config/pulse directory and reboot to let it create another one.

Aha, that worked. Thank you!

Forum kindly sponsored by Bytemark