Play audio throuhg HDMI on BeagleBone Black

745 views
Skip to first unread message

yol...@gmail.com

unread,
Mar 22, 2016, 11:44:53 AM3/22/16
to BeagleBoard

After work with a multitouch screen for the BeagleBone Black, now I just want to play audio/sounds through the HDMI connection as the multitouch screen has a speaker. 


First of all, I just copied an audio sample, and try to reproduce it by 'vlc', but next message is shown:

     "Audio output failed. The audio device "default" could not be used. No such file or directory." 


Then, I have installed next tools:

     'alsa-base', 'alsa-utils', 'alsa-tools', 'alsamixergui'


But, when I tried to launch 'alsamixergui', the next message is shown:

     "alsamixer: function snd_ctl_open failed for default: No such file or directory


And at "/etc/modprobe.d/alsa-base.conf", the content is:

     # autoloader aliases

       install sound-slot-0 /sbin/modprobe snd-card-0

       install sound-slot-1 /sbin/modprobe snd-card-1

       install sound-slot-2 /sbin/modprobe snd-card-2

       install sound-slot-3 /sbin/modprobe snd-card-3

       install sound-slot-4 /sbin/modprobe snd-card-4

       install sound-slot-5 /sbin/modprobe snd-card-5

       install sound-slot-6 /sbin/modprobe snd-card-6

       install sound-slot-7 /sbin/modprobe snd-card-7

     # Cause optional modules to be loaded above generic modules

       install snd /sbin/modprobe --ignore-install snd && { /sbin/modprobe --quiet snd-ioctl32 ; /sbin/modprobe --quiet snd-seq ; : ; }

       install snd-rawmidi /sbin/modprobe --ignore-install snd-rawmidi && { /sbin/modprobe --quiet snd-seq-midi ; : ; }

       install snd-emu10k1 /sbin/modprobe --ignore-install snd-emu10k1 && { /sbin/modprobe --quiet snd-emu10k1-synth ; : ; }

     # Keep snd-pcsp from beeing loaded as first soundcard

       options snd-pcsp index=-2

     # Keep snd-usb-audio from beeing loaded as first soundcard

       options snd-usb-audio index=-2

     # Prevent abnormal drivers from grabbing index 0

       options bt87x index=-2

       options cx88_alsa index=-2

       options snd-atiixp-modem index=-2

       options snd-intel8x0m index=-2

       options snd-via82xx-modem index=-2


Moreover, I have try with next commands:

     'alsamixer -c 1 (2, 3... 7)' 

Having next output:

     "invalid card index: 1"


Is there any way to reproduce any sound (*.midi, *.wav, *.mp3...) through hdmi easily?

yol...@gmail.com

unread,
Mar 22, 2016, 12:31:59 PM3/22/16
to BeagleBoard

Adding new information about the issue:


'lsmod':

    snd     56846   6   snd_soc_core, snd_timer, snd_pcm, snd_seq, snd_seq_device, snd_comp

 

'modinfo snd':

    filename:     /lib/modules/4.1.16-bone18/kernel/sound/core/snd.kp

    alias:           char-major-116-*

    license:       GPL

    description: Advanced Linux Sound Architecture driver for soundcards.

    author:        Jaroslav Kysela <pe...@perex.cz>

    license:       GPL

    description: Jack detection support for ALSA

    author:        Mark Brown <bro...@opensource.wolfsonmicro.com>

    depends:     soundcore

    intree:          Y

    vermagic:     4.1.16-bone18 mod_unload modversions ARMv7 thumb2 p2v8

    parm:           slots:Module names assigned to the slots. (array of charp)

    parm:           major:Major # for sound driver. (int)

    parm:           cards_limit:Count of auto-loadable soundcards. (int)

Robert Nelson

unread,
Mar 22, 2016, 12:35:54 PM3/22/16
to Beagle Board, yol...@gmail.com
On Tue, Mar 22, 2016 at 11:31 AM, <yol...@gmail.com> wrote:
> Adding new information about the issue:
> filename: /lib/modules/4.1.16-bone18/kernel/sound/core/snd.kp
>


