TurtleBeach soundcard module bug?

From: Markus Gustavsson (mighty@fragzone.se)
Date: Mon Jul 24 2000 - 01:20:35 EST


Short description:
TurtleBeach soundcard module bug?

Modules:
msnd_pinnacle 17732 0
msnd 3224 1 [msnd_pinnacle]

Long description:
The following problem has occured with all later 2.3 kernels and all of the
2.4 testing kernels I've tested. I've had no problems at all running this
soundcard under the 2.0 and 2.1/2.2 kernels using the same sysconfiguration.

I have been inserting the soundmodule with dmabuf=1 which doesn't help.
Playing around with the membase 0xd000 don't make a difference.
Checking memadresses from /proc shows that no other hardware is using 0xd000.

When the modules are inserted, the regular *click* in the headphones comes,
just as normal. The crash comes when trying to actually access the dsp.

Error message:
Jul 22 05:59:17 suntea kernel: Unable to handle kernel paging request at virtual address 000d0000
Jul 22 05:59:17 suntea kernel: printing eip:
Jul 22 05:59:17 suntea kernel: e085e411
Jul 22 05:59:17 suntea kernel: *pde = 00000000
Jul 22 05:59:17 suntea kernel: Oops: 0002
Jul 22 05:59:17 suntea kernel: CPU: 0
Jul 22 05:59:17 suntea kernel: EIP: 0010:[<e085e411>]
Jul 22 05:59:17 suntea kernel: EFLAGS: 00010006
Jul 22 05:59:17 suntea kernel: eax: 00002400 ebx: 00002400 ecx: 00000900 edx: 00004000
Jul 22 05:59:17 suntea kernel: esi: e0866000 edi: 000d0000 ebp: e0864d88 esp: ded75f50
Jul 22 05:59:17 suntea kernel: ds: 0018 es: 0018 ss: 0018
Jul 22 05:59:17 suntea kernel: Process mpg123 (pid: 633, stackpage=ded75000)
Jul 22 05:59:17 suntea kernel: Stack: 00000000 00000000 00000202 00000000 00000000 e0861f76 e0864d88 000d0000
Jul 22 05:59:17 suntea kernel: 00002400 00000000 deefc6c0 ffffffea 00000000 deefc6c0 00000000 00000001
Jul 22 05:59:17 suntea kernel: e0862185 0808aef0 00004000 c013465e deefc6c0 08086ef0 00004000 deefc6e0
Jul 22 05:59:17 suntea kernel: Call Trace: [<e0861f76>] [<e0864d88>] [<e0862185>] [sys_write+222/256] [system_call$
Jul 22 05:59:17 suntea kernel: Code: f3 a5 f6 c3 02 74 02 66 a5 f6 c3 01 74 01 a4 01 5c 24 10 01

Extra information:
Attached file shows my soundcardsettings which triggers my problem in 2.3/2.4 kernels.

#!/bin/bash
#
# Startup script for the Sound system
#

FIJI_ENABLED=1
SB16_ENABLED=1

FIJI_CFG=0x250
FIJI_IO=0x240
FIJI_IRQ=7
FIJI_MEM=0xd8000
FIJI_FIFO=512

SB_IO=0x220
SB_IRQ=5
SB_DMA=1
SB_DMA16=5
SM_MPUIO=0x330

# See how we were called.
case "$1" in
  start)
        echo -n "Starting Sound... "

        # Load the Default SoundCore, Sound and uart401 Modules
        if [ "x`lsmod | grep 'soundcore '`" = "x" ] ; then
          insmod soundcore 2>&1 > /dev/null
        fi
        if [ "x`lsmod | grep 'sound '`" = "x" ] ; then
          insmod sound dmabuf=1 2>&1 > /dev/null
        fi
        if [ "x`lsmod | grep 'uart401 '`" = "x" ] ; then
          insmod uart401 2>&1 > /dev/null
        fi

if [ "$FIJI_ENABLED" = "1" ]; then

        # Configure and Load the TB Fiji
        pinnaclecfg $FIJI_CFG dsp $FIJI_IO $FIJI_IRQ $FIJI_MEM
        if [ "x`lsmod | grep 'msnd '`" = "x" ] ; then
          insmod msnd 2>&1 > /dev/null
        fi
        if [ "x`lsmod | grep 'msnd_pinnacle '`" = "x" ] ; then
          insmod msnd_pinnacle cfg=$FIJI_CFG io=$FIJI_IO irq=$FIJI_IRQ mem=$FIJI_MEM fifosize=$FIJI_FIFO 2>&1 > /dev/null
        fi

        # Restore MixerSettings for the TB Fiji card
        aumix-minimal -d /dev/mixer -f /etc/aumix.fiji -L 2>&1 > /dev/null

fi

if [ "$SB16_ENABLED" = "1" ]; then

        # Load the SoundBlaster
        if [ "x`lsmod | grep 'sb '`" = "x" ] ; then
          insmod sb io=$SB_IO irq=$SB_IRQ dma=$SB_DMA dma16=$SB_DMA16 mpu_io=$SB_MPUIO 2>&1 > /dev/null
        fi

        # Restore MixerSettings for the SoundBlaster card
        aumix-minimal -d /dev/mixer1 -f /etc/aumix.sb -L 2>&1 > /dev/null

fi

        echo "Ok"
        ;;
  stop)
        echo -n "Shutting down Sound... "

if [ "$SB16_ENABLED" = "1" ]; then

        # Save MixerSettings for the SoundBlaster card
        aumix-minimal -d /dev/mixer1 -f /etc/aumix.sb -S 2>&1 > /dev/null

        # Remove the SoundBlaster modules
        if [ "x`lsmod | grep 'sb '`" != "x" ] ; then
                rmmod sb 2>&1 > /dev/null
        fi

fi

if [ "$FIJI_ENABLED" = "1" ]; then

        # Save MixerSettings for the TB Fiji card
        aumix-minimal -d /dev/mixer -f /etc/aumix.fiji -S 2>&1 > /dev/null

        # Remove the TB Fiji modules
        if [ "x`lsmod | grep 'msnd_pinnacle '`" != "x" ] ; then
          rmmod msnd_pinnacle 2>&1 > /dev/null
        fi
        if [ "x`lsmod | grep 'msnd '`" != "x" ] ; then
          rmmod msnd 2>&1 > /dev/null
        fi

fi

        # Remove the Default SoundCore, Sound and uart401 Modules
        if [ "x`lsmod | grep 'uart401 '`" != "x" ] ; then
          rmmod uart401 2>&1 > /dev/null
        fi
        if [ "x`lsmod | grep 'sound '`" != "x" ] ; then
          rmmod sound 2>&1 > /dev/null
        fi
        if [ "x`lsmod | grep 'soundcore '`" != "x" ] ; then
          rmmod soundcore 2>&1 > /dev/null
        fi

        echo "Ok"
        ;;
  status)
        ;;
  restart)
        $0 stop
        $0 start
        ;;
  reload)
        $0 stop
        $0 start
        ;;
  *)
        echo "Usage: $0 {start|stop|restart|reload|status}"
        exit 1
esac

exit 0

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Jul 31 2000 - 21:00:15 EST