2.1.107/2.0.34 GUS sound problems

Renaud Guerin (renaudg@hexanet.fr)
Thu, 25 Jun 1998 20:47:47 +0200


I'm having many problems with the 2.1.107 (and to some extent, 2.0.34)
sound
modules.
My soundcard is a GUS PnP with 2Mb RAM.
I'm running RH5.0 with many updates, and the official kernels (redhat
2.0.x
kernel RPMs wouldn't compile with sound)

.config:
-------------------------------------------------------------
#
# Loadable module support
#
CONFIG_MODULES=y
CONFIG_MODVERSIONS=y
CONFIG_KMOD=y

#
# Plug and Play support
#
CONFIG_PNP=y
CONFIG_PNP_PARPORT=m

#
# Sound
#
CONFIG_SOUND=m
CONFIG_SOUND_OSS=m
# CONFIG_SOUND_PAS is not set
# CONFIG_SOUND_SB is not set
# CONFIG_SOUND_ADLIB is not set
CONFIG_SOUND_GUS=m
# CONFIG_GUS16 is not set
CONFIG_GUSMAX=y
# CONFIG_SOUND_MPU401 is not set
# CONFIG_SOUND_PSS is not set
# CONFIG_SOUND_MSS is not set
# CONFIG_SOUND_SSCAPE is not set
# CONFIG_SOUND_TRIX is not set
# CONFIG_SOUND_MAD16 is not set
# CONFIG_MAD16_OLDCARD is not set
# CONFIG_SOUND_CS4232 is not set
# CONFIG_SOUND_MAUI is not set
# CONFIG_SOUND_MSNDCLAS is not set
# CONFIG_SOUND_MSNDPIN is not set
# CONFIG_SOUND_SGALAXY is not set
# CONFIG_SOUND_OPL3SA1 is not set
# CONFIG_SOUND_SOFTOSS is not set
# CONFIG_SOUND_YM3812 is not set
CONFIG_SOUND_VMIDI=m
# CONFIG_SOUND_UART6850 is not set
-------------------------------------------------------------

(relevant part of) /etc/conf.modules:

-------------------------------------------------------------
alias sound gus
options gus io=0x220 irq=11 dma=5 dma16=7 type=1
-------------------------------------------------------------

I'm also using isapnptools 1.13.

/etc/isapnp.conf:

-------------------------------------------------------------
# Board 1 has serial identifier 0a ff ff ff ff 01 00 56 1e
(READPORT 0x0203)
(ISOLATE)
(IDENTIFY *)

# Card 1: (serial identifier 0a ff ff ff ff 01 00 56 1e)
# Vendor Id GRV0001, No Serial Number (-1), checksum 0x0A.
# Version 1.0, Vendor version 1.2
# ANSI string -->UltraSound Plug & Play<--
# Logical device id GRV0000
# Device support I/O range check register
(CONFIGURE GRV0001/-1 (LD 0
# Vendor defined tag: 72 fd ff
# ANSI string -->Synth & Codec<--

# Start dependent functions: priority preferred
# IRQ 11, 12 or 15.
# High true, edge sensitive interrupt (by default)
(INT 0 (IRQ 11 (MODE +E)))
# First DMA channel 5.
# 16 bit DMA only
# Logical device is not a bus master
# DMA may not execute in count by byte mode
# DMA may execute in count by word mode
# DMA channel speed in compatible mode
(DMA 0 (CHANNEL 5))
# Next DMA channel 7.
# 16 bit DMA only
# Logical device is not a bus master
# DMA may not execute in count by byte mode
# DMA may execute in count by word mode
# DMA channel speed in compatible mode
(DMA 1 (CHANNEL 7))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0220
# Maximum IO base address 0x0220
# IO base alignment 1 bytes
# Number of IO addresses required: 16
(IO 0 (BASE 0x0220))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0320
# Maximum IO base address 0x0320
# IO base alignment 1 bytes
# Number of IO addresses required: 8
(IO 1 (BASE 0x0320))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x032c
# Maximum IO base address 0x032c
# IO base alignment 1 bytes
# Number of IO addresses required: 4
(IO 2 (BASE 0x032c))
(ACT Y)
))

# Logical device id GRV0003
# Device support I/O range check register
# ANSI string -->SB Compatible Audio<--
# First DMA channel 1.
# 8 bit DMA only
# Logical device is not a bus master
# DMA may execute in count by byte mode
# DMA may not execute in count by word mode
# DMA channel speed in compatible mode
(DMA 0 (CHANNEL 1))

