I get very often this message: "kernel: Sound error: Couldn't allocate DMA buffer" which means that I cannot play any sound when it occurs. I read the /usr/src/linux/Documentation/sound/README.modules which states: "[...] Linux can often have problems allocating DMA buffers for ISA cards on machines with more than 16MB RAM. The way to avoid this problem is to allocate the DMA buffers during module load and deallocate them when the module is unloaded. For this to be effective we need to load the sound modules right after the kernel boots, either manually or by an init script, and keep them around until we shut down. This is a little wasteful of RAM, but it guarantees that sound always works. To make the sound driver use persistent DMA buffers we need to pass the sound.o module a "dmabuf=1" command-line argument. This is normally done in /etc/conf.modules (or the more proper /etc/modules.conf) like so: options sound dmabuf=1 " I have a soundblaster 16 VIBRA and my /etc/conf.modules now looks like: alias char-major-14 sb options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 options sound dmabuf=1 # This is what I added after getting the knowledge :-) It seems to work! I just wanted to share it with you. Maurizio -- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/Support/Doku/FAQ/
There's also an option in the kernel config to allocate DMA buffers for ISA sound cards. It can be done there too. Gerry On 06-Jan-00 Maurizio Firmani wrote:
I get very often this message: "kernel: Sound error: Couldn't allocate DMA buffer" which means that I cannot play any sound when it occurs. I read the /usr/src/linux/Documentation/sound/README.modules which states: "[...] Linux can often have problems allocating DMA buffers for ISA cards on machines with more than 16MB RAM. The way to avoid this problem is to allocate the DMA buffers during module load and deallocate them when the module is unloaded. For this to be effective we need to load the sound modules right after the kernel boots, either manually or by an init script, and keep them around until we shut down. This is a little wasteful of RAM, but it guarantees that sound always works.
To make the sound driver use persistent DMA buffers we need to pass the sound.o module a "dmabuf=1" command-line argument. This is normally done in /etc/conf.modules (or the more proper /etc/modules.conf) like so:
options sound dmabuf=1 "
I have a soundblaster 16 VIBRA and my /etc/conf.modules now looks like: alias char-major-14 sb options sb io=0x220 irq=5 dma=1 dma16=5 mpu_io=0x330 options sound dmabuf=1 # This is what I added after getting the knowledge :-)
It seems to work!
I just wanted to share it with you.
Maurizio
-- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/Support/Doku/FAQ/
---------------------------------- E-Mail: Gerry Doris <gdoris@home.com> Date: 06-Jan-00 Time: 18:03:15 "The lyf so short, the craft so long to learne" Chaucer ---------------------------------- -- To unsubscribe send e-mail to suse-linux-e-unsubscribe@suse.com For additional commands send e-mail to suse-linux-e-help@suse.com Also check the FAQ at http://www.suse.com/Support/Doku/FAQ/
participants (2)
-
gdoris@home.com
-
maurizio@adriatico.prisma.rm.cnr.it