From df2ee2d4a5df4214a032144117aaf6cf1fc82d6f Mon Sep 17 00:00:00 2001
From: j1nx
Date: Thu, 27 Aug 2020 14:11:58 +0200
Subject: [PATCH] MycroftOS: (experimental) respeaker 2mic pulseaudio support.
---
.../pulse/seeed-voicecard-2mic-daemon.conf | 94 ++++++
.../etc/pulse/seeed-voicecard-2mic-default.pa | 153 +++++++++
.../0001-Add-2mic-pulse-support.patch | 317 ++++++++++++++++++
.../package/respeaker/respeaker.mk | 6 +
.../package/respeaker/seeed-voicecard | 2 +
5 files changed, 572 insertions(+)
create mode 100644 buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-daemon.conf
create mode 100644 buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-default.pa
create mode 100644 buildroot-external/package/respeaker/0001-Add-2mic-pulse-support.patch
diff --git a/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-daemon.conf b/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-daemon.conf
new file mode 100644
index 00000000..7b6a036f
--- /dev/null
+++ b/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-daemon.conf
@@ -0,0 +1,94 @@
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, see .
+
+## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
+## more information. Default values are commented out. Use either ; or # for
+## commenting.
+
+; daemonize = no
+; fail = yes
+; allow-module-loading = yes
+; allow-exit = yes
+; use-pid-file = yes
+; system-instance = no
+; local-server-type = user
+; enable-shm = yes
+; enable-memfd = yes
+; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
+; lock-memory = no
+; cpu-limit = no
+
+; high-priority = yes
+; nice-level = -11
+
+; realtime-scheduling = yes
+; realtime-priority = 5
+
+; exit-idle-time = 20
+; scache-idle-time = 20
+
+; dl-search-path = (depends on architecture)
+
+; load-default-script-file = yes
+; default-script-file = /etc/pulse/default.pa
+
+; log-target = auto
+; log-level = notice
+; log-meta = no
+; log-time = no
+; log-backtrace = 0
+
+; resample-method = speex-float-1
+; enable-remixing = yes
+; enable-lfe-remixing = no
+; lfe-crossover-freq = 0
+
+; flat-volumes = yes
+
+; rlimit-fsize = -1
+; rlimit-data = -1
+; rlimit-stack = -1
+; rlimit-core = -1
+; rlimit-as = -1
+; rlimit-rss = -1
+; rlimit-nproc = -1
+; rlimit-nofile = 256
+; rlimit-memlock = -1
+; rlimit-locks = -1
+; rlimit-sigpending = -1
+; rlimit-msgqueue = -1
+; rlimit-nice = 31
+; rlimit-rtprio = 9
+; rlimit-rttime = 200000
+
+; default-sample-format = s16le
+; default-sample-rate = 96000
+; alternate-sample-rate = 48000
+; default-sample-channels = 4
+; default-channel-map = front-left,front-right
+
+; default-fragments = 4
+; default-fragment-size-msec = 25
+
+; enable-deferred-volume = yes
+; deferred-volume-safety-margin-usec = 8000
+; deferred-volume-extra-delay-usec = 0
+
+# MycroftOS Audio Settings
+avoid-resampling = yes
+default-sample-format = s24le
+default-sample-rate = 48000
+alternate-sample-rate = 44100
+default-sample-channels = 2
diff --git a/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-default.pa b/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-default.pa
new file mode 100644
index 00000000..f570dae2
--- /dev/null
+++ b/buildroot-external/board/raspberrypi/rootfs-overlay/etc/pulse/seeed-voicecard-2mic-default.pa
@@ -0,0 +1,153 @@
+#!/usr/bin/pulseaudio -nF
+#
+# This file is part of PulseAudio.
+#
+# PulseAudio is free software; you can redistribute it and/or modify it
+# under the terms of the GNU Lesser General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# PulseAudio is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public License
+# along with PulseAudio; if not, see .
+
+# This startup script is used only if PulseAudio is started per-user
+# (i.e. not in system mode)
+
+.fail
+
+### Automatically restore the volume of streams and devices
+load-module module-device-restore
+load-module module-stream-restore
+load-module module-card-restore
+
+### Automatically augment property information from .desktop files
+### stored in /usr/share/application
+load-module module-augment-properties
+
+### Should be after module-*-restore but before module-*-detect
+load-module module-switch-on-port-available
+
+### Load audio drivers statically
+### (it's probably better to not load these drivers manually, but instead
+### use module-udev-detect -- see below -- for doing this automatically)
+#load-module module-alsa-sink device="hw:1,0" channels=8 rate=48000 format=s32le
+#load-module module-alsa-source device="hw:1,0" channels=8 rate=48000 format=s32le
+#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
+#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
+#load-module module-null-sink
+#load-module module-pipe-sink
+
+### Automatically load driver modules depending on the hardware available
+.ifexists module-udev-detect.so
+load-module module-udev-detect tsched=0
+#channels=8 rate=48000 format=s32le
+.else
+### Use the static hardware detection module (for systems that lack udev support)
+load-module module-detect
+.endif
+
+### Automatically connect sink and source if JACK server is present
+.ifexists module-jackdbus-detect.so
+.nofail
+load-module module-jackdbus-detect channels=2
+.fail
+.endif
+
+### Automatically load driver modules for Bluetooth hardware
+.ifexists module-bluetooth-policy.so
+load-module module-bluetooth-policy
+.endif
+
+.ifexists module-bluetooth-discover.so
+load-module module-bluetooth-discover
+.endif
+
+### Load several protocols
+.ifexists module-esound-protocol-unix.so
+load-module module-esound-protocol-unix
+.endif
+load-module module-native-protocol-unix auth-anonymous=1
+
+### Network access (may be configured with paprefs, so leave this commented
+### here if you plan to use paprefs)
+#load-module module-esound-protocol-tcp
+load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/16;172.16.0.0/12;10.0.0.0/8 auth-anonymous=1
+load-module module-zeroconf-publish
+
+### Load the RTP receiver module (also configured via paprefs, see above)
+#load-module module-rtp-recv
+
+### Load the RTP sender module (also configured via paprefs, see above)
+#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
+#load-module module-rtp-send source=rtp.monitor
+
+### Load additional modules from GConf settings. This can be configured with the paprefs tool.
+### Please keep in mind that the modules configured by paprefs might conflict with manually
+### loaded modules.
+.ifexists module-gconf.so
+.nofail
+load-module module-gconf
+.fail
+.endif
+
+### Automatically restore the default sink/source when changed by the user
+### during runtime
+### NOTE: This should be loaded as early as possible so that subsequent modules
+### that look up the default sink/source get the right value
+load-module module-default-device-restore
+
+### Automatically move streams to the default sink if the sink they are
+### connected to dies, similar for sources
+load-module module-rescue-streams
+
+### Make sure we always have a sink around, even if it is a null sink.
+load-module module-always-sink
+
+### Honour intended role device property
+load-module module-intended-roles
+
+### Automatically suspend sinks/sources that become idle for too long
+load-module module-suspend-on-idle
+
+### If autoexit on idle is enabled we want to make sure we only quit
+### when no local session needs us anymore.
+.ifexists module-console-kit.so
+load-module module-console-kit
+.endif
+.ifexists module-systemd-login.so
+load-module module-systemd-login
+.endif
+
+### Enable positioned event sounds
+load-module module-position-event-sounds
+
+### Cork music/video streams when a phone stream is active
+load-module module-role-cork
+
+### Modules to allow autoloading of filters (such as echo cancellation)
+### on demand. module-filter-heuristics tries to determine what filters
+### make sense, and module-filter-apply does the heavy-lifting of
+### loading modules and rerouting streams.
+load-module module-filter-heuristics
+load-module module-filter-apply
+
+### Make some devices default
+#set-default-sink output
+#set-default-source input
+#set-default-source alsa_input.platform-soc_sound.seeed-source
+#set-default-sink alsa_output.platform-soc_sound.seeed-sink
+
+### MycroftOS Audio Settings
+unload-module module-suspend-on-idle
+unload-module module-role-cork
+load-module module-role-ducking
+
+### Enable Echo/Noise-Cancellation
+#load-module module-echo-cancel aec_method=webrtc source_name=echoCancel_source sink_name=echoCancel_sink
+#set-default-source echoCancel_source
+#set-default-sink echoCancel_sink
diff --git a/buildroot-external/package/respeaker/0001-Add-2mic-pulse-support.patch b/buildroot-external/package/respeaker/0001-Add-2mic-pulse-support.patch
new file mode 100644
index 00000000..1c8c9ec9
--- /dev/null
+++ b/buildroot-external/package/respeaker/0001-Add-2mic-pulse-support.patch
@@ -0,0 +1,317 @@
+From 10fb065c9735e4a04cfc251a31529083f55c16fd Mon Sep 17 00:00:00 2001
+From: j1nx
+Date: Thu, 27 Aug 2020 13:33:47 +0200
+Subject: [PATCH 1/1] Add 2mic pulse support
+
+---
+ pulseaudio/91-seeedvoicecard.rules | 3 +-
+ pulseaudio/pulse_config_2mic/daemon.conf | 87 +++++++++++
+ pulseaudio/pulse_config_2mic/default.pa | 143 ++++++++++++++++++
+ .../pulse_config_2mic/seeed-voicecard.conf | 36 +++++
+ 4 files changed, 268 insertions(+), 1 deletion(-)
+ create mode 100644 pulseaudio/pulse_config_2mic/daemon.conf
+ create mode 100644 pulseaudio/pulse_config_2mic/default.pa
+ create mode 100644 pulseaudio/pulse_config_2mic/seeed-voicecard.conf
+
+diff --git a/pulseaudio/91-seeedvoicecard.rules b/pulseaudio/91-seeedvoicecard.rules
+index 8b41dd1..b253459 100644
+--- a/pulseaudio/91-seeedvoicecard.rules
++++ b/pulseaudio/91-seeedvoicecard.rules
+@@ -2,7 +2,8 @@ SUBSYSTEM!="sound", GOTO="seeedvoicecard_end"
+ ACTION!="change", GOTO="seeedvoicecard_end"
+ KERNEL!="card*", GOTO="seeedvoicecard_end"
+
++ATTR{id}=="seeed4micvoicec",ENV{PULSE_PROFILE_SET}="seeed-voicecard-2mic.conf"
+ ATTR{id}=="seeed4micvoicec",ENV{PULSE_PROFILE_SET}="seeed-voicecard-4mic.conf"
+ ATTR{id}=="seeed8micvoicec",ENV{PULSE_PROFILE_SET}="seeed-voicecard-8mic.conf"
+
+-LABEL="seeedvoicecard_end"
+\ No newline at end of file
++LABEL="seeedvoicecard_end"
+diff --git a/pulseaudio/pulse_config_2mic/daemon.conf b/pulseaudio/pulse_config_2mic/daemon.conf
+new file mode 100644
+index 0000000..067a55e
+--- /dev/null
++++ b/pulseaudio/pulse_config_2mic/daemon.conf
+@@ -0,0 +1,87 @@
++# This file is part of PulseAudio.
++#
++# PulseAudio is free software; you can redistribute it and/or modify
++# it under the terms of the GNU Lesser General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# PulseAudio is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public License
++# along with PulseAudio; if not, see .
++
++## Configuration file for the PulseAudio daemon. See pulse-daemon.conf(5) for
++## more information. Default values are commented out. Use either ; or # for
++## commenting.
++
++; daemonize = no
++; fail = yes
++; allow-module-loading = yes
++; allow-exit = yes
++; use-pid-file = yes
++; system-instance = no
++; local-server-type = user
++; enable-shm = yes
++; enable-memfd = yes
++; shm-size-bytes = 0 # setting this 0 will use the system-default, usually 64 MiB
++; lock-memory = no
++; cpu-limit = no
++
++; high-priority = yes
++; nice-level = -11
++
++; realtime-scheduling = yes
++; realtime-priority = 5
++
++; exit-idle-time = 20
++; scache-idle-time = 20
++
++; dl-search-path = (depends on architecture)
++
++; load-default-script-file = yes
++; default-script-file = /etc/pulse/default.pa
++
++; log-target = auto
++; log-level = notice
++; log-meta = no
++; log-time = no
++; log-backtrace = 0
++
++; resample-method = speex-float-1
++; enable-remixing = yes
++; enable-lfe-remixing = no
++; lfe-crossover-freq = 0
++
++; flat-volumes = yes
++
++; rlimit-fsize = -1
++; rlimit-data = -1
++; rlimit-stack = -1
++; rlimit-core = -1
++; rlimit-as = -1
++; rlimit-rss = -1
++; rlimit-nproc = -1
++; rlimit-nofile = 256
++; rlimit-memlock = -1
++; rlimit-locks = -1
++; rlimit-sigpending = -1
++; rlimit-msgqueue = -1
++; rlimit-nice = 31
++; rlimit-rtprio = 9
++; rlimit-rttime = 200000
++
++default-sample-format = s16le
++default-sample-rate = 96000
++; alternate-sample-rate = 48000
++default-sample-channels = 2
++; default-channel-map = front-left,front-right
++
++; default-fragments = 4
++; default-fragment-size-msec = 25
++
++; enable-deferred-volume = yes
++; deferred-volume-safety-margin-usec = 8000
++; deferred-volume-extra-delay-usec = 0
+diff --git a/pulseaudio/pulse_config_2mic/default.pa b/pulseaudio/pulse_config_2mic/default.pa
+new file mode 100644
+index 0000000..a99faff
+--- /dev/null
++++ b/pulseaudio/pulse_config_2mic/default.pa
+@@ -0,0 +1,143 @@
++#!/usr/bin/pulseaudio -nF
++#
++# This file is part of PulseAudio.
++#
++# PulseAudio is free software; you can redistribute it and/or modify it
++# under the terms of the GNU Lesser General Public License as published by
++# the Free Software Foundation; either version 2 of the License, or
++# (at your option) any later version.
++#
++# PulseAudio is distributed in the hope that it will be useful, but
++# WITHOUT ANY WARRANTY; without even the implied warranty of
++# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
++# General Public License for more details.
++#
++# You should have received a copy of the GNU Lesser General Public License
++# along with PulseAudio; if not, see .
++
++# This startup script is used only if PulseAudio is started per-user
++# (i.e. not in system mode)
++
++.fail
++
++### Automatically restore the volume of streams and devices
++load-module module-device-restore
++load-module module-stream-restore
++load-module module-card-restore
++
++### Automatically augment property information from .desktop files
++### stored in /usr/share/application
++load-module module-augment-properties
++
++### Should be after module-*-restore but before module-*-detect
++load-module module-switch-on-port-available
++
++### Load audio drivers statically
++### (it's probably better to not load these drivers manually, but instead
++### use module-udev-detect -- see below -- for doing this automatically)
++#load-module module-alsa-sink device="hw:1,0" channels=8 rate=48000 format=s32le
++#load-module module-alsa-source device="hw:1,0" channels=8 rate=48000 format=s32le
++#load-module module-oss device="/dev/dsp" sink_name=output source_name=input
++#load-module module-oss-mmap device="/dev/dsp" sink_name=output source_name=input
++#load-module module-null-sink
++#load-module module-pipe-sink
++
++### Automatically load driver modules depending on the hardware available
++.ifexists module-udev-detect.so
++load-module module-udev-detect
++#channels=8 rate=48000 format=s32le
++.else
++### Use the static hardware detection module (for systems that lack udev support)
++load-module module-detect
++.endif
++
++### Automatically connect sink and source if JACK server is present
++.ifexists module-jackdbus-detect.so
++.nofail
++load-module module-jackdbus-detect channels=2
++.fail
++.endif
++
++### Automatically load driver modules for Bluetooth hardware
++.ifexists module-bluetooth-policy.so
++load-module module-bluetooth-policy
++.endif
++
++.ifexists module-bluetooth-discover.so
++load-module module-bluetooth-discover
++.endif
++
++### Load several protocols
++.ifexists module-esound-protocol-unix.so
++load-module module-esound-protocol-unix
++.endif
++load-module module-native-protocol-unix
++
++### Network access (may be configured with paprefs, so leave this commented
++### here if you plan to use paprefs)
++#load-module module-esound-protocol-tcp
++#load-module module-native-protocol-tcp
++#load-module module-zeroconf-publish
++
++### Load the RTP receiver module (also configured via paprefs, see above)
++#load-module module-rtp-recv
++
++### Load the RTP sender module (also configured via paprefs, see above)
++#load-module module-null-sink sink_name=rtp format=s16be channels=2 rate=44100 sink_properties="device.description='RTP Multicast Sink'"
++#load-module module-rtp-send source=rtp.monitor
++
++### Load additional modules from GConf settings. This can be configured with the paprefs tool.
++### Please keep in mind that the modules configured by paprefs might conflict with manually
++### loaded modules.
++.ifexists module-gconf.so
++.nofail
++load-module module-gconf
++.fail
++.endif
++
++### Automatically restore the default sink/source when changed by the user
++### during runtime
++### NOTE: This should be loaded as early as possible so that subsequent modules
++### that look up the default sink/source get the right value
++load-module module-default-device-restore
++
++### Automatically move streams to the default sink if the sink they are
++### connected to dies, similar for sources
++load-module module-rescue-streams
++
++### Make sure we always have a sink around, even if it is a null sink.
++load-module module-always-sink
++
++### Honour intended role device property
++load-module module-intended-roles
++
++### Automatically suspend sinks/sources that become idle for too long
++load-module module-suspend-on-idle
++
++### If autoexit on idle is enabled we want to make sure we only quit
++### when no local session needs us anymore.
++.ifexists module-console-kit.so
++load-module module-console-kit
++.endif
++.ifexists module-systemd-login.so
++load-module module-systemd-login
++.endif
++
++### Enable positioned event sounds
++load-module module-position-event-sounds
++
++### Cork music/video streams when a phone stream is active
++load-module module-role-cork
++
++### Modules to allow autoloading of filters (such as echo cancellation)
++### on demand. module-filter-heuristics tries to determine what filters
++### make sense, and module-filter-apply does the heavy-lifting of
++### loading modules and rerouting streams.
++load-module module-filter-heuristics
++load-module module-filter-apply
++
++### Make some devices default
++#set-default-sink output
++#set-default-source input
++set-default-source alsa_input.platform-soc_sound.seeed-source
++set-default-sink alsa_output.platform-soc_sound.seeed-sink
+diff --git a/pulseaudio/pulse_config_2mic/seeed-voicecard.conf b/pulseaudio/pulse_config_2mic/seeed-voicecard.conf
+new file mode 100644
+index 0000000..a050002
+--- /dev/null
++++ b/pulseaudio/pulse_config_2mic/seeed-voicecard.conf
+@@ -0,0 +1,36 @@
++# /usr/share/pulseaudio/alsa-mixer/profile-sets/seeed-voiced.conf
++
++[General]
++auto-profiles = no
++[Mapping seeed-source]
++device-strings = hw:%f
++channel-map = front-left,front-right
++exact-channels = false
++fallback = yes
++paths-input = seeed-source
++priority = 3
++direction = input
++
++[Mapping seeed-sink]
++device-strings = hw:%f
++channel-map = front-left,front-right
++exact-channels = false
++fallback = yes
++paths-output = seeed-sink
++direction = output
++priority = 2
++
++[Profile output:seeed-sink+input:seeed-source]
++output-mappings = seeed-sink
++input-mappings = seeed-source
++priority = 100
++skip-probe = yes
++
++[Profile output:seeed-sink]
++output-mappings = seeed-sink
++priority = 4
++skip-probe = yes
++
++[Profile input:seeed-source]
++input-mappings = seeed-source
++priority = 5
+--
+2.20.1
+
diff --git a/buildroot-external/package/respeaker/respeaker.mk b/buildroot-external/package/respeaker/respeaker.mk
index b7d78052..76106128 100644
--- a/buildroot-external/package/respeaker/respeaker.mk
+++ b/buildroot-external/package/respeaker/respeaker.mk
@@ -29,6 +29,8 @@ define RESPEAKER_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0644 $(@D)/seeed-8mic-voicecard.dtbo $(BINARIES_DIR)/overlays/
mkdir -p $(TARGET_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/
+ $(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_2mic/seeed-voicecard.conf \
+ $(TARGET_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/seeed-voicecard-2mic.conf
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_4mic/seeed-voicecard.conf \
$(TARGET_DIR)/usr/share/pulseaudio/alsa-mixer/profile-sets/seeed-voicecard-4mic.conf
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_6mic/seeed-voicecard.conf \
@@ -36,6 +38,10 @@ define RESPEAKER_INSTALL_TARGET_CMDS
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/91-seeedvoicecard.rules \
$(TARGET_DIR)/etc/udev/rules.d/91-seeedvoicecard.rules
+ $(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_2mic/default.pa \
+ $(TARGET_DIR)/etc/pulse/seeed-voicecard-2mic-default.pa
+ $(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_2mic/daemon.conf \
+ $(TARGET_DIR)/etc/pulse/seeed-voicecard-2mic-daemon.conf
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_4mic/default.pa \
$(TARGET_DIR)/etc/pulse/seeed-voicecard-4mic-default.pa
$(INSTALL) -D -m 0644 $(@D)/pulseaudio/pulse_config_4mic/daemon.conf \
diff --git a/buildroot-external/package/respeaker/seeed-voicecard b/buildroot-external/package/respeaker/seeed-voicecard
index 83bcd724..9ffe70b4 100755
--- a/buildroot-external/package/respeaker/seeed-voicecard
+++ b/buildroot-external/package/respeaker/seeed-voicecard
@@ -79,6 +79,8 @@ if [ "x${is_1a}" != "x" ] && [ "x${is_35}" == "x" ] ; then
echo "install 2mic"
overlay=seeed-2mic-voicecard
asound_state=/etc/voicecard/wm8960_asound.state
+ pulse_default=/etc/pulse/seeed-voicecard-2mic-default.pa
+ pulse_daemon=/etc/pulse/seeed-voicecard-2mic-daemon.conf
fi
if [ "x${is_3b}" != "x" ] && [ "x${is_35}" == "x" ] ; then