SUSE 11.1 Creative ViBRA16x ISA no soundcard problem

I just installed SUSE 11.1 from DVD. My Creative ViBRA16x ISA PnP sound card is just not installing properly…

YaST->Hardware->Sound shows:

Index: 0
Card Model: Creative ViBRA16X

Selecting Volume shows up nothing. Play Test Sound produced no sound.

Following some debugging info found on the net, I Deleted the device and tried to configure it again with Edit. The result was:

“The kernel module snd-sb16 for sound support could not be loaded. This can be caused by incorrect module parameters, including invalid IO or IRQ parameters.”

Next I tried using alsaconf version 1.0.18. I get the selections of “sb16 Creative ViBRA16X PnP” and "legacy Probe legacy ISA (non-PnP) chips. I’ve tried both with no luck. Both produce this error after “OK, sound driver is configured…”:

“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…”

I tried “rcalsasound restart” next…

Shutting down sound driver
Starting sound driver: sb16


Here’s the usual requested info:

rpm -qa | grep alsa

alsa-utils-1.0.18-6.4
alsa-firmware-1.0.17-1.42
alsa-1.0.18-8.7
alsa-plugins-1.0.18-6.12
alsa-plugins-pulse-1.0.18-6.12
alsa-tools-1.0.18-1.13
alsa-oss-1.0.17-1.37

rpm -q libasound2

libasound2-1.0.18-8.7

uname -a

Linux linux-kmx7 2.6.27.7-9-pae #1 SMP 2008-12-04 18:10:04 +0100 i686 i686 i386 GNU/Linux

cat /etc/modprobe.d/sound

alias snd-card-0 snd-sb16
alias sound-slot-0 snd-sb16

/usr/sbin/alsa-info.sh

http://www.alsa-project.org/db/?f=dd47ad4a605411b7b78ab6dfc73f284b840330a1


Anything else I can try or report to further debug this?

Thanks!

Vinh

Forgot this:

cat /etc/modprobe.d/sound

alias snd-card-0 snd-sb16
alias sound-slot-0 snd-sb16

Vinh

I have the same problem playing the sounds. It should be noted that the card works because I can play music CD’s.I am really not sure how to proceed.

I note your sound card is not recognized upon boot, although the /etc/modprobe.d/sound file does indicate the kernel module snd-sb26 should be used.

I note this from the alsa-configuration.txt file for 1.0.19 of alsa:

  Module snd-sb16 and snd-sbawe
  -----------------------------

    Module for 16-bit SoundBlaster cards: SoundBlaster 16 (PnP),
					  SoundBlaster AWE 32 (PnP),
					  SoundBlaster AWE 64 PnP

    mic_agc	- Mic Auto-Gain-Control - 0 = disable, 1 = enable (default)
    csp		- ASP/CSP chip support - 0 = disable (default), 1 = enable
    isapnp	- ISA PnP detection - 0 = disable, 1 = enable (default)

    with isapnp=0, the following options are available:

    port	- port # for SB DSP 4.x chip (0x220,0x240,0x260)
    mpu_port	- port # for MPU-401 UART (0x300,0x330), -1 = disable
    awe_port	- base port # for EMU8000 synthesizer (0x620,0x640,0x660)
                   (snd-sbawe module only)
    irq		- IRQ # for SB DSP 4.x chip (5,7,9,10)
    dma8	- 8-bit DMA # for SB DSP 4.x chip (0,1,3)
    dma16	- 16-bit DMA # for SB DSP 4.x chip (5,6,7)
    
    This module supports multiple cards, autoprobe and ISA PnP.

    Note: To use Vibra16X cards in 16-bit half duplex mode, you must
          disable 16bit DMA with dma16 = -1 module parameter.
          Also, all Sound Blaster 16 type cards can operate in 16-bit
          half duplex mode through 8-bit DMA channel by disabling their
          16-bit DMA channel.
    
    The power-management is supported.

There is quote on the end re: the Vibra16X cards, but in truth, I don’t know enough to help there.

Please check your PCs BIOS, and make certain sound/audio is switched ON there.

What happens, if you type

su -c 'rcalsasound restart '

In truth, I don’t think I know enough about this device to help. You probably should write a bug report, and maybe the openSUSE/alsa developer can help you: Submitting Bug Reports - openSUSE

