Running alsaconf version 0.9.0 under Red Hat 9.0 with the Planet CCRMA
kernel and ALSA setup...
In running alsaconf to try to configure ALSA for my system's sound card
(reported as an "ens1371 Ensoniq 5880 AudioPCI (rev 03)"), I get the
following errors:
/usr/sbin/alsaconf: line 340: let: a=(>>2) & 0x3f: syntax error: operand
expected (error token is ">>2) & 0x3f")
/usr/sbin/alsaconf: line 341: let: b=(( & 0x03) << 3) | (( >> 13) &
0x07): syntax error: operand expected (error token is "& 0x03) << 3) |
(( >> 13) & 0x07)")
/usr/sbin/alsaconf: line 342: let: c=(>> 8) & 0x1f: syntax error:
operand expected (error token is ">> 8) & 0x1f")
/usr/sbin/alsaconf: line 349: let: v=((>>8)&0xff)|((&0xff)<<8):
syntax
error: operand expected (error token is
">>8)&0xff)|((&0xff)<<8)")
These come from the following function:
# convert ISA PnP id number to string 'ABC'
convert_isapnp_id () {
let a='('$1'>>2) & 0x3f'
let b='(('$1' & 0x03) << 3) | (('$1' >> 13) &
0x07)'
let c='('$1'>> 8) & 0x1f'
strs='@ABCDEFGHIJKLMNOPQRSTUVWXYZ'
echo ${strs:$a:1}${strs:$b:1}${strs:$c:1}
}
which is only called here:
# list isapnp cards
while read driver cardvendor carddevice data vendor func; do
if expr $driver : 'snd-.*' >/dev/null ; then
if [ "$last_driver" != "$driver" ]; then
echo $driver.o
last_driver=$driver
fi
id1=`convert_isapnp_id $cardvendor`
dev1=`swap_number $carddevice`
id2=`convert_isapnp_id $vendor`
dev2=`swap_number $func`
echo "ISAPNP: $id1$dev1=$id2$dev2"
fi
done < $MODDIR/modules.isapnpmap >> $1
}
This suggests that there's some problem with the "cardvendor" value...
but here I fall off the edge of my knowledge.
Does this look familiar, and is there a way to fix it?