Warning: Can't synchronize with repository "(default)" (No changeset 96d22ec3fa3ef6de3ea8dc0d7d398adc9aa071cf in the repository). Look in the Trac log for more information.

Ticket #151 (closed defect: fixed)

Opened 6 years ago

Last modified 5 years ago

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:1 Changed 6 years ago by lindi

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

ATZ", 3)                = 3
ATE0V1", 6)             = 6
AT+CRC=1", 8)           = 8
AT+CREG=2", 9)          = 9
AT+CMEE=1", 9)          = 9
AT+CLIP=1", 9)          = 9
AT+COLP=0", 9)          = 9
AT+CCWA=1,1", 11)       = 11
AT+CMGF=0", 9)          = 9
AT+CIMI", 7)            = 7
AT+CMGF=0", 9)          = 9
AT+CTZR=1", 9)          = 9
AT%CTZV=1", 9)          = 9
AT%CPRI=1", 9)          = 9
AT%CSQ=1", 8)           = 8
AT%CUNS=0", 9)          = 9
AT%CPI=?", 8)           = 8
AT@AUL=\"0\"", 10)      = 10
AT@ST=\"-26\"", 11)     = 11
AT%CPI=3", 8)           = 8
AT+CFUN=1", 9)          = 9
AT+CMGL=4", 9)          = 9
AT+CPIN=\"0000\"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 29) = 29
AT+CFUN=1", 9)          = 9
AT+COPS=0", 9)          = 9
AT+CSMS=0", 9)          = 9
AT+CNMI=2,1,2,1,0", 17) = 17
AT+COPS=3,0", 11)       = 11
AT+COPS?", 8)           = 8
AT+CPBR=1,255", 13)     = 13
AT+COPS=0", 9)          = 9
AT+CSMS=0", 9)          = 9
AT+CNMI=2,1,2,1,0", 17) = 17
AT+COPS=3,0", 11)       = 11
AT+COPS?", 8)           = 8
ATD0800770215;", 14)    = 14
ATH", 3)                = 3
ATH", 3)                = 3
AT+CNUM", 7)            = 7

fso-frameworkd:

10, "\32\r\n"..., 3)        = 3
11, "\32\r\n"..., 3)        = 3
14, "\32\r\n"..., 3)        = 3
10, "ATZ\r\n"..., 5)        = 5
11, "ATZ\r\n"..., 5)        = 5
14, "ATZ\r\n"..., 5)        = 5
10, "ATE0V1\r\n"..., 8)     = 8
11, "ATE0V1\r\n"..., 8)     = 8
14, "ATE0V1\r\n"..., 8)     = 8
10, "AT+CMEE=1\r\n"..., 11) = 11
11, "AT+CMEE=1\r\n"..., 11) = 11
14, "AT+CMEE=1\r\n"..., 11) = 11
10, "AT+CRC=1\r\n"..., 10)  = 10
11, "AT+CRC=1\r\n"..., 10)  = 10
14, "AT+CRC=1\r\n"..., 10)  = 10
10, "AT+CSCS=\"8859-1\"\r\n"..., 18) = 18
11, "AT+CSCS=\"8859-1\"\r\n"..., 18) = 18
14, "AT+CSCS=\"8859-1\"\r\n"..., 18) = 18
10, "AT+CSDH=1\r\n"..., 11) = 11
11, "AT+CSDH=1\r\n"..., 11) = 11
14, "AT+CSDH=1\r\n"..., 11) = 11
10, "AT+CSNS=0\r\n"..., 11) = 11
11, "AT+CSNS=0\r\n"..., 11) = 11
14, "AT+CSNS=0\r\n"..., 11) = 11
10, "AT+CMGF=1\r\n"..., 11) = 11
11, "AT+CMGF=1\r\n"..., 11) = 11
14, "AT+CMGF=1\r\n"..., 11) = 11
10, "AT+CSMS=1\r\n"..., 11) = 11
11, "AT+CSMS=1\r\n"..., 11) = 11
14, "AT+CSMS=1\r\n"..., 11) = 11
10, "AT+CLIP=0\r\n"..., 11) = 11
11, "AT+CLIP=0\r\n"..., 11) = 11
14, "AT+CLIP=0\r\n"..., 11) = 11
10, "AT+COLP=0\r\n"..., 11) = 11
11, "AT+COLP=0\r\n"..., 11) = 11
14, "AT+COLP=0\r\n"..., 11) = 11
10, "AT+CCWA=0\r\n"..., 11) = 11
11, "AT+CCWA=0\r\n"..., 11) = 11
14, "AT+CCWA=0\r\n"..., 11) = 11
11, "AT+CLIP=1\r\n"..., 11) = 11
11, "AT+COLP=1\r\n"..., 11) = 11
11, "AT+CCWA=1\r\n"..., 11) = 11
11, "AT+CSSN=1,1\r\n"..., 13) = 13
11, "AT+CTZU=1\r\n"..., 11) = 11
11, "AT+CTZR=1\r\n"..., 11) = 11
11, "AT+CREG=2\r\n"..., 11) = 11
11, "AT+CAOC=2\r\n"..., 11) = 11
11, "AT+CGEREP=2,1\r\n"..., 15) = 15
11, "AT+CGREG=2\r\n"..., 12) = 12
11, "AT%CPI=3\r\n"..., 10)  = 10
11, "AT%CSCN=1,2,1,2\r\n"..., 17) = 17
11, "AT%CSQ=1\r\n"..., 10)  = 10
11, "AT%CNIV=1\r\n"..., 11) = 11
11, "AT%CGEREP=1\r\n"..., 13) = 13
11, "AT%CGREG=3\r\n"..., 12) = 12
11, "AT%CSTAT=1\r\n"..., 12) = 12
11, "AT@ST=\"-26\"\r\n"..., 13) = 13
10, "\32"..., 1)            = 1
10, "AT+CPIN?\r\n"..., 10)  = 10
10, "AT+CFUN=1\r\n"..., 11) = 11
10, "AT+CPIN?\r\n"..., 10)  = 10
10, "AT+CPIN?\r\n"..., 10)  = 10
10, "\32"..., 1)            = 1
10, "AT+CPIN=\"0000\"\r\n"..., 16) = 16
10, "AT+CPIN?\r\n"..., 10)  = 10
10, "AT+CFUN=1\r\n"..., 11) = 11
10, "AT+CPIN?\r\n"..., 10)  = 10
10, "AT+COPS=0,0\r\n"..., 13) = 13
11, "AT+CNMI=2,1,2,1,1\r\n"..., 19) = 19
11, "AT%CBHZ=1\r\n"..., 11) = 11
10, "AT+CSQ\r\n"..., 8)     = 8
10, "AT+CREG?;+COPS?\r\n"..., 17) = 17
10, "AT+CPBS=\"SM\";+CPBR=?\r\n"..., 22) = 22
10, "AT+CMGL=\"ALL\"\r\n"..., 15) = 15
10, "AT+CPBS=\"SM\";+CPBR=1,250\r\n"..., 26) = 26
14, "\32"..., 1)            = 1
14, "ATD0800770215;\r\n"..., 16) = 16
14, "\32"..., 1)            = 1
14, "ATH\r\n"..., 5)        = 5

comment:2 Changed 6 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 6 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 6 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 6 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 6 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 6 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 6 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 6 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.

Note: See TracTickets for help on using tickets.