Examining the soundon.log file
If there is a problem occuring with the open sound system, it is possible that diagnostic information has been written to the system log files that may help to troubleshoot the cause.
Sample log file data
Here is some sample data taken from the
/var/log/soundon.log file of a non-working (Kernel486) system:
Kernel vermagic: 220.127.116.11 preempt mod_unload 486 4KSTACKS OSS vermagic: 18.104.22.168 preempt mod_unload 486 4KSTACKS *** Loading OSS kernel modules *** osscore module loaded OK Loading module oss_solo failed - ignored *** Finished loading OSS kernel modules *** opendir: No such file or directory SNDCTL_MIXERINFO: No such device or address 0 audio devices 1 mixer devices +++ ossinfo -v3 +++ Version info: OSS 4.1 (b 1051/200901181208) (0x00040100) GPL Platform: Linux/i486 22.214.171.124 #1 PREEMPT Sun Dec 21 02:26:32 GMT 2008 (despina) Number of audio devices: 0 Number of audio engines: 0 Number of mixer devices: 1 Device objects 0: osscore0 OSS core services 1: oss_solo0 ESS Solo-1 Mixer devices 0: Device not available Audio devices +++ /dev/sndstat +++ +++ dmesg +++ Linux version 126.96.36.199 (root@despina) (gcc version 4.1.2 (Gentoo 4.1.2 p1.1)) / #1 PREEMPT Sun Dec 21 02:26:32 GMT 2008 PAT not supported by CPU. PAT WC disabled due to known CPU erratum. osscore: This processor architecture is not compatible with vmix (info=-1) - Not enabled. PCI: setting IRQ 9 as level-triggered oss_solo 0000:00:0a.0: found PCI INT A -> IRQ 9 BUG: unable to handle kernel NULL pointer dereference at 00000060 IP: [<d8aea7d2>] :osscore:oss_install_mixer+0x262/0x370 *pde = 00000000 Oops: 0000 [#1] PREEMPT Modules linked in: oss_solo(+) osscore af_packet usbcore nfs lockd sunrpc / smc_ultra 8390 bitrev crc32 mousedev rtc_cmos rtc_core rtc_lib psmouse pcspkr / evdev ali_agp agpgart ide_floppy unix Pid: 2746, comm: modprobe Not tainted (188.8.131.52 #1) EIP: 0060:[<d8aea7d2>] EFLAGS: 00010202 CPU: 0 EIP is at oss_install_mixer+0x262/0x370 [osscore]
In the above example, we can see PAT not supported by CPU. PAT WC disabled due to known CPU erratum. It turns out in this instance that there is a PAT related bug in the kernel, which is causing the segmentation fault.
We can eliminate this fault by rebuilding the kernel with the following options:
MTRR (Memory Type Range Register) support (MTRR) [Y/n/?] n x86 PAT support (X86_PAT) [N/y/?] n