Sound works in Windows XP and worked in Ubuntu 8.04. It stopped after a clean installation of Ubuntu Studio 9.04. It is not known if recording worked or if it is now broken. Hopefully sorting out playback will lead to a quick solution for recording, if one is needed. Summary of Test Results -------------------------------- Testing followed this understanding of the way sound playback is handled in Linux. Sound; - is generated by apps or test utilities such as Hydrogen or aplay - may pass through a sound server such as PulseAudio or Jack - goes to ALSA, which translates it for communication to sound cards - is converted from digital to analogue, amplified and fed to speakers by the sound card. The system has a Creative Labs Audigy2 sound card. It shares an IRQ with a video card and an onboard USB controller. Video and USB work properly in Linux. Video, USB and sound work in Windows. However, while BIOS reports these items on IRQ10, Linux (using cat /proc/interrupts) thinks they are on IRQ18. Is there any significance in this? It seems unlikely as video and USB work properly. ALSA appears to talk to the card – it is possible to set mixer controls using one mixer interface and read their state using an unrelated interface. Apps and test utilities appear able to send data to the card. To back this up, the kernel modules required to form the driver all appear to be loaded. When ALSA is forced to reload them, a pop and brief low level white noise comes from the speaker. This is similar to what can be heard during system boot. Possibly ALSA is passing control data to the card but not PCM audio data. I don't know if this is so or how to check. Re-installing ALSA had no effect. A full uninstall – reinstall was not done as many other packages would have been affected because of dependencies. Detailed information about the driver was reviewed, but it is beyond my technical competence to understand if or how it applies to my card and then to act on it (“Matrix:Module-emu10k1” at http://www.alsa-project.org/main/index.php/Matrix:Module-emu10k1). Now for the test results in detail. Thanks to Dave Phillips for his excellent series "Troubleshooting Linux Audio" at http://www.linuxjournal.com and to many other sources. Application & Test Utility Output -------------------------------- the Hyrdogen drum machine can be seen producing output on its VU meters. >From the command line: aplay -vv ak4744.wav shows an apparently successful result; Playing WAVE 'ak4744.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo Plug PCM: Hardware PCM card 0 'Audigy 2 Value [SB0400]' device 0 subdevice 0 Its setup is: stream : PLAYBACK access : RW_INTERLEAVED format : S16_LE subformat : STD channels : 2 rate : 44100 exact rate : 44100 (44100/1) msbits : 16 buffer_size : 16384 period_size : 4096 period_time : 92879 tstamp_mode : NONE period_step : 1 avail_min : 4096 period_event : 0 start_threshold : 16384 stop_threshold : 16384 silence_threshold: 0 silence_size : 0 Test tone from Sound → Preferences → Test output appears to be successful to most sound pipelines; - Audigy 2 Multichannel Playback (ALSA) OK - Audigy 2 Multichannel Capture / PT Playback (ALSA) Fails with error message “gconfaudiosink: cound not open audio device for playback” (also describes the audio sources as a 512 Hz tone and the pipeline as “audioconvert ! Audioresample ! Gconfaudiosink”). - Audigy 2 ADC Capture / Standard PCM Playback (ALSA) OK - Audigy 2 ADC Capture / Standard PCM Playback (OSS) 2 are OK, the third apparently identical one fails - ALSA OK - OSS OK Sound Server -------------------------------- PulseAudio and JACK were both on the sytesm. To simplify the problem; JACK was not started; PulseAudio was completely uninstalled, the system was restarted and it was verified that no persistent processes still existed for PulseAudio (ps -e | grep “pulse”) Drivers (ALSA) -------------------------------- All volume controls were set to 100% and all mute controls were set to un-mute in Alsamixer. These settings were verified by having another mixer read and display them (Alsamixergui). As can be seen from the preceding output of aplay, sound was routed directly from its source to ALSA and ALSA recognised the Audigy 2 card on this computer. Output from the Sound → Preferences test also suggests that ALSA is interrogating the card and recognising what it can and cannot do. However, there is a strange indication from ALSCTL; alsactl init which shows; Unknown hardware: "Audigy2" "SigmaTel STAC9750,51" "AC97a:83847650" "" "" What is this saying? The ALSA soundcard matrix says an Audigy2 card should be using emu10k1 modules.. http://www.alsa-project.org/main/index.php/Matrix:Vendor-Creative_Labs though I can't find an exact match there for my Audigy 2 SB0400 card. I tried forcing ALSA to reload its kernel modules using; sudo alsa reload The speaker emitted a soft pop and about half a second of very low level white noise, similar to what can be heard during system boot. Commmand output was; lsof: WARNING: can't stat() fuse.gvfs-fuse-daemon file system /home/dmorrell/.gvfs Output information may be incomplete. /sbin/alsa: Warning: Processes using sound devices: 3215(timidity). Unloading ALSA sound driver modules: snd-emu10k1-synth snd-emux-synth snd-seq-virmidi snd-seq-midi-emul snd-emu10k1 snd-ac97-codec snd-pcm-oss snd-mixer-oss snd-pcm snd-page-alloc snd-util-mem snd-hwdep snd-seq-dummy snd-seq-oss snd-seq-midi snd-rawmidi snd-seq-midi-event snd-seq snd-timer snd-seq-device (failed: modules still loaded: snd-seq snd-timer snd-seq-device). Loading ALSA sound driver modules: snd-emu10k1-synth snd-emux-synth snd-seq-virmidi snd-seq-midi-emul snd-emu10k1 snd-ac97-codec snd-pcm-oss snd-mixer-oss snd-pcm snd-page-alloc snd-util-mem snd-hwdep snd-seq-dummy snd-seq-oss snd-seq-midi snd-rawmidi snd-seq-midi-event snd-seq snd-timer snd-seq-device. Kernel module(s) the card is using were checked using cat /proc/asound/modules which shows; 0 snd_emu10k1 i.e. there is only card 0 and it is using module snd_emu10k1. This was further confirmed using command lspci -v | grep “Audigy”, which showed; 05:09.0 Multimedia audio controller: Creative Labs SB0400 Audigy2 Value Kernel driver in use: EMU10K1_Audigy A test was done to confirm that the modules are actually loaded into the kernel; lsmod | grep "emu" which showed a host of modules that seem as if they should be there, though of course could not show any modules that aren't there and should be; snd_emu10k1_synth 14336 0 snd_emux_synth 40832 1 snd_emu10k1_synth snd_seq_virmidi 13440 1 snd_emux_synth snd_seq_midi_emul 14592 1 snd_emux_synth snd_emu10k1 144288 1 snd_emu10k1_synth snd_ac97_codec 112292 1 snd_emu10k1 snd_pcm 83076 3 snd_emu10k1,snd_ac97_codec,snd_pcm_oss snd_page_alloc 16904 2 snd_emu10k1,snd_pcm snd_util_mem 12288 2 snd_emux_synth,snd_emu10k1 snd_hwdep 15108 2 snd_emux_synth,snd_emu10k1 snd_rawmidi 29696 3 snd_seq_virmidi,snd_emu10k1, snd_seq_midi snd_seq 56880 10 snd_emux_synth,snd_seq_virmidi,snd_seq_midi_emul,snd_seq_dummy, snd_seq_oss,snd_seq_midi,snd_seq_midi_event snd_timer 29704 3 snd_emu10k1,snd_pcm,snd_seq snd_seq_device 14988 8 snd_emu10k1_synth,snd_emux_synth,snd_emu10k1,snd_seq_dummy,snd_seq_oss, snd_seq_midi,snd_rawmidi,snd_seq snd 62756 14 snd_emux_synth,snd_seq_virmidi,snd_emu10k1,snd_ac97_codec,snd_pcm_oss, snd_mixer_oss,snd_pcm,snd_hwdep,snd_seq_oss,snd_rawmidi,snd_seq,snd_ timer,snd_seq_device Just for the hell of it, I had a look at information about the emu10k1 module using; modinfo snd-emu10k1 which showed; filename: /lib/modules/2.6.28-15-generic/kernel/sound/pci/emu10k1/snd-emu10k1.ko license: GPL description: EMU10K1 author: Jaroslav Kysela <perex@xxxxxxxx> firmware: emu/emu1010_notebook.fw firmware: emu/emu0404.fw firmware: emu/micro_dock.fw firmware: emu/emu1010b.fw firmware: emu/audio_dock.fw firmware: emu/hana.fw srcversion: F52CF37385CBD708CAB4A2C alias: pci:v00001102d00000008sv*sd*bc*sc*i* alias: pci:v00001102d00000004sv*sd*bc*sc*i* alias: pci:v00001102d00000002sv*sd*bc*sc*i* depends: snd-pcm,snd-util-mem,snd-page-alloc,snd,snd-rawmidi,snd-timer, snd-hwdep,snd-ac97-codec,snd-seq-device vermagic: 2.6.28-15-generic SMP mod_unload modversions 586 parm: index:Index value for the EMU10K1 soundcard. (array of int) parm: id:ID string for the EMU10K1 soundcard. (array of charp) parm: enable:Enable the EMU10K1 soundcard. (array of bool) parm: extin:Available external inputs for FX8010. Zero=default. (array of int) parm: extout:Available external outputs for FX8010. Zero=default. (array of int) parm: seq_ports:Allocated sequencer ports for internal synthesizer. (array of int) parm: max_synth_voices:Maximum number of voices for WaveTable. (array of int) parm: max_buffer_size:Maximum sample buffer size in MB. (array of int) parm: enable_ir:Enable IR. (array of bool) parm: subsystem:Force card subsystem model. (array of uint) Noticing the parameter 'enable' (ton enable a sound card) and feeling desparate, I tried reloading the module with that parameter specified; sudo modprobe -i snd_emu10k1 enable=true Unsurprisingly, it made no difference as the card already appears to be talking to its driver anyway. The ALSA soundcard matrix mentions that some cards may need the alsa-firmware package. That package is not on my system or in the Ubuntu repositories. However, its headers are installed. I don't know if this is significant. Next, I tried reinstalling ALSA. The following packages were affected; libsox-fmt-alsa alsa-base libasound2 libasound2-plugins mcp-plugins libesd-alsa0 This had no effect, so I considered completely uninstalling & reinstalling. However, many other packages that depend on ALSA would also have been removed. This looked like a short cut to a long reconstruction. Sound Card -------------------------------- The card works under Windows XP and had worked under Ubuntu 8.04. I have a Creative Labs Audigy 2 PCI card as card 0 on IRQ18 according to cat /proc/asound/cards 0 [Audigy2 ]: Audigy2 - Audigy 2 Value [SB0400] Audigy 2 Value [SB0400] (rev.0, serial:0x10011102) at 0x1040, irq 18 More information is given by cat /proc/interrupts which shows 18: 185146 IO-APIC-fasteoi uhci_hcd:usb4, EMU10K1, radeon@pci:0000:01:00.0 There is a USB controller, the soundcard (EMU10K1) and the video card (radeon) all using the same interrupt. The sound card does not appear on any other interrupts. BIOS reports all of these devices on IRQ10, not IRQ18. And yes, I have checked carefully to be sure I am not confusing 8 with 0. How could this discrepancy happen? A hint may lie in the online book “The Linux Kernel” at http://tldp.org/LDP/tlk/dd/pci.html. “For Intel based systems the system BIOS, which ran at boot time, has already fully configured the PCI system. This leaves Linux with little to do other than map that configuration. For non-Intel based systems further configuration needs to happen to: - Allocate PCI I/O and PCI Memory space to each device, - Configure the PCI I/O and PCI Memory address windows for each PCI-PCI bridge in the system, - Generate Interrupt Line values for the devices; these control interrupt handling for the device. “ Possibly Linux has read the information set up by the BIOS, then the PCI Fixup routine has remapped the Interrupt Line values even though.it may not have needed to do so? For a boots and all look at the PCI information about the sound card, lspci -vvxxx shows 05:09.0 Multimedia audio controller: Creative Labs SB0400 Audigy2 Value Subsystem: Creative Labs Device 1001 Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR+ FastB2B- DisINTx- Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort - <TAbort- <MAbort- >SERR- <PERR- INTx- Latency: 64 (500ns min, 5000ns max) Interrupt: pin A routed to IRQ 18 Region 0: I/O ports at 1040 [size=64] Capabilities: [dc] Power Management version 2 Flags: PMEClk- DSI+ D1+ D2+ AuxCurrent=0mA PME(D0-,D1-, D2-,D3hot-,D3cold-) Status: D0 PME-Enable- DSel=0 DScale=0 PME- Kernel driver in use: EMU10K1_Audigy Kernel modules: snd-emu10k1 The card has the following devices shown by; aplay -L This shows abridged); front:CARD=Audigy2,DEV=0 Audigy 2 Value [SB0400], ADC Capture/Standard PCM Playback Front speakers rear:CARD=Audigy2,DEV=0 Audigy 2 Value [SB0400], ADC Capture/Standard PCM Playback Rear speakers … Audigy 2 Value [SB0400], ADC Capture/Standard PCM Playback IEC958 (S/PDIF) Digital Audio Output null Discard all samples (playback) or generate zero samples (capture) To see all input devices; arecord -l which shows; arecord -l **** List of CAPTURE Hardware Devices **** card 0: Audigy2 [Audigy 2 Value [SB0400]], device 0: emu10k1 [ADC Capture/Standard PCM Playback] Subdevices: 1/1 card 0: Audigy2 [Audigy 2 Value [SB0400]], device 1: emu10k1 mic [Mic Capture] card 0: Audigy2 [Audigy 2 Value [SB0400]], device 2: emu10k1 efx [Multichannel Capture/PT Playback] Subdevices: 1/1 ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Alsa-user mailing list Alsa-user@xxxxxxxxxxxxxxxxxxxxx https://lists.sourceforge.net/lists/listinfo/alsa-user