view cdg3/cdginc-locosto/p_gmmrr.val @ 636:57e67ca2e1cb

pcmdata.c: default +CGMI to "FreeCalypso" and +CGMM to model The present change has no effect whatsoever on Falconia-made and Openmoko-made devices on which /pcm/CGMI and /pcm/CGMM files have been programmed in FFS with sensible ID strings by the respective factories, but what should AT+CGMI and AT+CGMM queries return when the device is a Huawei GTM900 or Tango modem that has been converted to FreeCalypso with a firmware change? Before the present change they would return compiled-in defaults of "<manufacturer>" and "<model>", respectively; with the present change the firmware will self-identify as "FreeCalypso GTM900-FC" or "FreeCalypso Tango" on the two respective targets. This firmware identification will become important if someone incorporates an FC-converted GTM900 or Tango modem into a ZeroPhone-style smartphone where some high-level software like ofono will be talking to the modem and will need to properly identify this modem as FreeCalypso, as opposed to some other AT command modem flavor with different quirks. In technical terms, the compiled-in default for the AT+CGMI query (which will always be overridden by the /pcm/CGMI file in FFS if one is present) is now "FreeCalypso" in all configs on all targets; the compiled-in default for the AT+CGMM query (likewise always overridden by /pcm/CGMM if present) is "GTM900-FC" if CONFIG_TARGET_GTM900 or "Tango" if CONFIG_TARGET_TANGO or the original default of "<model>" otherwise.
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 19 Jan 2020 20:14:58 +0000
parents c15047b3d00d
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_gmmrr.val                                                    |
| SOURCE  : "sap\gmmrr.pdf"                                                |
| LastModified : "2003-09-02"                                              |
| IdAndVersion : "8441.101.03.025"                                         |
| SrcFileTime  : "Thu Nov 29 09:42:28 2007"                                |
| Generated by CCDGEN_2.5.5A on Thu Sep 25 09:18:53 2014                   |
|           !!DO NOT MODIFY!!DO NOT MODIFY!!DO NOT MODIFY!!                |
+--------------------------------------------------------------------------+
*/

/* PRAGMAS
 * PREFIX                 : NONE
 * COMPATIBILITY_DEFINES  : NO (require PREFIX)
 * ALWAYS_ENUM_IN_VAL_FILE: NO
 * ENABLE_GROUP: NO
 * CAPITALIZE_TYPENAME: NO
 */


#ifndef P_GMMRR_VAL
#define P_GMMRR_VAL


#define CDG_ENTER__P_GMMRR_VAL

#define CDG_ENTER__FILENAME _P_GMMRR_VAL
#define CDG_ENTER__P_GMMRR_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__P_GMMRR_VAL__LAST_MODIFIED _2003_09_02
#define CDG_ENTER__P_GMMRR_VAL__ID_AND_VERSION _8441_101_03_025

#define CDG_ENTER__P_GMMRR_VAL__SRC_FILE_TIME _Thu_Nov_29_09_42_28_2007

#include "CDG_ENTER.h"

#undef CDG_ENTER__P_GMMRR_VAL

#undef CDG_ENTER__FILENAME


/*
 * Value constants for VAL_old_tlli
 */
#define GMMRR_TLLI_INVALID             (0xffffffff)/* TLLI invalid (see GSM 3.03)    */

/*
 * Value constants for VAL_service_state
 */
#define GMMRR_SERVICE_NONE             (0x0)      /* No service                     */
#define GMMRR_SERVICE_LIMITED          (0x1)      /* Limited service                */
#define GMMRR_SERVICE_FULL             (0x2)      /* Full service                   */
#define GMMRR_SERVICE_UNKNOWN          (0x3)      /* Service unknown                */

/*
 * Value constants for VAL_net_mode
 */
#define GMMRR_NET_MODE_I               (0x0)      /* Network operation mode I, only one Paging channel for both: PCCCH or  CCCH */
#define GMMRR_NET_MODE_II              (0x1)      /* Network operation mode II, Paging only on CCCH */
#define GMMRR_NET_MODE_III             (0x2)      /* Network operation mode III, Paging on CCCH for CS and either on CCCH or on PCCCH for GPRS, if PCCH allocated in the cell */

/*
 * Value constants for VAL_standby_cause
 */
#define GMMRR_TIMEOUT_OF_T3314         (0x1)      /* GMM enters state STANDBY because of timeout of READY timer T3314 */
#define GMMRR_RESET_OF_T3314           (0x2)      /* GMM enters state STANDBY because GMM receives a message witrh timer_value 0 */
#define GMMRR_FORCE_TO_STANDBY         (0x3)      /* GMM receives a message indicating FORCE TO STANDBY */

/*
 * Value constants for VAL_old_ptmsi
 */
#define GMMRR_TMSI_INVALID             (0xffffffff)/* P-TMSI or TMSI invalid (see GSM 3.03) */

/*
 * Value constants for VAL_v_mid
 */
