Opened 7 years ago

Last modified 6 months ago

#8333 new bug

HD-Audio, driver line-in/microphone-in doesn't work

Reported by: Robert S. Owned by: mmlr
Priority: normal Milestone: R1/beta2
Component: Drivers/Audio/HDA Version: R1/Development
Keywords: line-in microphone-in Cc: degea@…, greggd@…
Blocked By: Blocking:
Has a Patch: no Platform: x86

Description

The line-in/microphone-in of the HD-Audio driver doesn't work. When you try to record something for example with "Sound recorder" there is a "0 stream" coming in from the driver (it doesn't crash but there is no signal, just silence). It looks like the driver doesn't give correct data to the media kit. Maybe the implementation of line-in/microphone-in is up to now just a mockup in the driver?

I tested it on 3 different machine with the latest nightly build (hrev43742). To cross check, I tested it with an full supported sound card (an old soundblaster) and it worked. So I think the problem is located in the driver not the media kit.

regards, Robert

Attachments (3)

syslog (253.8 KB) - added by dsuden 7 years ago.
Syslog from system with line input problem (HDA audio)
syslogtxt.txt (63.0 KB) - added by Robert S. 7 years ago.
syslog.txt (252.4 KB) - added by Robert S. 6 years ago.
Lenovo T61 syslog (HDA driver)

Download all attachments as: .zip

Change History (18)

comment:1 Changed 7 years ago by ttcoder

Cc: degea@… added

comment:2 Changed 7 years ago by HAL

Cc: greggd@… added

comment:3 Changed 7 years ago by kallisti5

Mainboards with reported issue:

  • GA P43 ES3G
  • GA-990FXA-UD3 AM3+

Could you grab the /var/log/syslog from one of these systems and attach it here? I can try to reproduce over here however.

comment:4 Changed 7 years ago by dsuden

Sending up a syslog

Changed 7 years ago by dsuden

Attachment: syslog added

Syslog from system with line input problem (HDA audio)

Changed 7 years ago by Robert S.

Attachment: syslogtxt.txt added

comment:5 Changed 7 years ago by Robert S.

Uploaded my syslog to :) sorry for the delay. I have just forgotten it and saw it some minutes ago while submitting a new ticket :P

comment:6 Changed 7 years ago by ttcoder

I've fixed line-in for me today. I'm not 100% confident because I did and undid so many changes and kinda lost track of what worked when, but one thing's for sure: I can now open SoundRecorder, click the red "record" button, talk in the mike then stop then playback the recording and it's there. And the sound is clean.

Occured as I was working on fixing the mixer and finding out this one-line change in https://dev.haiku-os.org/ticket/8270#comment:8 fixed both the mixer output and input..

Hard to say if this fix will fix it for other people too tho;

@ Robert S. your syslog only contains 'standard' tracing from the driver, can you build the driver with full tracing enabled in hda_multi_audio.cpp and/or with a one-line change I'll provide ?

comment:7 Changed 7 years ago by Robert S.

Hi ttcoder,

I will try it at the upcoming weekend. Maybe your patch works for me, if not I build the driver with full tracing and post the syslog. Thanks so far!

comment:8 Changed 7 years ago by ttcoder

Report coming in from Dane: line-in works fine for him too! With just korli's patch from #8270 , no need for the verb-zero "patch" I have, it's only my laptop that requires that. Dane had to fiddle with sliders and checkboxes in the media preflet but it eventually allowed SoundRecorder to do its job just fine.

comment:9 Changed 7 years ago by korli

Please check with hrev44591.

comment:10 Changed 7 years ago by ttcoder

Bingo! Now about everything works on this laptop with a plain standard "trunk" build, no need for any hack.

The Line slider GUI of the Input tab is now connected to the Input/26 widget as it should, not to the Mixer/23 any more (just understood now what you said korli: that part of the syslog relates to the Input tab indeed, oops):

KERN: hda: set_mix: 26 mixer: 0
KERN: hda: set_mix: 26 mixer unmuting 0 (1a37000)
KERN: hda: set_mix: 26 mixer muting 1 (1a37180)
KERN: hda: set_mix: 26 mixer muting 2 (1a37280)
KERN: hda: set_mix: 26 mixer muting 3 (1a37380)
KERN: hda: set_mix: 26 mixer muting 4 (1a37480)

And the location of the word "unmuting" above changes as it should each time I select another input: Left Mic In, Mic In ..etc listed below as 20, 28, 17...:

KERN: 26: Audio input
KERN:   Supported power states: D0 D1 D2 D3 
KERN:   [L-R swap] [Power] [Conn. list] [Amplifier override] [In amplifier] [Stereo] 
KERN:   In Amp: supports mute, step size: 1.5 dB, # steps: 23, offset to 0 dB: 0
KERN:   Inputs: 23 <20> 18 17 21 

The only oddity is in SoundRecorder: tried a few times to be sure, and indeed now the VUs are going live / moving up and down only after the 'Record' button is clicked (they used to go live as soon as SoundRecorder was launched).

I'll send a build to Dane to check everything's hunkey dorey for him too; once Robert S confirms too we can close this ticket I guess :-)

Last edited 7 years ago by ttcoder (previous) (diff)

comment:11 Changed 7 years ago by korli

I'm glad it works better for you now.

About SoundRecorder, it has always been the case AFAICT. Neither the driver nor the multiaudio addon support the live VU meter functionality. Only when recording is in progress on the application side.

comment:12 Changed 6 years ago by ttcoder

Robert, need to keep this open? It's been working well for me and dsuden for a while now, for what it's worth.

comment:13 Changed 6 years ago by Robert S.

Hi,

sorry I just forgot this ticket :/. Some minutes ago I tested it on my Lenovo T61 Notebook on hrev45546 and it still does not work for me.

regards, Robert

PS: I will upload a syslog from my Lenovo T61

Last edited 6 years ago by Robert S. (previous) (diff)

Changed 6 years ago by Robert S.

Attachment: syslog.txt added

Lenovo T61 syslog (HDA driver)

comment:14 Changed 5 years ago by pulkomandy

Milestone: R1/beta1Unscheduled

Moving driver-specific issues out of beta1 milestone.

comment:15 Changed 6 months ago by pulkomandy

Milestone: UnscheduledR1/beta2
Note: See TracTickets for help on using tickets.