FreeCalypso > hg > fc-tourmaline
view src/cs/services/atp/atp_gsm_bt_api.h @ 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 | 4e78acac3d88 |
children |
line wrap: on
line source
/******************************************************************************* * * File Name : atp_gsm_bt_api.h * * Definition used by atp_gsm_bt_api.c * * (C) Texas Instruments, all rights reserved * * Version number : 0.1 Date : 10-Jully-2000 * * History : 0.1 - Created by E. Baissus * * * Author : Eric Baissus : e-baissus@ti.com * ******************************************************************************/ #ifndef ATP_GSM_BT_API_H #define ATP_GSM_BT_API_H #include "atp/bti_at.h" /* Extern function for GSM definition */ /****************************************************************************** * Function name: bti_at_init_req * * Description : This function is called by GSM in order to register GSM to BT PS. * * * Parameters : None * * Return : None // function bti_at_init_cnf() used to issue result * * History : 0.1 (10-Jully-2000) * 0.2 (01-Jan-2001) * ******************************************************************************/ void bti_at_init_req(void); /****************************************************************************** * Function name: bti_at_deinit_ind * * Description : This function is called by GSM to de-register GSM from BT PS * Not Used * * Parameters : None * * Return : None * * * History : 0.1 (10-Jully-2000) * 0.2 (01-Jan-2001) * ******************************************************************************/ void bti_at_deinit_req(void); /****************************************************************************** * Function name: bti_at_open_port_res * * Description : This function is called by GSM to accept or refuse * an open port request issued by BT side * * * Parameters : gsm_port_nb = number of the gsm port * bti_gsm_port_info = custom information to open a GSM/GPRS port * result = BTI_ACK or BTI_NAK * * Return : None * * * History : 0.1 (10-Jully-2000) * 0.2 (01-Jan-2001) * ******************************************************************************/ void bti_at_open_port_res(T_BTI_PORT_NB gsm_port_nb, T_BTI_GSM_PORT_INFO gsm_port_info, T_BTI_ACK ack); /****************************************************************************** * Function name: bti_at_close_port_res * * Description : Not used by BT PS - Port is always closed whatever the * acknowledge is * * Parameters : gsm_port_nb = number of the gsm port * * Return : None * * * History : 0.1 (10-Jully-2000) * ******************************************************************************/ void bti_at_close_port_res(T_BTI_PORT_NB gsm_port_nb); /****************************************************************************** * Function name: bti_at_cmd_req * * Description : This function is called by GSM to provide unsollicited code * or information text to BT PS * * Parameters : gsm_port_nb = number of the gsm port * cmd = command in text format * * Return : None * * * History : 0.1 (10-Jully-2000) * ******************************************************************************/ void bti_at_cmd_req(T_BTI_PORT_NB gsm_port_nb, char * cmd); /****************************************************************************** * Function name: bti_at_cmd_res * * Description : This function is called by GSM to provide result code to BT * * Parameters : gsm_port_nb = number of the gsm port * cmd = command in text format * * Return : None * * * History : 0.1 (10-Jully-2000) * ******************************************************************************/ void bti_at_cmd_res(T_BTI_PORT_NB gsm_port_nb, char * cmd); /****************************************************************************** * Function name: bti_at_abort_res * * Description : This function is called by GSM to comfirm a command abort * * * Parameters : gsm_port_nb = number of the gsm port * * Return : None * * * History : 0.1 (10-Jully-2000) * ******************************************************************************/ void bti_at_abort_res(T_BTI_PORT_NB gsm_port_nb); /****************************************************************************** * Function name: bti_get_bt_data * * Description : This function is called by GSM to get data from BT side . * Copy is processed by BT side * * Parameters : gsm_port_nb = number of the gsm port * data_buffer = pointer on a buffer in which data can be copied * nb_bytes_to_copy = number of bytes to copy into data_buffer * * Return : None * * * History : 0.1 (10-Jully-2000) * 0.2 (01-Jan-2001) * ******************************************************************************/ void bti_get_bt_data (T_BTI_PORT_NB gsm_port_nb, char * data_buffer, unsigned long nb_bytes_to_copy); /****************************************************************************** * Function name: bti_data_ready_req * * Description : This function is called by GSM to indicate that data are * available for BT PS. * * * Parameters : gsm_port_nb = number of the gsm port * nb_bytes_available = number of bytes of data available * * Return : None * * History : 0.1 (10-Jully-2000) * 0.2 (01-Jan-2001) * ******************************************************************************/ void bti_data_ready_req (T_BTI_PORT_NB gsm_port_nb, unsigned long nb_bytes_available); /****************************************************************************** * Function name: bti_data_ready_res * * Description : This function is called by GSM to indicate that it can receive * new data from BT PS * * * Parameters : gsm_port_nb = number of the gsm port * * Return : None * * History : 0.1 (10-Jully-2000) * 0.2 (01-Jan-2001) * ******************************************************************************/ void bti_data_ready_res (T_BTI_PORT_NB gsm_port_nb); /****************************************************************************** * Function name: bti_at_signal_change_req * * Description : This function is called by GSM to provide a new signal line status * to BT * * * Parameters : gsm_port_nb = number of the gsm port * dce_signal = signal value * ring_type_1 = voice, data or fax * ring_type_2 = not used * * Return : None * * History : 0.1 (01-Jan-2001) * ******************************************************************************/ void bti_at_signal_change_req (T_BTI_PORT_NB gsm_port_nb, T_BTI_AT_DCE_SIGNAL dce_signal, T_BTI_AT_RING_TYPE ring_type_1, T_BTI_AT_RING_TYPE ring_type_2); #endif