Its not singing for me.
Problem 1
=========
marimba$ sg audio -c 'cat monkey.au > /dev/dsp'
cat: write error: Cannot allocate memory
marimba$ dmesg | grep ALSA
ALSA /u2/lfs/alsa-driver-0.9.0rc1/include/../alsa-kernel/
core/oss/pcm_oss.c:390: HW_PARAMS failed: -12
marimba$ sg audio -c 'aplay monkey.au'
Playing Sparc Audio 'monkey.au' : Mu-Law, Rate 8012 Hz, Mono
ALSA lib pcm_hw.c:252:
(snd_pcm_hw_hw_params) SNDRV_PCM_IOCTL_HW_PARAMS failed:
Cannot allocate memory
aplay: set_params:787: Unable to install hw params:
ACCESS: RW_INTERLEAVED
FORMAT: MU_LAW
SUBFORMAT: STD
SAMPLE_BITS: 8
FRAME_BITS: 8
CHANNELS: 1
RATE: 8012
PERIOD_TIME: 125000
PERIOD_SIZE: (1001 1002)
PERIOD_BYTES: (1001 1002)
PERIODS: (3 5)
BUFFER_TIME: 500000
BUFFER_SIZE: NONE
BUFFER_BYTES: 4006
TICK_TIME: 10000
According to gdb, the -ENOMEM is returned from the ioctl at
alsa-lib-0.9.0rc1/src/pcm/pcm_hw.c:250, not the earlier ones
that can also result in the same error message.
I'm using linux-2.2.20, i586-pc-gnu, gcc-2.95.2, libc-2.1.3,
modutils-2.3.17 and a Gravis UltraSound PnP card.
I've tried playing with aplay's -D and -B flags, to no avail.
Suggestions?
Problem 2 (which may not related)
=================================
rmmod snd-interwave produces an oops.
ksymoops 2.4.5 on i586 2.2.20. Options used
-V (default)
-k /tmp/ksyms.last (specified)
-l /proc/modules (default)
-o /lib/modules/2.2.20/misc/snd-interwave.o (specified)
-m /usr/src/linux/System.map (default)
May 21 16:10:43 marimba kernel: kmem_free: Bad obj addr (objp=c10db274, name=size-64)
May 21 16:10:43 marimba kernel: Unable to handle kernel NULL pointer dereference at
virtual address 00000000
May 21 16:10:43 marimba kernel: current->tss.cr3 = 0114e000, %%cr3 = 0114e000
May 21 16:10:43 marimba kernel: *pde = 00000000
May 21 16:10:43 marimba kernel: Oops: 0002
May 21 16:10:43 marimba kernel: CPU: 0
May 21 16:10:43 marimba kernel: EIP: 0010:[kfree+376/424]
May 21 16:10:43 marimba kernel: EFLAGS: 00010202
May 21 16:10:43 marimba kernel: eax: 00000039 ebx: c3fff0e0 ecx: 0000001d edx:
0000001e
May 21 16:10:43 marimba kernel: esi: c10db274 edi: 00000202 ebp: 00002fff esp:
c114dee4
May 21 16:10:43 marimba kernel: ds: 0018 es: 0018 ss: 0018
May 21 16:10:43 marimba kernel: Process rmmod (pid: 417, process nr: 40,
stackpage=c114d000)
May 21 16:10:43 marimba kernel: Stack: c2ae3814 00002fff c2114de0 c4860000 bfffebbc
c4830f3e c4830f3e c11384a0
May 21 16:10:43 marimba kernel: c3fce818 c4830f3e c10db274 c4850ebf c10db274
c10db274 c10db2d8 c4850f85
May 21 16:10:43 marimba kernel: c3fce818 c4830d34 c10db2d8 c2ae3954 c4830f07
c2ae3814 c3fce818 c2ae3814
May 21 16:10:43 marimba kernel: Call Trace: [<c4860000>] [<c4830f3e>] [<c4830f3e>]
[<c4830f3e>] [<c4850ebf>] [<c4850f85>] [<c4830d34>]
May 21 16:10:44 marimba kernel: [<c4830f07>] [<c4861b20>] [<c4860000>]
[<c482c878>] [<c486118a>] [<c4860000>] [free_module+26/160] [<c4860000>]
May 21 16:10:44 marimba kernel: Code: c7 05 00 00 00 00 00 00 00 00 eb 1b 83 c4 f8 56
68 c2 b5 1e
Using defaults from ksymoops -t elf32-i386 -a i386
>>ebx; c3fff0e0 <_end+3da2618/45c5538>
>>esi; c10db274 <_end+e7e7ac/45c5538>
>>ebp; 00002fff Before first symbol
>>esp; c114dee4 <_end+ef141c/45c5538>
Trace; c4860000 <[snd-interwave]__module_generic_string_info_classes+0/20>
Trace; c4830f3e <[snd]snd_wrapper_kfree+a/10>
Trace; c4830f3e <[snd]snd_wrapper_kfree+a/10>
Trace; c4830f3e <[snd]snd_wrapper_kfree+a/10>
Trace; c4850ebf <[snd-cs4231-lib]snd_cs4231_free+1b/c0>
Trace; c4850f85 <[snd-cs4231-lib]snd_cs4231_dev_free+21/4c>
Trace; c4830d34 <[snd]snd_device_free+a8/fc>
Trace; c4830f07 <[snd]snd_device_free_all+63/7c>
Trace; c4861b20 <[snd-interwave]snd_interwave_cards+0/20>
Trace; c4860000 <[snd-interwave]__module_generic_string_info_classes+0/20>
Trace; c482c878 <[snd]snd_card_free+b4/130>
Trace; c486118a <[snd-interwave]alsa_card_interwave_exit+12/1d>
Trace; c4860000 <[snd-interwave]__module_generic_string_info_classes+0/20>
Code; 00000000 Before first symbol
00000000 <_EIP>:
Code; 00000000 Before first symbol
0: c7 05 00 00 00 00 00 movl $0x0,0x0
Code; 00000007 Before first symbol
7: 00 00 00
Code; 0000000a Before first symbol
a: eb 1b jmp 27 <_EIP+0x27> 00000027 Before first symbol
Code; 0000000c Before first symbol
c: 83 c4 f8 add $0xfffffff8,%esp
Code; 0000000f Before first symbol
f: 56 push %esi
Code; 00000010 Before first symbol
10: 68 c2 b5 1e 00 push $0x1eb5c2
Not sure how to proceed further with this. Is there enough here
to see where the bad pointer has come from?
Other minor things
==================
alsa-driver-0.9.0rc1/INSTALL refers to module option 'snd_pcm_voices'
for three UltraSound modules.
This now seems to be called 'snd_pcm_channels' elsewhere.
alsa-driver-0.9.0rc1/INSTALL section "ALSA PCM devices to OSS devices mapping"
/dev/snd/pcmC2D0 -> /dev/dsp2 -> minor 3+32 = 39 ??
Also, top level sound card module names changed from snd-card-<name>
to snd-<name>, but there are still some references to the old
snd-card-<name> under alsa-driver-0.9.0rc1/alsa-kernel/isa/*
I'm wondering whether I'm getting all my module options correctly
recognised, because of such changes. Perhaps I'm getting resource
conflicts - I have not yet registered any soundcard interrupts in
/proc/interrupts. Yet I do seem to get the same irq/dma/ioports as
before.
Ted
--
Ted <[EMAIL PROTECTED]>
http://www.nowtsfree.freeserve.co.uk
_______________________________________________________________
Don't miss the 2002 Sprint PCS Application Developer's Conference
August 25-28 in Las Vegas -- http://devcon.sprintpcs.com/adp/index.cfm
_______________________________________________
Alsa-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-user