# Start dependent functions: priority preferred
# IRQ 5.
# High true, edge sensitive interrupt (by default)
(INT 0 (IRQ 5 (MODE +E)))
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0388
# Maximum IO base address 0x0388
# IO base alignment 1 bytes
# Number of IO addresses required: 2
(IO 0 (BASE 0x0388))
(ACT Y)
))

# Logical device id GRV0004
# Device support I/O range check register
(CONFIGURE GRV0001/-1 (LD 4
# ANSI string -->MPU-401 GM Music<--
# Start dependent functions: priority preferred
# Logical device decodes 16 bit IO address lines
# Minimum IO base address 0x0330
# Maximum IO base address 0x0330
# IO base alignment 2 bytes
# Number of IO addresses required: 2
(IO 0 (BASE 0x0330))
(ACT Y)
))
# End tag... Checksum 0x00 (OK)

# Returns all cards to the "Wait for Key" state
(WAITFORKEY)
-------------------------------------------------------------

Here are the problems:

When I try to play anything bigger than 64K, either with cat foo
>/dev/dsp or
with programs like mpg123, I get this error several times during
playback:

"Sound: DMA (output) timed out - IRQ/DRQ config error?"

and every 64K chunk is played 3 times.

After that:

root:renaudg-> lsmod
Module Size Used by
gus 45800 0 (autoclean)
ad1848 14512 0 (autoclean) [gus]
sound 56880 0 (autoclean) [gus ad1848]
soundcore 1792 8 (autoclean) [sound]
nls_iso8859-1 2020 3 (autoclean)
nls_cp437 3544 3 (autoclean)

root:renaudg-> rmmod -a
root:renaudg-> lsmod
Module Size Used by
gus 45800 0 (autoclean)
ad1848 14512 0 (autoclean) [gus]
sound 56880 0 (autoclean) [gus ad1848]
soundcore 1792 8 (autoclean) [sound]
nls_iso8859-1 2020 3 (autoclean)
nls_cp437 3544 3 (autoclean)

(BTW, rmmod -a doesn't seem to work too well, I'm using kmod !)

root:renaudg-> modprobe -r gus
root:renaudg-> lsmod
Module Size Used by
sound 56880 0 (autoclean)
soundcore 1792 5 (autoclean) [sound]
nls_iso8859-1 2020 3 (autoclean)
nls_cp437 3544 3 (autoclean)
root:renaudg-> rmmod -a
root:renaudg-> lsmod
Module Size Used by
soundcore 1792 2 (autoclean)
nls_iso8859-1 2020 3 (autoclean)
nls_cp437 3544 3 (autoclean)

root:renaudg-> rmmod soundcore
rmmod: soundcore: Device or resource busy

(There seems to be a problem here too)

root:renaudg-> modprobe gus
root:renaudg-> lsmod
Module Size Used by
gus 45800 0 (unused)
ad1848 14512 0 [gus]
sound 56880 0 [gus ad1848]
soundcore 1792 12 (autoclean) [sound]
nls_iso8859-1 2020 3 (autoclean)
nls_cp437 3544 3 (autoclean)

root:renaudg-> cat /dev/sndstat
OSS/Free:3.8s2++-971130
Load type: Driver loaded as a module
Kernel: Linux saturne.hexanet.fr 2.1.107 #3 jeu jun 25 16:33:26 CEST
1998 i586
Config options: 0

Installed drivers:

Card config:

Audio devices:
0: GUS PnP (IWave) (DUPLEX)
3: Ultrasound

Synth devices:
0: Gravis UltraSound PnP (2048k)

Midi devices:
0: Gravis UltraSound Midi

Timers:
0: System clock

Mixers:
2: GUS PnP (IWave)
3: Gravis Ultrasound

---------------------------------------------------------------------

I have another problem with 2.0.34 on the same machine :

The sound module never gets automatically loaded, and "modprobe sound",
as well
as "modprobe sound.o", says it can't find that module.
I have to manually "insmod /lib/modules/2.0.34/misc/sound.o" in order to
load
it.

Sorry for that long message, hope that can be solved.

--
/--------------------------------------\
| Renaud Guerin - renaudg@hexanet.fr   |
| rguerin@iut-info.ens.univ-reims.fr   |
| http://www.hexanet.fr/~renaudg       |
| CS student (Reims,France)            |
| Linux supporter http://www.linux.org |
\--------------------------------------/

- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu