n450: set default mixer settings on boot [YOCTO #798]
cover n450: set default mixer settings on boot [YOCTO #798]
From: Darren Hart <[email protected]>
The following patches address Bug 798. The existing n450-audiofix wasn't getting installed, and it wasn't adjusting the mixer. These patches repair the recipe and update it to resemble a proper init script.
This is a stop-gap solution as a more general solution, such as alsa-state, would be preferred long term.
Darren Hart (2):
n450: revamp audio mixer init script
n450: replace n450-audio with a proper init script
meta-n450/conf/machine/n450.conf | 2 + meta-n450/recipes-bsp/audiofix/audiofix.bb | 17 -------- meta-n450/recipes-bsp/audiofix/files/n450_audiofix | 13 ------ meta-n450/recipes-bsp/n450-audio/n450-audio.bb | 30 ++++++++++++++ .../recipes-bsp/n450-audio/n450-audio/n450-audio | 42 ++++++++++++++++++++ 5 files changed, 74 insertions(+), 30 deletions(-) delete mode 100644 meta-n450/recipes-bsp/audiofix/audiofix.bb delete mode 100644 meta-n450/recipes-bsp/audiofix/files/n450_audiofix create mode 100644 meta-n450/recipes-bsp/n450-audio/n450-audio.bb create mode 100644 meta-n450/recipes-bsp/n450-audio/n450-audio/n450-audio
PATCH 1/2 n450: revamp audio mixer init script
From: Darren Hart <[email protected]>
Fixes [YOCTO #798]
n450-audiofix suffered from various problems, including not getting installed. This patch adds it via MACHINE_EXTRA_RRECOMMENDS and cleans up the various bugs in the implementation. The structure has been renamed and the comments updated for consistency. This should be considered a stop-gap measure, as something along the lines of oe's alsa-state is a far better solution.
--- meta-n450/conf/machine/n450.conf | 2 + meta-n450/recipes-bsp/audiofix/audiofix.bb | 17 -------------- meta-n450/recipes-bsp/audiofix/files/n450_audiofix | 13 ----------- meta-n450/recipes-bsp/n450-audio/n450-audio.bb | 23 ++++++++++++++++++++ .../recipes-bsp/n450-audio/n450-audio/n450-audio | 15 +++++++++++++ 5 files changed, 40 insertions(+), 30 deletions(-) delete mode 100644 meta-n450/recipes-bsp/audiofix/audiofix.bb delete mode 100644 meta-n450/recipes-bsp/audiofix/files/n450_audiofix create mode 100644 meta-n450/recipes-bsp/n450-audio/n450-audio.bb create mode 100644 meta-n450/recipes-bsp/n450-audio/n450-audio/n450-audio
meta-n450/conf/machine/n450.conf +2 -0
@@ -11,3 +11,5 @@ APPEND += "console=ttyS0,115200 console=tty0" PREFERRED_PROVIDER_virtual/kernel ?= "linux-yocto-stable" +# Ensure the bsp packages are installed +MACHINE_EXTRA_RRECOMMENDS += " n450-audio "
meta-n450/recipes-bsp/audiofix/audiofix.bb deleted +0 -17
@@ -1,17 +0,0 @@ -SUMMARY = "Provide a basic init script to enable audio" -DESCRIPTION = "This package provides an init script which enables the audio on startup via the amixer command. It address a problem with the development board that has the audio muted on power on." -SECTION = "base" -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" - -PR = "r2" -RDEPENDS = "alsa-utils-amixer" - -SRC_URI = "file://n450_audiofix" - -do_install () { - install -d ${D}${sysconfdir}/init.d - install -d ${D}${sysconfdir}/rc5.d - install -m 0755 ${WORKDIR}/n450_audiofix ${D}${sysconfdir}/init.d - ln -sf ${D}${sysconfdir}/init.d/n450_audiofix ${D}/${sysconfdir}/rc5.d/S91n450_audiofix -}
meta-n450/recipes-bsp/audiofix/files/n450_audiofix deleted +0 -13
@@ -1,13 +0,0 @@ -#!/bin/sh - -AMIXER=`which amixer` - -if [ ! -e $AMIXER ]; then - if [ -e /usr/bin/amixer ]; then - AMIXER=/usr/bin/amixer - else - echo "No amixer, so unable to reset Front channel ON" - fi -fi - -
meta-n450/recipes-bsp/n450-audio/n450-audio.bb new file +23 -0
@@ -0,0 +1,23 @@ +SUMMARY = "Provide a basic init script to enable audio" +DESCRIPTION = "Set the volume and unmute the Front mixer setting during boot." +SECTION = "base" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" + +PR = "r3" + +inherit update-rc.d + +RDEPENDS = "alsa-utils-amixer" + +SRC_URI = "file://n450-audio" + +INITSCRIPT_NAME = "n450-audio" +INITSCRIPT_PARAMS = "defaults 90" + +do_install() { + install -d ${D}${sysconfdir} \ + ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/n450-audio ${D}${sysconfdir}/init.d +} +
meta-n450/recipes-bsp/n450-audio/n450-audio/n450-audio new file +15 -0
@@ -0,0 +1,15 @@ +#!/bin/sh + +AMIXER=`which amixer` + +if [ ! -e "$AMIXER" ]; then + if [ -e /usr/bin/amixer ]; then + AMIXER=/usr/bin/amixer + else + echo "amixer not found, unable to set default audio settings." + exit 1 + fi +fi + +# Enable the "Front" simple controls (black phones jack) +$AMIXER sset Front 30 on
Signature · 1 line
1.7.1
PATCH 2/2 n450: replace n450-audio with a proper init script
In reply to Darren HartFrom: Darren Hart <[email protected]>
Rewrite n450-audio based on /etc/init.d/skeleton. Update the install to rewrite all the system paths.
--- meta-n450/recipes-bsp/n450-audio/n450-audio.bb | 13 ++++- .../recipes-bsp/n450-audio/n450-audio/n450-audio | 49 +++++++++++++++---- 2 files changed, 48 insertions(+), 14 deletions(-)
meta-n450/recipes-bsp/n450-audio/n450-audio.bb +10 -3
@@ -4,7 +4,7 @@ SECTION = "base" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://${POKYBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" -PR = "r3" +PR = "r4" inherit update-rc.d
@@ -16,8 +16,15 @@ INITSCRIPT_NAME = "n450-audio" INITSCRIPT_PARAMS = "defaults 90" do_install() { - install -d ${D}${sysconfdir} \ - ${D}${sysconfdir}/init.d + install -d ${D}${sysconfdir} \ + ${D}${sysconfdir}/init.d install -m 0755 ${WORKDIR}/n450-audio ${D}${sysconfdir}/init.d + cat ${WORKDIR}/${INITSCRIPT_NAME} | \ + sed -e 's,/etc,${sysconfdir},g' \ + -e 's,/usr/sbin,${sbindir},g' \ + -e 's,/var,${localstatedir},g' \ + -e 's,/usr/bin,${bindir},g' \ + -e 's,/usr,${prefix},g' > ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} + chmod 755 ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME} }
meta-n450/recipes-bsp/n450-audio/n450-audio/n450-audio +38 -11
53 lines not on this page · raw message
Signature · 1 line
1.7.1