#define V_MID_NOT_PRES                 (0x0)      /* not present                    */
#define V_MID_PRES                     (0x1)      /* present                        */

/*
 * Value constants for VAL_id_type
 */
#define TYPE_NO_ID                     (0x0)      /* no identity                    */
#define TYPE_IMSI                      (0x1)      /* IMSI                           */
#define TYPE_TMSI                      (0x4)      /* TMSI                           */

/*
 * Value constants for VAL_response
 */
#define VAL_RESPONSE___DEF             (0x0)      /* The call is confirmed          */
#define GMMRR_CS_PAGE_REJ              (0x0)      /* The call is rejected           */
#define GMMRR_CS_PAGE_CNF              (0x1)      /* The call is confirmed          */

/*
 * Value constants for VAL_page_id
 */
#define VAL_PAGE_ID___DEF              (0x0)      /* P-TMSI                         */
#define GMMRR_IMSI                     (0x0)      /* IMSI                           */
#define GMMRR_PTMSI                    (0x1)      /* P-TMSI                         */

/*
 * Value constants for VAL_mobile_class
 */
#define VAL_MOBILE_CLASS___DEF         (0x0)      /* Combined GPRS attach           */
#define GMMRR_CLASS_A                  (0x1)      /* Combined GPRS                  */
#define GMMRR_CLASS_B                  (0x2)      /* GPRS and GSM                   */
#define GMMRR_CLASS_BC                 (0x3)      /* Combined GPRS if possible, otherwise GSM only */
#define GMMRR_CLASS_BG                 (0x4)      /* Combined GPRS if possible, otherwise GPRS only */
#define GMMRR_CLASS_CC                 (0x5)      /* reserved. (GSM-only)           */
#define GMMRR_CLASS_CG                 (0x6)      /* GPRS-only                      */

/*
 * Value constants for VAL_susp_gprs
 */
#define VAL_SUSP_GPRS___DEF            (0x0)      /* Suspend GPRS                   */
#define GMMRR_NOT_SUSP_GPRS            (0x0)      /* Do not suspend GPRS            */
#define GMMRR_SUSP_GPRS                (0x1)      /* Suspend GPRS                   */

/*
 * Value constants for VAL_split_pg_cycle
 */
#define GMMRR_NO_DRX                   (0x2c0)    /* Non DRX mode                   */

/*
 * Value constants for VAL_lac
 */
#define VAL_LAC___DEF                  (0x0)      /* lac                            */
#define GMMRR_LA_INVALID               (0xfffe)   /* la invalid                     */

/*
 * Value constants for VAL_rac
 */
#define GMMRR_RAC_INVALID              (0xff)     /* routing area code invalid      */

/*
 * Value constants for VAL_gmmrr_non_drx_timer
 */
#define DRX_NO                         (0x0)      /* no non-DRX mode after transfer state */
#define DRX_1_SEC                      (0x1)      /* max. 1 sec non-DRX mode after transfer */
#define DRX_2_SEC                      (0x2)      /* max. 2 sec non-DRX mode after transfer */
#define DRX_4_SEC                      (0x3)      /* max. 4 sec non-DRX mode after transfer */
#define DRX_8_SEC                      (0x4)      /* max. 8 sec non-DRX mode after transfer */
#define DRX_16_SEC                     (0x5)      /* max. 16 sec non-DRX mode after transfer */
#define DRX_32_SEC                     (0x6)      /* max. 32 sec non-DRX mode after transfer */
#define DRX_64_SEC                     (0x7)      /* max. 64 sec non-DRX mode after transfer */

/*
 * Value constants for VAL_gmmrr_susp_cause
 */
#define GMMRR_ABNORMAL_RELEASE         (0x0)      /* GRR should release immediately the running TBF */
#define GMMRR_NORMAL_RELEASE           (0x1)      /* GRR should wait until TBF is released */

/*
 * Value constants for VAL_spgc_ccch_supp
 */
#define GMMRR_SPGC_CCCH_SUPP_NO        (0x0)      /* Split paging cycle on CCCH is not supported by the mobile station */
#define GMMRR_SPGC_CCCH_SUPP_YES       (0x1)      /* Split paging cycle on CCCH is supported by the mobile station */

/*
 * Value constants for VAL_cu_cause
 */
#define GMMRR_RA_DEFAULT               (0x0)      /* GRR should not perform Cell Update Access */
#define GMMRR_RA_CU                    (0x1)      /* GRR should perforn Random Access with cause Cell Update */

/*
 * Value constants for VAL_rt
 */
#define RT_GSM                         (0x0)      /* GSM                            */
#define RT_GPRS                        (0x1)      /* GSM/GPRS                       */
#define RT_EDGE                        (0x2)      /* GSM/GPRS/EDGE                  */
#define RT_UMTS_FDD                    (0x3)      /* UMTS FDD                       */

/*
 * user defined constants
 */
#define MAX_DIGITS                     (0x10)     
#define SIZE_MCC                       (0x3)      
#define SIZE_MNC                       (0x3)      

#include "CDG_LEAVE.h"


#endif