FreeCalypso > hg > fc-tourmaline
view cdg-hybrid/sap/dti2.pdf @ 303:f76436d19a7a default tip
!GPRS config: fix long-standing AT+COPS chance hanging bug
There has been a long-standing bug in FreeCalypso going back years:
sometimes in the AT command bring-up sequence of an ACI-only MS,
the AT+COPS command would produce only a power scan followed by
cessation of protocol stack activity (only L1 ADC traces), instead
of the expected network search sequence. This behaviour was seen
in different FC firmware versions going back to Citrine, and seemed
to follow some law of chance, not reliably repeatable.
This bug has been tracked down and found to be specific to !GPRS
configuration, stemming from our TCS2/TCS3 hybrid and reconstruction
of !GPRS support that was bitrotten in TCS3.2/LoCosto version.
ACI module psa_mms.c, needed only for !GPRS, was missing in the TCS3
version and had to be pulled from TCS2 - but as it turns out,
there is a new field in the MMR_REG_REQ primitive that needs to be
set correctly, and that psa_mms.c module is the place where this
initialization needed to be added.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 08 Jun 2023 08:23:37 +0000 |
parents | 35f7a1dc9f7d |
children |
line wrap: on
line source
;******************************************************************************** ;*** File : dti2.pdf ;*** Creation : Wed Mar 11 09:57:59 CST 2009 ;*** XSLT Processor : Apache Software Foundation / http://xml.apache.org/xalan-j / supports XSLT-Ver: 1 ;*** Copyright : (c) Texas Instruments AG, Berlin Germany 2002 ;******************************************************************************** ;*** Document Type : Service Access Point Specification ;*** Document Name : dti2 ;*** Document No. : 8411.111.01.002 ;*** Document Date : 2001-09-19 ;*** Document Status: BEING_PROCESSED ;*** Document Author: PHE ;******************************************************************************** PRAGMA SRC_FILE_TIME "Thu Nov 29 09:40:38 2007" PRAGMA LAST_MODIFIED "2001-09-19" PRAGMA ID_AND_VERSION "8411.111.01.002" VALTAB VAL_version VAL 1 DTI_VERSION_10 "version 1.0" VALTAB VAL_cause VAL 0 DTI_CAUSE_NORMAL_CLOSE "connection is closed by the entity" VAL 1 DTI_CAUSE_UNEXPECTED_PRIMITIVE "unexpected primitive received" VAL 2 DTI_CAUSE_UNSUPPORTED_VERSION "negotiated version is not supported" VALTAB VAL_p_id VAL 0x21 DTI_PID_IP "simple ip packet" VAL 0x2D DTI_PID_CTCP "Van Jacobson compressed TCP/IP header" VAL 0x2F DTI_PID_UTCP "Van Jacobson uncompressed TCP/IP header" VAL 0x00 DTI_PID_UOS "unstructured octet stream" VALTAB VAL_st_break_len VAL 0 DTI_BREAK_OFF "No break detected" VALTAB VAL_st_flow VAL 0 DTI_FLOW_ON "flow control is inactive" VAL 1 DTI_FLOW_OFF "flow control is active" VALTAB VAL_st_line_sa VAL 0 DTI_SA_ON "SA is inactive" VAL 1 DTI_SA_OFF "SA is active" VALTAB VAL_st_line_sb VAL 0 DTI_SB_ON "SB is inactive" VAL 1 DTI_SB_OFF "SB is active" VAR list_len "length in octets of whole data" S VAR first "pointer to first generic data descriptor" L VAR next "next generic data descriptor" L VAR offset "offset in octets" S VAR len "length of content in octets" S VAR size "size of buffer in octets" S VAR buffer "buffer content" B VAR link_id "link identifier" L VAR version "Version of DTI" L VAL @p_dti2 - VAL_version@ VAR cause "cause of disconnection" B VAL @p_dti2 - VAL_cause@ VAR l_buf "length of content in bit" S VAR o_buf "offset of content in bit" S VAR buf "test data" B VAR p_id "protocol identifier" B VAL @p_dti2 - VAL_p_id@ VAR st_flow "flow control state" B VAL @p_dti2 - VAL_st_flow@ VAR st_line_sa "line state sa" B VAL @p_dti2 - VAL_st_line_sa@ VAR st_line_sb "line state sb" B VAL @p_dti2 - VAL_st_line_sb@ VAR st_break_len "break length" S VAL @p_dti2 - VAL_st_break_len@ COMP desc_list2 "List of generic data descriptors" { list_len ; length in octets of whole data first ; pointer to first generic data descriptor } COMP desc2 "generic data descriptor" { next ; next generic data descriptor offset ; offset in octets len ; length of content in octets size ; size of buffer in octets buffer [1] ; buffer content } COMP sdu "test data" { l_buf ; length of content in bit o_buf ; offset of content in bit buf [1] ; test data } COMP st_lines "Serial line states" { st_flow ; flow control state st_line_sa ; line state sa st_line_sb ; line state sb st_break_len ; break length } COMP parameters "Additional parameters" { p_id ; protocol identifier st_lines ; serial line states } ; DTI2_CONNECT_REQ 0x3750 ; DTI2_CONNECT_IND 0x7750 ; DTI2_CONNECT_CNF 0x7751 ; DTI2_CONNECT_RES 0x3751 ; DTI2_DISCONNECT_REQ 0x3752 ; DTI2_DISCONNECT_IND 0x7752 ; DTI2_GETDATA_REQ 0x3753 ; DTI2_READY_IND 0x7753 ; DTI2_DATA_IND 0x7754 ; DTI2_DATA_REQ 0x3754 ; DTI2_DATA_TEST_IND 0x7755 ; DTI2_DATA_TEST_REQ 0x3755 ; DTI2_DUMMY_REQ 0x3756 PRIM DTI2_CONNECT_REQ 0x3750 { link_id ; link identifier version ; version of DTI } PRIM DTI2_CONNECT_IND 0x7750 { link_id ; link identifier version ; version of DTI } PRIM DTI2_CONNECT_CNF 0x7751 { link_id ; link identifier version ; Version of DTI } PRIM DTI2_CONNECT_RES 0x3751 { link_id ; link identifier version ; Version of DTI } PRIM DTI2_DISCONNECT_REQ 0x3752 { link_id ; link identifier cause ; Cause of disconnection } PRIM DTI2_DISCONNECT_IND 0x7752 { link_id ; link identifier cause ; Cause of disconnection } PRIM DTI2_GETDATA_REQ 0x3753 { link_id ; link identifier } PRIM DTI2_READY_IND 0x7753 { link_id ; link identifier } PRIM DTI2_DATA_IND 0x7754 { link_id ; link identifier parameters ; Additional parameters desc_list2 ; list of generic data descriptors } PRIM DTI2_DATA_REQ 0x3754 { link_id ; link identifier parameters ; Additional parameters desc_list2 ; list of generic data descriptors } PRIM DTI2_DATA_TEST_IND 0x7755 { link_id ; link identifier parameters ; Additional parameters sdu ; test data } PRIM DTI2_DATA_TEST_REQ 0x3755 { link_id ; link identifier parameters ; Additional parameters sdu ; test data } PRIM DTI2_DUMMY_REQ 0x3756 { desc2 ; generic data descriptor }