On Thu, 13 May 1999, Hans van den Boogert wrote: > Thanks all you guys for the help with the configuration of my SB AWE 64. > I owe you all. I am some steps closer to a working solution now, but > we're not there yet. [...] > # cat chiquita.au > /dev/audio > > Sound error: Couldn't allocate DMA buffer > > bash: dev/audio: Cannot allocate memory
I'll bet you have more than 16MB of RAM, right? Okay, this is one of the annoying things about running a real operating system like Linux on historically bent hardware like the PC. It seems that DMA (direct memory access) on the ISA bus can only happen in the first 16MB of RAM. Linux likes to treat all of memory the same (because on sane hardware, it *is*) and by default doesn't reserve any space for DMA stuff below 16MB. This can cause problems if you want to allocate some of that memory and it's all filled up. (The floppy drive can suffer this problem, too.) There are a couple of solutions. Traditionally, you'd compile sound into the kernel, not as a module... but you and I have ISA PNP cards. I'm told that there's an option to the sound module, "dmabuf=1", that forces it to grab a buffer and hold it as long as the module is loaded, but this may only be in the 2.2.x kernels. To make sure that this is really the problem, try two things. First, the next time you get that message, try using the floppy drive. Second, try booting the kernel with the option "mem=16M". (If you're using LILO, try booting with "linux mem=16M". This will force the kernel to use only memory below 16MB, and thus you should always have some memory free for DMA stuff, though you'll swap more. Sincerely, Ray Ingles (248) 377-7735 [EMAIL PROTECTED] Modern deductive method: 1) Devise hypothesis. 2) Apply for grant. 3) Perform experiments. 4) Revise hypothesis. 5) Backdate revised hypothesis. 6) Publish.