One hassle with ISA cards is that with non-PnP cards you have to go to the BIOS and allocate the IRQ it is using to the ISA bus. Possibly the DMA channel too. Otherwise interrupts will not get to the CPU. And as noted by the log message, you also have to tell the module what io and irq is used, if the module cannot find it by probing. All in all ISA cards are a pain to use these days.

I should note that sound was working fine under SUSE 10.1, my old installation. alsaconf worked as expected under 10.1… installing the snd-sb16 driver, playing the test sound and starting up the mixer.

One curious thing between 10.1 and 11.1 is the Hardware Information from YaST->Hardware->Hardware Information…

Under 10.1, ISA PnP lists two Creative ViBRA16X. 11.1 lists the same two Creative ViBRA16X devices but also 14 "Unclassified device"s. Here’s one example:

ISA PnP
Unclassified device
Bus: ISA
Card Type: PnP
Class (spec): Unclassified device
Class: Unclassified device
Device Identifier (spec): 132096
Hwcfg Bus: isa
Model: Unclassified device
Old Unique Key: ujpW.13ubA72AEK3
Subvendor Identifier: 147920
Subvendor: PnP
Sysfs ID: /devices/pnp0/00:00
Sysfs ID: 00:00
UID: /org/freedesktop/Hal/devices/pnp_PNP0400
Unique Key: z9pp.13ubA72AEK3

Is there something about PnP detection that’s changed that’s affecting sound?

Thanks,

Vinh

In 10.1:

Creative ViBRA16X
SysFS BusID: 00:01.00

Creative ViBRA16X
SysFS BusID: 00:01.01

In 11.1:

Creative ViBRA16X
SysFS BusID: 01:01.00

Creative ViBRA16X
SysFS BusID: 01:01.01

The “Unclassified device” have “SysFS BusID:” 00:00
to 00:0f, with 00:01 and 00:03 missing.

Vinh

I’m not certain if this helps, but I was reading it earlier today in the alsa-configuration.txt file:

Configuring Non-ISAPNP Cards
============================

When the kernel is configured with ISA-PnP support, the modules
supporting the isapnp cards will have module options "isapnp".
If this option is set, *only* the ISA-PnP devices will be probed.
For probing the non ISA-PnP cards, you have to pass "isapnp=0" option
together with the proper i/o and irq configuration.

When the kernel is configured without ISA-PnP support, isapnp option
will be not built in.

I believe this is pretty much along the lines of what ken_yap was suggesting.

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… :frowning:

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

Congratulations on making it this far. Reference your choppy sound, sometimes that can be due to pulse audio. In case it is, you could take a loot at this URL: SDB:AudioTroubleshooting - openSUSE - A possible fix to choppy-skipping sound

I’m on my third weekend with this… :frowning:

I tried installing Kubuntu 9.04 to see how well it does and the same problem came up. The soundcard is not recognized for use as soundcard 0 even though boot.msg says the card is there. Unlike SUSE 11.1, Kubuntu has very few packages installed to debug further. alsaconf isn’t even available. However, I was able to get the sound going on it with modprobe snd-sb16, something I wasn’t able to do with SUSE.

It seems at the very base level, all I need to do is make sure /etc/modprobe.d/sound has the options set and use modprobe snd-sb16 to load the module. From there, speaker-test should work? (In Kubuntu, it did.)

I’m pretty stuck at this point. Thanks oldcpu for your suggestions.

Does anyone have the Creative ViBRA16X ISA PnP sound card working on their machine?! HELP!!!

Vinh

If still using openSUSE, you probably should write a bug report, and maybe SuSE-GmbH/alsa developer can help you: Submitting Bug Reports - openSUSE

Note the SuSE-GmbH alsa packagers is also an alsa developer. By raising the bug report against component “sound” in the bug report you get the direct attention of an alsa developer. If anyone can sort your sound, they can. Just keep checking the bug report every day (sometimes it can take them a few days or more before they get around to looking at the bug report). They will likely ask you to run similar things to what I asked … an unlike me, they will likely know the answer to get it working.

Good luck!

Thanks oldcpu. I submitted the bug report a couple of weeks ago. It’s been assigned, but nothing has happened since. (sigh)

Vinh

What is the bug report number ?

#508890 on Bugzilla. It looks like Takashi Iwai just posted something! I’ll follow up! Thanks.

Vinh

If anyone can get this working - he can. He is the one who sorted the sound on the Dell Studio 15 laptop’s, modifying alsa in the process (and then submitting the fix upstream, so that all Linux users would benefit).