From 7009515ec9c6f83041138a85a42e0477db4c2a5e Mon Sep 17 00:00:00 2001 From: Baozhu Zuo Date: Tue, 24 Jul 2018 11:31:21 +0800 Subject: [PATCH] use link to replase copy operation --- seeed-voicecard | 43 +++++++++++++++---------------------------- 1 file changed, 15 insertions(+), 28 deletions(-) diff --git a/seeed-voicecard b/seeed-voicecard index 38bd5df..26648fa 100755 --- a/seeed-voicecard +++ b/seeed-voicecard @@ -36,56 +36,43 @@ is_1a=$(i2cdetect -y 1 0x1a 0x1a | grep 1a | awk '{print $2}') is_35=$(i2cdetect -y 1 0x35 0x35 | grep 35 | awk '{print $2}') is_3b=$(i2cdetect -y 1 0x3b 0x3b | grep 3b | awk '{print $2}') +rm /etc/asound.conf +rm /var/lib/alsa/asound.state + if [ "x${is_1a}" == "x1a" ] && [ "x${is_35}" == "x" ] ; then echo "install 2mic" dtoverlay seeed-2mic-voicecard sleep 1 - hw=$(aplay -l | grep seeed2micvoicec | awk '{print $2}' | sed 's/://') - cp /etc/voicecard/asound_2mic.conf /etc/asound.conf + echo "create 2mic asound configure file" + ln -s /etc/voicecard/asound_2mic.conf /etc/asound.conf - echo "get old hw number" - old=$(cat /etc/asound.conf | grep hw: | awk 'NR==1 {print $2}' | sed 's/\"//g') - - echo "replace new hw:${hw},0" - sed -i -e "s/${old}/hw:${hw},0/g" /etc/asound.conf - - cp /etc/voicecard/wm8960_asound.state /var/lib/alsa/asound.state + echo "create 2mic asound status file" + ln -s /etc/voicecard/wm8960_asound.state /var/lib/alsa/asound.state fi if [ "x${is_3b}" == "x3b" ] && [ "x${is_35}" == "x" ] ; then echo "install 4mic" dtoverlay seeed-4mic-voicecard sleep 1 - hw=$(arecord -l | grep seeed4micvoicec | awk '{print $2}' | sed 's/://') - cp /etc/voicecard/asound_4mic.conf /etc/asound.conf + echo "create 4mic asound configure file" + ln -s /etc/voicecard/asound_4mic.conf /etc/asound.conf - echo "get slavepcm line number" - line=$(grep -n ac108-slavepcm /etc/asound.conf | awk '{print $1}' | sed 's/://') - - echo "delete ${line} slavepcm hw number" - sed -i -e "${line}d" /etc/asound.conf - - echo "insert slavepcm hw:${hw},0" - sed -i "${line}i slave.pcm \"hw:${hw},0\"" /etc/asound.conf - - cp /etc/voicecard/ac108_asound.state /var/lib/alsa/asound.state + echo "create 4mic asound status file" + ln -s /etc/voicecard/ac108_asound.state /var/lib/alsa/asound.state fi if [ "x${is_3b}" == "x3b" ] && [ "x${is_35}" == "x35" ] ; then echo "install 6mic" dtoverlay seeed-8mic-voicecard sleep 1 - hw=$(aplay -l | grep seeed8micvoicec | awk '{print $2}' | sed 's/://') - cp /etc/voicecard/asound_6mic.conf /etc/asound.conf + echo "create 6mic asound configure file" + ln -s /etc/voicecard/asound_6mic.conf /etc/asound.conf - old=$(cat /etc/asound.conf | grep hw: | awk 'NR==1 {print $2}' | sed 's/\"//g') - - sed -i -e "s/${old}/hw:${hw},0/g" /etc/asound.conf - - cp /etc/voicecard/ac108_6mic.state /var/lib/alsa/asound.state + echo "create 6mic asound status file" + ln -s /etc/voicecard/ac108_6mic.state /var/lib/alsa/asound.state fi alsactl restore