Metalic and horrible sound quality when call are made through 3G network / Replicant 4.2 & 6.0 on I9300
Depending on who I am calling: the call is crystal clear or it is like metallic / robot and very difficult to listen correctly.
This is very reproducible as for some mobile numbers dialed it is or always crystal clear or always metallic.
My Replicant installation (4.2 or 6.0) is stock for everything expect Bluetooth (as I really need it), on Bluetooth it is working well every-time.
I confirmed it is not due to Bluetooth bloob as my 6.0 Replicant is without it.
I confirmed it is not a faulty hardware / speaker on my phone as going back to stock ROM is working well.
I had some discussion on IRC and someone advice me to temporarily disable 3G networks and force 2G and the problem gone.
It confirms that calls passing trough 3G have an issue, is there a way to disable this function somewhere in advanced settings? I need to keep 3G as 2G is too slow when I am using the phone for mobile data. (and switching to 2G is not an option when someone is calling me I don't have time to do it)
#1 Updated by Laura Arjona Reina 12 months ago
Hi, I'm experiencing the same issue in my Replicant 4.2.2 (same phone model, GT-i9300). I was going to try to update to 6.0 to see if the issue was gone, but now I'll stay in 4.2.2 since, if I did understand well, the issue is present in 6.0 too.
For me, switching to 2G is ok for now, because it happens only with one number and I usually call that number, not receive from it.
So, if you want me to do some test or attach a catlog just tell.
#2 Updated by Wolfgang Wiedmeyer 12 months ago
Flash CyanogenMod and call a number where the sound issues happened. If the issue is also there with CyanogenMod, then there is maybe not much that can be done. But regardless if it works or not you can do the following:
- Capture the radio log (see GettingLogs).
- Flash Replicant again, do the same call and get the radio log
#3 Updated by la belette 12 months ago
For information, I move from my old mobile operator to another and the issue is gone.
Apparently I have heard that one (my old) is using as much as possible Voice over 3G but not my new one.
So this issus is temportaly solved for me, but will be a problem as soon as my new operator decides to use more the voice over data technology...
#4 Updated by Wolfgang Wiedmeyer 11 months ago
I could reproduce the issue when calling a LTE-enabled phone. I tested it with two i9300 phones which run Replicant 6.0. Only one of them had the issue. First, I thought the reason were different baseband firmwares on both phones, but this doesn't seem to be the case.
CyanogenMod doesn't have the issue, so the cause is likely somewhere in samsung-ril or the audio-ril-interface. I tried to figure out why one of the two Replicant phones worked and the other one didn't. In the end, I went back to stock rom on the phone that didn't work and called the LTE-enabled phone. After installing Replicant back, it suddenly worked.
My guess is that the stock rom changes settings on the operator side, in case that this is even possible. Strings in nv_data.bin didn't change, except for the build id which is expected. The SIM card worked with the i9300 phone that worked from the start, so changes to the SIM card are also unlikely.
As it works with CyanogenMod in any case, the goal should be to fix it in Replicant, but it would still be interesting to figure out what permanent change the stock rom did that made it work. Maybe Paul has an idea.
#5 Updated by la belette 11 months ago
Thanks for the update and your research.
It is very strange as I also have two i9300 and it was difficult to figure out the issue. The thing I discovered is that calling a particular number will always work or always failed (metalic sound).
For new Replicant adopter it could be a blocking point as it is a vital function which is not not working properly and this will be more and more common that SP activate voice over LTE.
I had the same issue with my galaxy s5 mini on an (unofficial) cm-13 / cm-14. The cause was that RIL_UNSOL_WB_AMR_STATE seems no longer to be supported and therefore low/wrong sampling rates were applied. Here's a link to the related commit https://github.com/cm-3470/android_device_samsung_smdk3470-common/commit/396cc21706d4d6c5170ceacc4664d67e6b75bbc5. Maybe this is related, I didn't check against the replicant RIL implementation.
#9 Updated by Wolfgang Wiedmeyer 7 months ago
Yes, it very likely has something to do with setting the WB-AMR state. It needs to be different for Bluetooth So if it works with Bluetooth, but it doesn't work otherwise, then this is a strong indicator that the issue is because of that.
We don't have support for getting and setting this state in our Audio-RIL. This needs to be implemented.
#10 Updated by Nichlas Severinsen 3 months ago
Hi, this is also an issue for the Samsung Galaxy Note 2 7100 (with latest Replicant version 6.0 0002 as of 2017-09-21)
I've only tried these configurations:
Caller Setup + N2 Setup -> result
Unknown + Cellular data disabled -> horrible metallic robo sounds
Unknown + Cellular on & Preferred network: 2G -> normal sound
Unknown (probably not 3G) + Cellular on & Preferred network: 3G -> normal sound
I also noticed that on LineageOS some phone calls start with a similar horrible sound, but then after a short while it switches to proper sound quality. Also TWRP for i9300 seems to include some RIL code? ( https://github.com/TeamWin/android_device_samsung_i9300/blob/cm-13.0/ril/telephony/java/com/android/internal/telephony/SamsungExynos4RIL.java ) Maybe this is related.
Anyway, the actual problem will probably be clear as soon as someone posts the radio log.