-
Notifications
You must be signed in to change notification settings - Fork 131
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[BUG] Gen4.1 AIOC rt711 : jack detection and alsa-bat capture fail #4681
Comments
@shumingfan is there a way to use the line-in on RT711-SDCA? From the spec the user should be able to set the 'Selected Mode' for the GE entity, no? |
@plbossart You mentioned that would be the UAJ case. That will be manual mode to configure the different endpoints the user selected. I tested the rt711 on Gen4.1 AIOC on my side and the jack detection source will be RT711_JD2. |
Yesterday I tried RT711_JD2_100K, it only works in specific situations:
The problem is with the HW CBJ detection mode, the audio splitter will be detected as headphone(jack_type=0x1) not headset(jack_type=0x3). The audio splitter we used has 4 rings. Any workarounds we can apply? |
Thanks @bardliao and @aiChaoSONG |
@bardliao @keqiaozhang can we close this bug? Is the work-around is good enough? |
Linux#4687 was fixed by PR#4769. Now we can check this issue on rt711 SDW platforms. It seems that above workaround cannot completely solve this issue, and we still occasionally reproduce this issue. We need a more robust solution. |
I checked 'Headset Mic Jack' status of all 3 MTLP_SDW_AIOC devices in JF, and they are all on.
So, the headset mic is detected. |
Follow-up from thesofproject/sof#9018 (comment)
Two weeks later today, I spent more time testing a larger range of headphones and headsets (excluding the bad one I used 2 weeks ago!) and I'm finally confident I have really isolated and confirmed the issue: the detection reliability issue happens indeed only with a splitter BUT it's not because of the splitters! It's because we connect a LINE OUT to the RVP's microphone input. That very likely changes the impedance and makes the microphone detection unreliable simply because it is NOT a microphone that is connected! QED. I'm confident this is the issue because I plugged and unplugged various jacks literally hundreds of times. The detection is rock solid EXCEPT when connecting a LINE OUT to the RVP's microphone input - thanks to the splitter, which I think is not itself an issue.
Why did this work before LNL? Probably thanks to: luck. Which just ran out. |
I found that the Warning this test was WITHOUT actually unplugging the jack; merely power cycling the DSP instead. But I feel like a similar thing happened when I was actually unplugging yesterday. This was also on a fresh boot, WITHOUT using This "stickiness" was also observed in test failures: very often all failed or all passed.
|
I re-tested many manual insertions on commit fbf0b7b, after fixup #4996 from @shumingfan was merged. Great news: everything works as expected! Another good news: alsabat capture tests passed in daily test run https://sof-ci.ostc.intel.com/#/result/planresultdetail/41346 with that same commit. There were a lot of other failures on ba-lnlm-rvp-sdw-03 in that test run and then it crashed and hung forever but that does not seem related (will investigate. EDIT: rtcwake, see below). @plbossart I can confirm that "None" below actually means "Autodetect". It does NOT mean "no jack" as I suspect you believed. Maybe the "None" word should be changed. Note setting the value back to 0 didn't work before the fixup, it had no effect. Now after the fixup,
The auto-detection "stickiness" of the splitter+lineout is confirmed with manual tests. It randomly flips between headphone and headset but the previous value is much more likely. |
Only one "signal too weak" failure in daily test run 41404?model=LNLM_SDW_AIOC&testcase=check-alsabat-headset-capture-599, see logs below. All other alsabat capture tests passed on the same run and system. In that failure the
Same device was fine today, no idea why yet.
|
As the "Selected Mode" workaround seems solid, I think we can finally close this? |
It crashed on rtcwake. This is pretty common, we noticed it only because
End of logs; stuck for hours until manually rebooted by @ssavati Off topic sorry. |
Describe the bug
On both MTL and LNL RVPs, we connected the Gen4.1 AIOC board to check Soundwire codec ALC711, but we found that the headset switch always off if no real headset(w/ mic) connected. In our test scenario, we connect the USB sound card to rt711 headset port and take the output of the USB sound card as the input to RT711 by using an audio splitter cable. In this way, the headset switch always off and nothing can be recorded.
I also tried 'options snd_soc_sof_sdw quirk=2', it can turn on the headset switch, but there is still an ~80% chance that no data will be recorded.
I hope there's a workaround to change the codec behavior.
To Reproduce
~/sof-test/test-case/check-alsabat.sh -c hw:sofhdadsp,0 -p hw:CODEC,0 -C 2 -F 997
Reproduction Rate
80%.
cc:
The text was updated successfully, but these errors were encountered: