Sound ioctl mmap/trigger broken in 2.1.80?

Craig Schlenter (craig@is.co.za)
Wed, 21 Jan 1998 09:08:46 +0200 (SAT)


Hi

I get the following from when using amp in 2.1.80

Sound driver does not support mmap and/or trigger
Warning: Cannot set up direct-to-DMA audio. Exiting

Thank you for using amp!

2.1.79 was fine. My amp binary runs suid and has been compiled with the
realtime support. Running as root doesn't make a difference so it's not a
permission thing.

Here is the relevant snippets of code from amp:
[snip]
if (ioctl(audio_fd, SNDCTL_DSP_GETCAPS, &apar) == -1) {
perror("ioctl: SNDCTL_DSP_GETCAPS");
return -1;
}
if (!(apar & DSP_CAP_TRIGGER) || !(apar & DSP_CAP_MMAP)) {
fprintf(stderr, "Sound driver does not support mmap and/or
trigger\n");
return -1;
}
[snip]

The amp binary has been statically linked against libc 5.4.36 or
thereabouts and I think it does memlock tricks and sets realtime
scheduling priority stuff ...

Sound has been loaded as a module and the card configured with isapnp.

# cat /proc/modules
sb 22628 1
uart401 5612 1 [sb]
sound 79656 0 [sb uart401]

# cat /proc/sound
OSS/Free:3.8s2++-971130
Load type: Driver loaded as a module
Kernel: Linux flashy.is.co.za 2.1.80 #36 Wed Jan 21 08:00:19 SAT 1998 i586
Config options: 0

Installed drivers:

Card config:

Audio devices:
0: ESS ES1688 AudioDrive (rev 11) (3.1)

Synth devices:

Midi devices:

Timers:
0: System clock

Mixers:
0: Sound Blaster

Anyone have any ideas? I'll sift through the 2.1.80 patch myself for
whatever that is worth. Drop me a note if any more details are required.

Thank you,

--Craig