HDMI audio is in patch hell on mainline, if you want to use "4.1.x"
with hdmi audio you need to use the ti branch:

cd /opt/scripts/tools/
git pull
sudo ./update_kernel.sh --ti-channel --lts-4_1

Regards,

--
Robert Nelson
https://rcn-ee.com/

Jason Kridner

unread,
Mar 22, 2016, 1:05:02 PM3/22/16
to beagl...@googlegroups.com
Only specific video modes of the HDMI framer device support audio. See the wiki page. 
--
For more options, visit http://beagleboard.org/discuss
---
You received this message because you are subscribed to the Google Groups "BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email to beagleboard...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

yol...@gmail.com

unread,
Mar 29, 2016, 5:10:12 AM3/29/16
to BeagleBoard, yol...@gmail.com
I have checked that the current resolution from BeagleBone's HDMI is: 1280x720@60e (/boot/uboot/uEnv.txt)

I'm working with "4.1.x" kernel modified to support all multitouch screens. 
So, if I update the kernel from ti branch, I suspect I lose the kernel's modifications to support the multitouch screens I'm working with. Is this right?

Is there any other way to support audio at this kernel? Maybe, if I replace the kernel for a newer one (ie. "4.5.x")?

yol...@gmail.com

unread,
Mar 29, 2016, 5:53:14 AM3/29/16
to BeagleBoard, yol...@gmail.com
Moreover, if I follow next steps:

cd /opt/scripts/tools/ 
git pull 
sudo ./update_kernel.sh --ti-channel --lts-4_1 

I get this message:

ERROR: The certificate of 'rcn-ee.com' is not trusted.
The certificate has not yet been activated. 

Robert Nelson

unread,
Mar 29, 2016, 12:07:44 PM3/29/16
to Beagle Board, yol...@gmail.com
Update your bbb's clock:

we use "Let's Encrypt Authority X1" certificate, which has a narrow
time window: "3/16/16" -> "6/14/16"..

yol...@gmail.com

unread,
Apr 1, 2016, 5:14:16 AM4/1/16
to BeagleBoard, yol...@gmail.com
Thanks Robert!
I have an issue with ntp update at boot. I have solved it temporary.

Well, I have just tried to launch the 'update_kernel' script:
cd /opt/scripts/tools/ 
git pull 
sudo ./update_kernel.sh --ti-channel --lts-4_1 

But it fails due to there is not space left on device. 
cp: failed to extend '/boot/uboot/initrd.img': No space left on device

Checking device with 'df -h', output is:
/dev/mmcblk0p1     96M     96M     100%     /boot/uboot

Is there any option to extend this partition? Or maybe, can I remove some file from "/boot/uboot" without blocking the system? 
If '*_bak' folders are removed the result is the same, no space left neither, and at reboot, BBB is bricked.

yol...@gmail.com

unread,
Apr 1, 2016, 5:34:21 AM4/1/16
to BeagleBoard, yol...@gmail.com
Kernel is updated to TI's branch: "4.1.15-ti-r40".

Now, VLC player does not show any error message and plays the sound sample, but no sound is reproduced.
I have checked the basics, volume, mute option and similar. These are not the failures.

Which could the missing part for making the sound audible? Maybe codecs?

yol...@gmail.com

