Ticket #151 (closed defect: fixed)
both sides of a call get distorted (and weak) sound.
| Reported by: | tasn | Owned by: | mickey |
|---|---|---|---|
| Priority: | critical | Milestone: | milestone4 |
| Component: | framework/ogsmd | Version: | |
| Keywords: | distroted, audio | Cc: |
Description
When I call out, or recieve a call, the other side, and I, hear each other weak and distorted. This makes calls from/to the moko unusable. I really don't know what to upload (log wise). If there's anything to add please inform me, and i will.
Change History
comment:2 Changed 5 years ago by lindi
I can further confirm that this is not a kernel issue since I used fso-frameworkd and libgsmd on the same kernel. I also did alsactl store during working call and alsactl restore'd the state during distorded call. This did not remove distortion so I don't think the issue is related to ALSA settings either.
comment:3 Changed 5 years ago by lindi
I think I figured this out. I used the following commands to make calls manually:
echo 0 > /sys/devices/platform/neo1973-pm-gsm.0/power_on echo 1 > /sys/devices/platform/neo1973-pm-gsm.0/power_on socat - file:/dev/ttySAC0,crtscts,crnl ATE1 AT+CFUN=1 AT+CPIN="0000" AT+CPIN? AT+COPS AT+COPS=0,0 AT+CNMI=2,1,2,1,1 AT%CBHZ=1 AT+CSQ AT+CREG?;+COPS? AT+CPBS="SM";+CPBR=? AT+CMGL="ALL" AT+CPBS="SM";+CPBR=1,250 ATD...; ATH
and noticed that if I use AT%CBHZ=0 instead of AT%CBHZ=1 the voice is not distorted. CBHZ is supposed to have something to do with home cell broadcasts, how can it affect sound quality?
comment:4 Changed 5 years ago by lindi
Just for the record here's the patch I use to make the voice sound normal again:
diff --git a/framework/subsystems/ogsmd/modems/ti_calypso/channel.py b/framework/subsystems/ogsmd/modems/ti_calypso/channel.py
index a38bbbb..a6c5142 100644
--- a/framework/subsystems/ogsmd/modems/ti_calypso/channel.py
+++ b/framework/subsystems/ogsmd/modems/ti_calypso/channel.py
@@ -177,7 +177,7 @@ class UnsolicitedResponseChannel( CalypsoModemChannel ):
# FIXME might enable %CPRI later
c = self._commands["sim"]
- c.append( "%CBHZ=1" ) # home zone cell broadcast: activate automatic (send frequently, not just once)
+ c.append( "%CBHZ=0" ) # home zone cell broadcast: activate automatic (send frequently, not just once)
c.append( "+CNMI=2,1,2,1,1" ) # SMS handling: store on SIM, then notify. Cell Broadcasts: notify immediately (already sent?)
c = self._commands["suspend"]
@@ -203,4 +203,4 @@ class UnsolicitedResponseChannel( CalypsoModemChannel ):
c.append( "%CNIV=1" )
c.append( "%CGEREP=1" )
c.append( "%CGREG=3" )
- c.append( "%CBHZ=1" ) # home zone cell broadcast: enable
+ c.append( "%CBHZ=0" ) # home zone cell broadcast: enable
comment:5 Changed 5 years ago by lindi
Since we need to figure out why this issue only affects some users it might be good idea to collect info on different operator/firmware versions here.
mdbus -s org.freesmartphone.frameworkd /org/freesmartphone/Device/PowerSupply/bat org.freesmartphone.Device.PowerSupply?.GetEnergyPercentage?
returns
HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko8
my operator is Saunalahti in Finland and setting CBHZ=1 makes it really difficult to understand what the other party is saying.
comment:6 Changed 5 years ago by affected user swc|666
/org/freesmartphone/GSM/Device: GetInfo? -> dbus.Dictionary({dbus.String(u'imei'): dbus.String(u'XXXXXXXXXXXXXXXX', variant_level=1), dbus.String(u'model'): dbus.String(u'"Neo1973 GTA02 Embedded GSM Modem"', variant_level=1), dbus.String(u'revision'): dbus.String(u'"HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko8"', variant_level=1), dbus.String(u'manufacturer'): dbus.String(u'FIC/OpenMoko', variant_level=1)}, signature=dbus.Signature('sv'))
operator AT&T
comment:7 Changed 5 years ago by tasn
'model':'"Neo1973 GTA02 Embedded GSM Modem"' 'revision':'"HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko8"' 'manufacturer':'FIC/OpenMoko'
operator: ORANGE Israel
comment:8 Changed 5 years ago by Sven Petai <hadara@…>
I see this problem too & can confirm that CBHZ=0 fixes it.
model: "Neo1973 GTA02 Embedded GSM Modem" revision: "HW: GTA02BV5, GSM: gsm_ac_gp_fd_pu_em_cph_ds_vc_cal35_ri_36_amd8_ts0-Moko8" manufacturer: 'FIC/OpenMoko'
country: Estonia operator: EMT
comment:9 Changed 5 years ago by mickey
- Status changed from new to assigned
- Owner changed from charlie to mickey
- Component changed from framework/ophoned to framework/ogsmd
Ok, thanks for these reports. It's really strange, but of course I believe you guys. I will come up with an API to enable/disable this.
comment:10 Changed 5 years ago by mickey
- Status changed from assigned to closed
- Resolution set to fixed
I have now disabled %CBHZ for the TI Calypso and will leave it like that until the first one requires homezone support. We need to revisit the issue then.

I can confirm this with debian fso-frameworkd 0.2.0-git20080805-8. It works here with libgsmd 0.1+svnr4505-r44. Here's a comparison of GSM traffic captured with strace:
libgsmd
fso-frameworkd: