Well, another weekend spent debugging the soundcard… grrr…
First, I have been able to track down the cause of the 14 “Unclassified devices”. They were generated during boot from the execution of PnPBIOS. (I discovered this while reading /var/log/boot.msg.) I was able to disable this by adding “pnpbios=off” to /boot/grub/menu.lst. The flag was added to a line like this:
kernel /vmlinuz-2.6.27.21-0.1-pae root=/dev/disk/by-id/ata-QUANTUM_FIREBALL_EX10.2A_371835675755-part3 resume=/dev/
disk/by-id/ata-QUANTUM_FIREBALL_EX10.2A_371835675755-part2 pnpbios=off splash=silent showopts
Now, when I boot, I see these lines in /var/log/boot.msg:
…
<5>Kernel command line: root=/dev/disk/by-id/ata-QUANTUM_FIREBALL_EX10.2A_371835675755-part3 resume=/dev/disk/by-id/ata-QUANTUM_FIREBALL_EX10.2A_371835675755-part2 pnpbios=off splash=silent
…
<6>PnPBIOS: Disabled
…
At this point, my ISA PnP devices report from Hardware Information looks just like my 10.1 install. Everything should work now, right? No… 
Here’s some more boot.msg lines that show that my soundcard has indeed been found during boot:
…
<6>isapnp: Scanning for PnP cards…
<6>pnp 00:01.00: increased option port range from 0x388-0x388 to 0x388-0x3f8
<6>pnp 00:01.00: increased option port range from 0x388-0x388 to 0x388-0x3f8
<6> 00:01: card ‘Creative ViBRA16X PnP’
<6> 00:02: card ‘U.S. Robotics 56K FAX INT’
<6>isapnp: 2 Plug & Play cards detected total
<6>Serial: 8250/16550 driver8 ports, IRQ sharing enabled
<6>serial8250: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
…
<6>sb: Init: Starting Probe…
<6>OSS SndBlstr 00:01.00: activated
<6>sb: PnP: Found Card Named = “Creative ViBRA16X PnP”, Card PnP id = CTL00F0, Device PnP id = CTL0043
<6>sb: PnP: Detected at: io=0x220, irq=5, dma=1, dma16=3
<6>SB 4.16 detected OK (220)
<4>SB16: Bad or missing 16 bit DMA channel
<4><Sound Blaster 16 (4.16)> at 0x220 irq 5 dma 1,3
<6>sb: Turning on MPU
<4><Sound Blaster 16> at 0x330 irq 5
<6>sb: Init: Done
…
The “SB16: Bad or missing 16 bit DMA channel” seems to be a common error for ViBRA16X cards and does not prevent it from working, according to some articles I’ve read. Indeed, this card works perfectly fine under 10.1.
(One interesting thing of note is that the YaST Sound configuration tool does not allow dma16 values other than 5,6,7, which complies to possible jumper settings of the ViBRA16X. It’s unknown to me as to why the ViBRA16X is detected with dma16=3.)
alsaconf 1.0.18:
- suggests sb16 and legacy as possible modules. I select sb16.
- modifies /etc/modprobe.d/sound and /etc/modprobe.conf to something very similar to my 10.1 install. /etc/modprobe.conf is exactly the same, but with one extra # comment line. /etc/modprobe.d/sound looks like this:
alias snd-card-0 snd-sb16
alias sound-slot-0 snd-sb16
In 10.1, I get this:
options snd-sb16 enable=1 index=0
a7Cn.lL9Gp+oo7k0:Creative ViBRA16X
alias snd-card-0 snd-sb16
- final messages from alsaconf looks like this:
Loading driver…
Starting sound driver: sb16 done
Setting default volumes…
amixer: Mixer attach default error: No such file or directory
Saving the mixer setup used for this in /etc/asound.state.
/usr/sbin/alsactl: save_state:1513: No soundcards found…
/proc/interrupts has:
5: 0 3 IO-APIC-edge soundblaster
/proc/modules has:
snd_pcm_oss 43024 0 - Live 0xd0b84000
snd_mixer_oss 14288 1 snd_pcm_oss, Live 0xd0b41000
snd_seq 51924 0 - Live 0xd0ac6000
snd_sb16 13008 0 - Live 0xd0a00000 (N)
snd_opl3_lib 10648 1 snd_sb16, Live 0xd0a0e000
snd_sb16_dsp 9124 1 snd_sb16, Live 0xd0a0a000 (N)
snd_sb16_csp 11728 1 snd_sb16, Live 0xd0a06000 (N)
snd_sb_common 16400 3 snd_sb16,snd_sb16_dsp,snd_sb16_csp, Live 0xd09f3000 (N)
snd_hwdep 7144 2 snd_opl3_lib,snd_sb16_csp, Live 0xd09e9000
snd_mpu401_uart 7172 1 snd_sb16, Live 0xd09f0000
snd_rawmidi 21300 1 snd_mpu401_uart, Live 0xd09f9000
snd_seq_device 7168 3 snd_seq,snd_opl3_lib,snd_rawmidi, Live 0xd09ed000
snd_pcm 76900 3 snd_pcm_oss,snd_sb16,snd_sb16_dsp, Live 0xd09c6000
snd_timer 20204 3 snd_seq,snd_opl3_lib,snd_pcm, Live 0xd099d000
snd 56816 14 snd_pcm_oss,snd_mixer_oss,snd_seq,snd_sb16,snd_opl3_lib,snd_sb16_dsp,snd_sb16_csp,snd_sb_common,snd_hwdep,snd_mpu401_uart,snd_rawmidi,snd_seq_device,snd_pcm,snd_timer, Live 0xd09da000
snd_page_alloc 8184 1 snd_pcm, Live 0xd09c3000
soundcore 6660 2 snd,sound, Live 0xd098a000
…
sound 69920 2 sb_lib,uart401, Live 0xd09a4000
sound_firmware 1772 1 sb_lib, Live 0xd0937000
/proc/ioports:
0213-0213 : ISAPnP
0220-022f : soundblaster
/proc/asound/
cards:
— no soundcards —
devices:
2: : timer
3: : sequencer
timers:
G0: system timer : 4000.000us (10000000 ticks)
version:
Advanced Linux Sound Architecture Driver Version 1.0.17.
oss/sndstat:
Sound Driver:3.8.1a-980706 (ALSA v1.0.17 emulation code)
Kernel: Linux linux-kmx7 2.6.27.21-0.1-pae #1 SMP 2009-03-31 14:50:44 +0200 i686
Config options: 0
Installed drivers:
Type 10: ALSA emulation
Card config:
— no soundcards —
Audio devices: NOT ENABLED IN CONFIG
Synth devices: NOT ENABLED IN CONFIG
Midi devices: NOT ENABLED IN CONFIG
Timers:
31: system timer
Mixers: NOT ENABLED IN CONFIG
seq/clients:
Client info
cur clients : 1
peak clients : 1
max clients : 192
Client 0 : “System” [Kernel]
Port 0 : “Timer” (Rwe-)
Port 1 : “Announce” (R-e-)
Client 14 : “Midi Through” [Kernel]
Port 0 : “Midi Through Port-0” (RWe-)
All other files in asound are empty.
Finally, at this point, Amarok works with the xine Engine and Output plugin set to Autodetect. The Amarok Welcome sample played fine last night, but today is quite choppy.
Vinh