unread,
Apr 1, 2016, 7:44:10 AM4/1/16
to BeagleBoard, yol...@gmail.com
Testing the sound configuration, next instructions are launched:
ls /dev/snd
ls /proc/asound
cat /proc/asound/cards
cat /proc(asound/devices
aplay -l
cat /proc/asound/card0/pcm0p/sub0/hw_params 

With output:
Black  card0  cards  devices  oss  pcm  seq  timers  version
 0 [Black          ]: TI_BeagleBone_B - TI BeagleBone Black
                      TI BeagleBone Black
  2: [ 0]   : control
  3: [ 0- 0]: digital audio playback
  4: [ 0- 0]: digital audio capture
 33:        : timer
**** List of PLAYBACK Hardware Devices ****
card 0: Black [TI BeagleBone Black], device 0: HDMI hdmi-hifi-0 []
  Subdevices: 0/1
  Subdevice #0: subdevice #0
access: MMAP_INTERLEAVED
format: S32_LE
subformat: STD
channels: 2
rate: 32000 (32000/1)
period_size: 1024
buffer_size: 16384

But there is no sound.

yol...@gmail.com

unread,
Apr 7, 2016, 3:58:21 AM4/7/16
to BeagleBoard, yol...@gmail.com
Any hint/tip?

yol...@gmail.com

unread,
Apr 7, 2016, 6:29:13 AM4/7/16
to BeagleBoard, yol...@gmail.com
Going forward in my test:

- Current kernel: 4.1.18-ti-r56

- aplay -L:
null
 Discard all samples (playback) or generate zero samples (capture)
 default:CARD=Black
TI BeagleBone Black,
Default Audio Device
sysdefault:CARD=Black
TI BeagleBone Black,
Default Audio Device 
 
- speaker-test -D CARD=Black -t song.wav -c 2 -s 1
speaker-test 1.0.25

Playback device is CARD=Black
Stream parameters are 48000Hz, S16_LE, 2 channels
ALSA lib pcm.c:2217:(snd_pcm_open_noupdate) Unknown PCM CARD=Black
Playback open error: -2,No such file or directory7

yol...@gmail.com

unread,
Apr 7, 2016, 11:40:44 AM4/7/16
to BeagleBoard, yol...@gmail.com
Launching alsaplayer, wav and mp3 files can be played, but no sound is reproduced.

It seems as the BeagleBone's drivers are not pointing to right audio interface.
How can I checked if the SoC's audio codec and the HDMI's interface are configured and working fine?

By the moment, I can't find a solution for the issue. I would be glad if someone could help me with it.

Joe Julian

unread,
Apr 24, 2016, 2:38:52 PM4/24/16
to BeagleBoard, yol...@gmail.com


On Tuesday, March 22, 2016 at 9:35:54 AM UTC-7, RobertCNelson wrote:
On Tue, Mar 22, 2016 at 11:31 AM,  <yol...@gmail.com> wrote:

HDMI audio is in patch hell on mainline, if you want to use "4.1.x"
with hdmi audio you need to use the ti branch:



Do you  have a reference?

Joe Julian

unread,
Apr 24, 2016, 3:52:41 PM4/24/16
to BeagleBoard, robert...@gmail.com
As far as I can tell, based on https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/linux-am33x/PKGBUILD, the Arch Linux kernel I'm using should have all the necessary patches to make this work with 4.5.2. Unfortunately it's not. aplay -l still shows no drivers.

@RobertCNelson do you see anything wrong with that patch set that might be a problem? I'd really prefer to use Arch since the package versions are new enough to support some of the features I'm trying to implement.

I do, of course, have the correct resolution and I confirmed the edid does have the audio block.

Robert Nelson

unread,
Apr 24, 2016, 5:02:16 PM4/24/16
to Joe Julian, BeagleBoard
On Sun, Apr 24, 2016 at 2:52 PM, Joe Julian <j...@julianfamily.org> wrote:
As far as I can tell, based on https://github.com/archlinuxarm/PKGBUILDs/blob/master/core/linux-am33x/PKGBUILD, the Arch Linux kernel I'm using should have all the necessary patches to make this work with 4.5.2. Unfortunately it's not. aplay -l still shows no drivers.

That patchset doesn't include hdmi audio for the beaglebone black..
 
@RobertCNelson do you see anything wrong with that patch set that might be a problem? I'd really prefer to use Arch since the package versions are new enough to support some of the features I'm trying to implement.

Please see my previous statement, "NOTHING" has changed since then, and you can confirm that by looking at linux-next:


Regards,

Robert Nelson

unread,
Apr 24, 2016, 5:05:07 PM4/24/16
to Joe Julian, BeagleBoard
The last rfc was posted here:


Regards,
Reply all
Reply to author
Forward
0 new messages