Jump to content

Callers intermittently can't hear me through phone on Pro1-X and LineageOS; Whatsapp works


Recommended Posts

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 by kevg
  • Thanks 1
Link to post
Share on other sites
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.

Link to post
Share on other sites
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.

Link to post
Share on other sites

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 by claude0001
  • Like 1
Link to post
Share on other sites
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.

  • Like 2
Link to post
Share on other sites
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.

Link to post
Share on other sites
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.

  • Thanks 2
Link to post
Share on other sites

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.

Link to post
Share on other sites

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.

  • Thanks 2
Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

Terms