[linux-audio-user] alsaconf errors

Joseph Zitt jzitt at metatronpress.com
Fri Aug 8 04:11:01 EDT 2003


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?




More information about the Linux-audio-user mailing list