In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 10:
. /lib/rcscripts/sh/error.sh
  ^------------------------^ SC1091 (info): Not following: /lib/rcscripts/sh/error.sh was not specified as input (see shellcheck -x).


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 22:
	[ $# -eq 2 ] && [ "$1" ] && [ "$2" ] || error "Missing arguments"
                                 ^-- SC2015 (info): Note that A && B || C is not if-then-else. C may run when A is true.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 23:
	local index=0 audiosources tmp line
        ^-- SC3043 (warning): In POSIX sh, 'local' is undefined.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 25:
	audiosources=$(grep -c "AudioSource\.A[0-9]\+" $1)
                                                       ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	audiosources=$(grep -c "AudioSource\.A[0-9]\+" "$1")


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 30:
	until [ $index -eq $audiosources ]; do
                           ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	until [ $index -eq "$audiosources" ]; do


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 31:
		grep -q "\[AudioSource\.A$index\]" $2 || break
                                                   ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		grep -q "\[AudioSource\.A$index\]" "$2" || break


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 32:
		index=$(($index + 1))
                         ^----^ SC2004 (style): $/${} is unnecessary on arithmetic variables.


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 35:
	if [ $index -ne $audiosources ]; then
                        ^-----------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	if [ $index -ne "$audiosources" ]; then


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 36:
		tmp=$(grep -n "\[AudioSource\.A$index\]" $1) ||
                                                         ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		tmp=$(grep -n "\[AudioSource\.A$index\]" "$1") ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 41:
		tail -n "+$line" $1 >> $2 ||
                                 ^-- SC2086 (info): Double quote to prevent globbing and word splitting.
                                       ^-- SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
		tail -n "+$line" "$1" >> "$2" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 47:
[ ! -e $old_conf ] || {
       ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
[ ! -e "$old_conf" ] || {


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 51:
	cp $new_conf $tmp_conf ||
                     ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	cp $new_conf "$tmp_conf" ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 54:
	cp $old_conf $new_conf ||
           ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	cp "$old_conf" $new_conf ||


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 61:
	restore $tmp_conf $new_conf
                ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	restore "$tmp_conf" $new_conf


In /logs/firmware/unblob_extracted/firmware_extract/4325012-58052244.squashfs_v4_le_extract/usr/lib/conf-migrate/upgrade-run.d/audiocontrol-conf line 63:
	rm -f $tmp_conf
              ^-------^ SC2086 (info): Double quote to prevent globbing and word splitting.

Did you mean: 
	rm -f "$tmp_conf"

For more information:
  https://www.shellcheck.net/wiki/SC3043 -- In POSIX sh, 'local' is undefined.
  https://www.shellcheck.net/wiki/SC1091 -- Not following: /lib/rcscripts/sh/...
  https://www.shellcheck.net/wiki/SC2015 -- Note that A && B || C is not if-t...