Open Konstont1n opened 6 months ago
This is what I found.
I am a complete zero in Linux terminology, I write in my own words, as I understand.
Having carefully compared the logs that GSI and stock give when calling from SIM1 and SIM2, the following was discovered:
On stock:
Call from SIM1:
D/voice (820): voice_start_usecase: enter usecase:voicemmode1-call
D/audio_hw_primary(820): select_devices for use case (voicemmode1-call)
Call from SIM2:
D/voice (820): voice_start_usecase: enter usecase:voicemmode2-call
D/audio_hw_primary(820): select_devices for use case (voicemmode2-call)
On GSI:
Call from SIM1:
D/voice (2251): voice_start_usecase: enter usecase:voicemmode1-call
D/audio_hw_primary(2251): select_devices for use case (voicemmode1-call)
Call from SIM2:
D/voice (2251): voice_start_usecase: enter usecase:voicemmode1-call
D/audio_hw_primary(2251): select_devices for use case (voicemmode1-call)
The difference is that when making a call, the stock accesses voicemmode1 from SIM1 and voicemmode2 from SIM2
While GSI only accesses voicemmode1 all the time.
After digging a little deeper into the vendor's files, I found the following:
<usecase name="USECASE_VOICEMMODE1_CALL" type="in" id="2"/>
<usecase name="USECASE_VOICEMMODE1_CALL" type="out" id="2"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="in" id="19"/>
<usecase name="USECASE_VOICEMMODE2_CALL" type="out" id="19"/>
Some in_id, out_id...
The same lines are also mentioned in some other xml files of the vendor.
I googled a bit and found:
[USECASE_VOICEMMODE1_CALL] = "voicemmode1-call",
[USECASE_VOICEMMODE2_CALL] = "voicemmode2-call",
But I dare to assume that in all GSIs that I tried, when calling from SIM2, the sound is output from the SIM1 source.
It looks like in all GSIs that I tried, when calling from SIM2, the sound input and output is from the SIM1 source.
That is why both I and my interlocutor hear silence.
The same silence is recorded from the line by the BCR module and its other analogues.
So the question is: who and how use this command voicemmode1 and where/how to fix it?
Also affects Note10+ d2q
(SM-N9750), on AndyYan's GSI builds
+1, this is also not working on SM-S901E
Describe the bug
Phone has two SIM cards.
GSIs activate both SIM cards, receives calls and SMS on both, and the Internet works on each of them.
But there is no voice when calling from the second SIM card. I can’t hear the other person, the other person can’t hear me.
At the same time, everything is fine with the first SIM card.
If you rearrange the SIM cards, the one in the second slot will have no voice on calls.
To Reproduce
Can be reproduced on any GSI.
I checked on:
aosp_arm64-exp-SQ3A.220705.003.A1-8672226-6554a6c4 system-squeak-arm64-ab-vndklite-gapps.img.xz aosp-arm64-ab-gapps-vndklite-14.0-20231217 lineage-20.0-20231214-UNOFFICIAL-arm64_bgN PixelExperience_Plus_arm64-ab-12.1-20221118-UNOFFICIAL PixelExperience_Plus_arm64-bgN-12.1-20230609-1510-MeowIce-GSI PixelExperience_Plus_arm64-ab-13.0-20230914-UNOFFICIAL PixelOS-13.0-20230710-arm64_bgN and few other...
the same on any dialer-app
but on the stock firmware sim2 works fine.
LogCat's
I made two logs in a row. First with the SIM1 (where there is a voice), then with SIM2. logcat_SIM1.txt logcat_SIM2.txt
files are synchronized by line numbers
Smartphone (please complete the following information):
Additional context
While I was looking for a solution, I found a mention of same problem on other Samsung dual-sim phones.
For example on:
Samsung Galaxy A23 4G (SM-A235F) Samsung Galaxy A71 (SM-A715FZ)