-   Slackware (
-   -   Alsa Configuration Issue - No Capture. (

business_kid 08-24-2012 03:15 PM

Alsa Configuration Issue - No Capture.
Long Standing issue: No capture on HDA-Intel card (SB600 chip).

I can get around it as follows. Run hda-analyser, select pin 0x18. There it shows 2 sliders for input, 2 for output. Adjust for some input and some output, and I have capture (external microphone).

Reboot, and it's gone,all inputs at zero, the output is up full and muted. Even running the python script setting the volumes leaves the inputs at 0.The diff is

@@ -185,17 +185,17 @@
  Pin-ctls: 0x20: IN
  Unsolicited: tag=0x00, enabled=0
 Node 0x18 [Pin Complex] wcaps 0x400187: Stereo Amp-In Amp-Out
  Control: name="Internal Mic Boost Volume", index=0, device=0
    ControlAmp: chs=3, dir=1, idx=0, ofs=0
  Amp-In caps: ofs=0x00, nsteps=0x03, stepsize=0x27, mute=0
  Amp-In vals: [0x01 0x01]
  Amp-Out caps: ofs=0x3d, nsteps=0x3f, stepsize=0x05, mute=1
-  Amp-Out vals: [0xbf 0xbf]
+  Amp-Out vals: [0x20 0x20]
  Pincap 0x00001737: IN OUT Detect Trigger ImpSense
    Vref caps: HIZ 50 GRD 80
  Pin Default 0xf0a79159: [Both] Mic at Oth N/A
    Conn = Analog, Color = Pink
    DefAssociation = 0x5, Sequence = 0x9
    Misc = NO_PRESENCE
  Pin-ctls: 0x24: IN VREF_80
  Unsolicited: tag=0x00, enabled=

How does one set a mic from scratch with the hda intel things?

business_kid 08-25-2012 11:42 AM

The plot thickens. . .

Just for pig iron, I tried it in Slamd64 (=slackware64-12.2) and the capture is purr-fect :-((.
Kernel I tried copying over /etc/alsa/ and /etc/modprobe.d/sound.conf but no joy

In Slackware-13.37, I can get capture by playing with the hda-analyzer script. It writes python scripts to tweak it and these _never_ work. Alsactl nobbles capture completely.

Just thinking out loud, It's hardly kernel modules; it isn't config files; I imagine the rc script in slamd was nicked from Slackware anyhow. What's left :-O?

business_kid 08-26-2012 12:49 PM

One last try, as I have a deafening silence on this one.

I grabbed the script and went through slowly, --with-everything

/dev/snd/pcmC0D0c has a different minor number in the earlier system

Slackware-13.37: (Alsa-1.0.24)
crw-rw---- 1 root audio 116, 3 Aug 26 16:53 /dev/snd/pcmC0D0c

Slamd64 (Alsa-1.0.17)
crw-rw---- 1 root audio 116, 24 Aug 26 16:28 /dev/snd/pcmC0D0c

Anyone got any thoughts? Anyone got a guess on this?

kingbeowulf 08-27-2012 03:45 AM

I don't have a SB600 chip handy, nor familiar with hda-analyzer, but the Intel chipset on a laptop running Slackware14-RC3 uses the same hda-intel module with no issues. Perhaps its a hardware mapping issue with HDMI? Mic jack autosensing? Conflict with internal mic? Did you look at 'alsamixer' F4: Capture In F3: Playback is the Mic Jack Mode "Mic In" if you are trying to record from a microphone? How about creating/editing /etc/modprobe.d/snd-hda-intel.conf with

options snd-hda-intel model=auto
(See also /usr/src/linux/Documentation/sound/alsa/HD-Audio-Models.txt) This should get rid of alsaconf "no supported pci or PCI card found" so that alsaconf can set up reasonable defualts....maybe...

From Mr. Obvious, as root, once you set alsamixzer, you will need to run 'alsactl store' to avoid "nobbling." One good way to test is to use Audacity. It will see what inputs are available. Keep monkeying around until something records.

Say, didn't we discuss this before? And still no luck? Did you try Slackware14-RC3?

So I suppose you could dump the microphne jack and get a USB microphone headset combo. Logitech and Creative labs seem to work ok.

business_kid 08-27-2012 04:59 AM

Thanks for the reply. Yes we did discuss this before, and still no luck. I have read /usr/src/linux/Documentation/sound/alsa/HD-Audio-Models.txt, and /usr/src/linux/Documentation/sound/alsa/HD-Audio.txt. There's some suffering!

There's _no_ internal mic, and output is to 2 crappy little speakers and a headphone socket. No line-in/line-out, just a mic socket which shows under capture in alsamixer. No newbie errors.
The HDA Intel chip is a number of input, internal and output amps. The in and out volumes on many of them are variable, afaict to make use of built in capacitors (design your own filter). There is one alsa module, but it needs support for different incarnations of the chip (Realtek, Nvidia, Intel, Amd, IDT/Sigmatel, Via, Cirrus, Conexant, Creative, C-Media & Silicon Labs).

What seems to matter is internal mappings and volumes and the way the device is brought up. This _never_ worked under Slackware64. I have sent outputs from each system
slamd (working) and slackware (no capture)!208

Also up there are 2 pictures -
1. hda-analyzer showing one screen (my contentious pin 0x18) of the analyzer and
2. hda-graph with the internal graph of the chip output by the system.

I'd love to find what's different, fix it, and go away. But it's not that simple. Just listening to the sound, Slamd has a very well balanced and high quality capture, and what I get up in Slackware is rough and noisy by comparison.

H_TeXMeX_H 08-27-2012 09:40 AM

I'd say look at the difference in kernel configs for the audio.

You could try using 'mknod' to create a node with the same major and minor numbers ... but I think it may be a driver issue instead.

business_kid 08-27-2012 10:49 AM


Originally Posted by H_TeXMeX_H (Post 4765381)
I'd say look at the difference in kernel configs for the audio.

I did. I remade 3.0.4 from the working config. As they are both on the same box, I copied the respective /lib/modules subdirs and booted each kernel in the other distro. There are issues, (amd/ati VIDEO, Locales, and slamd is basically knackered beyond a console)

I did get a blind (working capture) kernel going in my Slackware setup, logged inh and ran an arecord & aplay command blind. No capture, so I reckon the kernel is now eliminated.


Originally Posted by H_TeXMeX_H (Post 4765381)
You could try using 'mknod' to create a node with the same major and minor numbers ... but I think it may be a driver issue instead.

I did this, and arecord wouldn't run. Reviewing

* Kernels seem to be eliminated
* /etc/alsa & any config files I can find are copied from working to not working.
* I have tried about 5 times with the hda-analyzer script, but running alsactl or alsamixer buggers things completely.

EDIT: I also grabbed /proc/asound/card0/codec#0 from the working system, placed it into the dud one, and no joy.

Short of the m$ solution - uninstalling alsa and reinstalling
1. Slamd stuff
2. Slackware stuff

I'm clean out of ideas ( a rare occurence!). So I am defeated, until I get my next idea.

/goes off to try uninstalling & reinstalling. But this never works.

business_kid 08-27-2012 01:05 PM

I caught one mistake - /etc/asound.state did not copy over, as asound.state has moved to /var/lib/alsa, and slackware has a symlink there in /etc :-(.

Copying in slamd's asound.state has given me capture (HURRAY!) but with 100% echo (BOO!), but through some weird channels where it is fed into the (non-existent)internal microphone amp, instead of coming through capture where it should. Some filter is skewed.

I have it in alsamixer on Capture, Digital, & pcm channels. Turning up digital, and killing capture seems best. I have no adjustment columns for: Mic; Mixer; Docking station. I have 3 Mic boost columns and 2of them work, but are not necessary. I also have an unwanted & unfitted internal Mic column.

How would you go about killing that echo??

H_TeXMeX_H 08-27-2012 02:01 PM

If you can't mute Mic in alsamixer playback, then maybe there is something wrong with asound.state, so can you post it ?

business_kid 08-27-2012 02:51 PM

Sure something's wrong!
The buttons aren't working to insert a hyperlink here (NoScript?)!208

I have asound.state.slamd - purr-fect capture in slamd
Also asound state.slack - no capture at all in slackware
and asound.echo in slackware after a reboot and alsactl commands. Echoes.

It eventually dawned on me that they were passing mono to stereo, and one side of the stereo had very little, and the problem is eased by killing volume one side of the stereo amps. But that's mono capture, which is crap, with an echo. What happens if I have a stereo signal?

At this point I have reinstalled the slackware alsa stuff from disk. I also threw up the latest alsa-info, (alsa-info.echo) and I'll compare them tomorrow

H_TeXMeX_H 08-27-2012 04:09 PM

One thing I notice right away is that 'Capture Switch' is false in slackware ... so basically this means that it is not capturing because it is set to not capture.

Remember in alsamixer to press F4 for the capture settings, then press <Space> on 'Capture', and 'L R Capture' should appear in red, meaning that capturing is enabled. Without this, nothing is captured. This may be the problem.

Make sure to run 'alsactl store' if it works.

business_kid 08-28-2012 04:45 AM

Well, that explains a bit. Mind you, I had capture L&R in red. But I sorted it.

I went into slamd, THEN copied over the /etc/asound.state to slackware's /var/lib/asound.state. So when I booted slackware, I had the card set up via 'alsactl restore' from cold. That seemed to sort it. There's a minor echo, but I can live with that. It could even be in the room.

Alsa never has got past this stage, has it? And I've never got past spending unreal amounts of time sorting stupid little things.

H_TeXMeX_H 08-28-2012 09:39 AM

I would turn off Mic Booster, because it decreases quality. Echoing can be caused by speakers that are playing the recording too loud.

business_kid 08-29-2012 07:56 AM

Reluctantly, I'm pulling this back into the undecided comumn. :-((.

Well, at your suggestion, I went to turn off Mic boos, and found I had switched nothing, having copied /slamd/etc/asound.state to /var/lib/asound.state - while slackware is reading /var/lib/alsa/asound.state

2 reboots followed with the slamd asound.state in slackware, I have a firm echo. No echo at all in Slamd64 :-/. I had tweaked and fiddled to minimise it, and that was what I heard. Furthermore, I get the following errors from running 'alsactl restore' when run in a terminal

bash-4.1$ sudo alsactl restore
Found hardware: "HDA-Intel" "Analog Devices AD1981" "HDA:11d41981,103c30c2,00100200 HDA:11c11040,103c1378,00100200" "0x103c" "0x30c2"
Hardware is initialized using a generic method
alsactl: set_control:1267: failed to obtain info for control #5 (No such file or directory)
alsactl: set_control:1267: failed to obtain info for control #6 (No such file or directory)
5 & 6 are Mic boost & pcm playback respectively. This all indicates to me that it's basically ignoring stuff and making guesses at what to do and those guesses aren't very good (very good) :-/.

H_TeXMeX_H 08-29-2012 08:58 AM

Use the slackware asound.state and then just enable capture and save the settings.

All times are GMT -5. The time now is 11:27 PM.