kevg 14 Posted February 16, 2023 Share Posted February 16, 2023 (edited) I've got the latest LineageOS running on a Pro1-X. Intermittently, callers can't hear me although I can hear them. I can currently reliably reproduce the problem. If we switch over to Whatsapp, for example, it works fine, so it's no the microphone per se. I've provided logs (message me privately for the zip password) in the XDA forum post but haven't heard back yet. Sometimes, it suddenly starts working and I don't know what has changed. I'm on TMobile. I've tried restarting the phone, ensuring the volume is all the way up, calling over WiFi and not, turning off Bluetooth, turning off NFC, enabling and disabling airplane mode, plugging in a 3.5mm headphone with microphone, disabling location access, disabling mobile data, and disabling and re-enabling mic access. I tried building from source but 16GB RAM wasn't enough so I just bought a new laptop with 32GB RAM and I'm waiting on delivery. Any ideas to try? I need to make calls so I'm getting desperate. This is the most basic phone function and it's not working. I suspect the problem is related to the following messages which I don't see when things are working fine: 02-09 12:47:44.009 0 0 E send_afe_cal_type: No cal sent for cal_index 1, port_id = 0xb037! ret -22 02-09 12:47:44.032 0 0 E msm_cdc_pinctrl_get_gpiodata: device node is null 02-09 12:47:44.032 0 0 E msm_dmic_event: gpio set cannot be activated dmic_gpiod 02-09 12:47:44.032 0 0 E bolero-codec soc: qcom,msm-audio-apr:qcom,q6core-audio:bolero-cdc: ASoC: PRE_PMU: Digital Mic0 event failed: -22 02-09 12:47:44.099 0 0 E afe_get_cal_topology_id: cal_type 8 not initialized for this port 45104 02-09 12:47:44.099 0 0 E : send_afe_cal_type cal_block not found!! 02-09 12:47:44.119 0 0 E voice_get_cal: No cal data for cal 8! 02-09 12:47:44.119 0 0 E voice_send_cvs_register_cal_cmd: Voice_get_cal failed for cal 7! 02-09 12:47:44.120 0 0 E qdsp_cvp_callback: cmd = 0x11371 returned error = 0x2 02-09 12:47:44.120 0 0 E voice_send_cvp_register_dev_cfg_cmd: DSP returned error[ADSP_EBADPARAM] 02-09 12:47:44.121 0 0 E voice_get_cal: No cal data for cal 5! 02-09 12:47:44.121 0 0 E voice_send_cvp_register_cal_cmd: Voice_get_cal failed for cal 2! 02-09 12:47:44.121 0 0 E voice_get_cal: No cal data for cal 6! 02-09 12:47:44.121 0 0 E voice_send_cvp_register_vol_cal_cmd: Voice_get_cal failed for cal 3! 02-09 12:47:44.123 0 0 E qdsp_cvp_callback: cmd = 0x112c2 returned error = 0x1 02-09 12:47:44.123 0 0 E voice_send_vol_step_cmd: DSP returned error[ADSP_EFAILED] 02-09 12:47:44.123 0 0 E : voice volume failed 02-09 12:47:44.131 0 0 W HTB : quantum of class 10010 is big. Consider r2q change. 02-09 12:47:44.138 0 0 E qdsp_cvp_callback: cmd = 0x112c2 returned error = 0x1 02-09 12:47:44.138 0 0 E voice_send_vol_step_cmd: DSP returned error[ADSP_EFAILED] I've started to look into the code and it looks like the proximate issue is some event is coming in with NULL data through msm_cdc_pinctrl_select_active_state. Haven't debugged in detail yet as it's tough without being able to build a custom ROM with more debug, but it's under kernel/fxtec/sm6115/techpack/audio/ Edited February 17, 2023 by kevg 1 Quote Link to post Share on other sites
claude0001 1,315 Posted February 16, 2023 Share Posted February 16, 2023 11 minutes ago, kevg said: [...] I tried building from source but 16GB RAM wasn't enough [...] Are you sure about that? I am building my lineage-16 ROMs on a VM with 6 GB of RAM and never went out of memory. Could it be that you rather ran out of disk space? You need at least 250 GB, much more if you enable CCACHE. Quote Link to post Share on other sites
kevg 14 Posted February 16, 2023 Author Share Posted February 16, 2023 3 minutes ago, claude0001 said: Are you sure about that? I am building my lineage-16 ROMs on a VM with 6 GB of RAM and never went out of memory. Could it be that you rather ran out of disk space? You need at least 250 GB, much more if you enable CCACHE. Seems to be memory. It was at 99% in the build and failed with (emphasis added): dex2oatd F 02-16 15:22:03 770205 770205 mem_map_arena_pool.cc:65] Check failed: map.IsValid() Failed anonymous mmap((nil), 131072, 0x3, 0x22, -1, 0): Cannot allocate memory. See process maps in the log. I'm using an external SSD with hundreds of GB free. Quote Link to post Share on other sites
claude0001 1,315 Posted February 16, 2023 Share Posted February 16, 2023 (edited) OK. Indeed, according to the wiki, the RAM requirements seem to be significantly higher for building lineage-18.1 and later. Then again, even for lineage-16, I fall short of the recommended 16 GB by far. Of course the building probably takes longer, as the system might be forced to swap every now and then, but I wonder why it should fail altogether ... Anyway, good luck with your new box! 🙂 Edited February 16, 2023 by claude0001 1 Quote Link to post Share on other sites
Sean McCreary 328 Posted February 17, 2023 Share Posted February 17, 2023 On 2/16/2023 at 9:50 AM, kevg said: I tried building from source but 16GB RAM wasn't enough so I just bought a new laptop with 32GB RAM As another example, I can't build crosshatch from scratch without OOM errors, even with 32 GB RAM. The problem is that the build system doesn't avoid scheduling too many memory-hungry jobs in parallel, and LTO of the kernel takes ~40 min to complete on my build system. LTO uses 6GB of RAM, and will still be running when all of the Java and dex2oat jobs want > 2GB each. Some people swap to zRAM as a workaround, but sometimes the build will complete if you wait for the partial build to fail, and then immediately run 'brunch' a second time. 2 Quote Link to post Share on other sites
kevg 14 Posted February 18, 2023 Author Share Posted February 18, 2023 8 hours ago, Sean McCreary said: As another example, I can't build crosshatch from scratch without OOM errors, even with 32 GB RAM. The problem is that the build system doesn't avoid scheduling too many memory-hungry jobs in parallel, and LTO of the kernel takes ~40 min to complete on my build system. LTO uses 6GB of RAM, and will still be running when all of the Java and dex2oat jobs want > 2GB each. Some people swap to zRAM as a workaround, but sometimes the build will complete if you wait for the partial build to fail, and then immediately run 'brunch' a second time. Oh wow, that's good to know. I'll see if I can get a laptop with 64GB RAM instead. Quote Link to post Share on other sites
Craig 1,435 Posted February 19, 2023 Share Posted February 19, 2023 You had this happen during vowifi call? Quote Link to post Share on other sites
kevg 14 Posted February 22, 2023 Author Share Posted February 22, 2023 On 2/18/2023 at 9:36 PM, Craig said: You had this happen during vowifi call? Sorry for the delay in responding. It happened both with VoWiFi and over LTE. I'm still waiting for the issue to come back. It happened once and was happening for a few days, then it went away, then it came back for a few days, and now it's just working. 2 Quote Link to post Share on other sites
kevg 14 Posted March 1, 2023 Author Share Posted March 1, 2023 I compared success and failure logs of the caller-not-hearing issue and the failure logs alone have the message "voice volume failed" which sounds like it lines up with the problem symptom. I found a post with the same error that was fixed by seemingly enabling Fluence. I searched all of ~/android/lineage for "setprop persist.audio.fluence.speaker" but couldn't find anything. In the commit, there was a comment referencing another commit that changes some variable types. I applied similar changes to hardware/qcom/audio/hal/msm8974/platform.c and ardware/qcom/audio/hal/Android.mk, re-built with brunch pro1x, and installed the new build, but the caller-not-hearing issue is reproduced and adb logcat still shows "voice volume failed". Any ideas appreciated, particularly on how to enable Fluence, if that's possible. Quote Link to post Share on other sites
kevg 14 Posted March 5, 2023 Author Share Posted March 5, 2023 I should add an update that the problem is currently consistently happening. I tried switching to fluenceplus by changing device/fxtec/pro1x/vendor.prop and rebuilding but that didn't help. I noticed some SELinux errors early in the boot so I also tried compiling in new_value=0 in SELinux to always make it permissive, and that made the symptoms of the problem slightly different but ultimately the same. I'm kind of stuck because ultimately the q6voice.c calls make a call to apr_send_pkt and I don't know where the source of this is. 2 Quote Link to post Share on other sites
zstas 6 Posted March 10, 2023 Share Posted March 10, 2023 can it be here? [0] good luck with debugging this issue, personally I don't have much time to dig into it 😞 [0] - https://github.com/LineageOS/android_kernel_fxtec_sm6115/blob/lineage-20/drivers/soc/qcom/apr.c#L32 Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.