After an upgrade to the suggested alsaconf, the problem remains unchanged. By the way, alsaconf from alsa-driver-0.9.5/utils also identifies itself as version 0.9.0, so as far as I know there was no way to reach your assumption about which ALSA release I was using based on the information in my message. Now: any suggestions as to a fix? On Fri, 2003-08-08 at 10:27, Gustavo Zamorano S. wrote: > Joseph: > Why you are using release 0.9.0? > I have RH9 and release 0.9.5 that I downloaded a few weeks ago. I > checked that there is a new release 0.9.6 since end of July. > > After compiling the driver, alsaconf remains under the directory > alsa-driver-0.9.5/utils. It is not copied to /usr/sbin. > > I think you should get latest release. > > GZS > > > > Joseph Zitt wrote: > > 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? > > > > >