view cdg211/cdginc/p_mmcc.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 56abf6cf8a0b
children
line wrap: on
line source

/*
+--------------------------------------------------------------------------+
| PROJECT : PROTOCOL STACK                                                 |
| FILE    : p_mmcc.val                                                     |
| SOURCE  : "__out__\g23m_dfile\prim\mmcc.pdf"                             |
| LastModified : "2002-07-31"                                              |
| IdAndVersion : "6147.104.97.102"                                         |
| SrcFileTime  : "Mon Nov 24 15:49:16 2003"                                |
| Generated by CCDGEN_2.5.5 on Fri Jun 08 13:59:15 2007                    |
|           !!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_MMCC_VAL
#define P_MMCC_VAL


#define CDG_ENTER__P_MMCC_VAL

#define CDG_ENTER__FILENAME _P_MMCC_VAL
#define CDG_ENTER__P_MMCC_VAL__FILE_TYPE CDGINC
#define CDG_ENTER__P_MMCC_VAL__LAST_MODIFIED _2002_07_31
#define CDG_ENTER__P_MMCC_VAL__ID_AND_VERSION _6147_104_97_102

#define CDG_ENTER__P_MMCC_VAL__SRC_FILE_TIME _Mon_Nov_24_15_49_16_2003

#include "CDG_ENTER.h"

#undef CDG_ENTER__P_MMCC_VAL

#undef CDG_ENTER__FILENAME


/*
 * Value constants for VAL_ch_mode
 */
#define CHM_SIG_ONLY                   (0x0)      /* signalling only                */
#define CHM_SPEECH                     (0x1)      /* speech full rate or half rate version 1 */
#define CHM_SPEECH_V2                  (0x21)     /* speech full rate or half rate version 2 */
#define CHM_SPEECH_V3                  (0x41)     /* speech full rate or half rate version 3 */
#define CHM_DATA_9_6                   (0x3)      /* data 9.6 kBit/s                */
#define CHM_DATA_4_8                   (0xb)      /* data 4.8 kBit/s                */
#define CHM_DATA_2_4                   (0x13)     /* data 2.4 kBit/s                */
#define CHM_DATA_14_4                  (0xf)      /* data 2.4 kBit/s                */

/*
 * Value constants for VAL_ch_type
 */
#define CH_SDCCH                       (0x0)      /* SDCCH channel                  */
#define CH_TCH_F                       (0x1)      /* TCH Fullrate                   */
#define CH_TCH_H                       (0x2)      /* TCH Halfrate                   */

/*
 * Value constants for VAL_estcs
 */
#define ESTCS_SERV_REQ_MM              (0x400)    /* service requested by MM (Location updating or detach) */
#define ESTCS_EMERGE                   (0x4a0)    /* emergency call                 */
#define ESTCS_CAL_REEST                (0x4c0)    /* call reestablishment           */
#define ESTCS_MOB_ORIG_SPCH            (0x4e0)    /* mobile originated speech call by CC */
#define ESTCS_MOB_ORIG_DATA            (0x4e1)    /* mobile originated data call by CC */
#define ESTCS_MOB_ORIG_DATA_HR_SUFF    (0x4e2)    /* mobile originated data call by CC, halfrate channel sufficient */

/*
 * Value constants for VAL_cause
 */
#define MMCS_IMSI_IN_HLR               (0x402)    /* IMSI unknown in HLR            */
#define MMCS_ILLEGAL_MS                (0x403)    /* Illegal MS                     */
#define MMCS_IMSI_IN_VLR               (0x404)    /* IMSI unknown in VLR            */
#define MMCS_IMEI_NOT_ACCEPTED         (0x405)    /* IMEI not accepted              */
#define MMCS_ILLEGAL_ME                (0x406)    /* Illegal ME                     */
#define MMCS_PLMN_NOT_ALLOWED          (0x40b)    /* PLMN not allowed               */
#define MMCS_LA_NOT_ALLOWED            (0x40c)    /* Location Area not allowed      */
#define MMCS_ROAMING_NOT_ALLOWED       (0x40d)    /* Roaming not allowed in this location area */
#define MMCS_NETWORK_FAILURE           (0x411)    /* Network failure                */
#define MMCS_CONGESTION                (0x416)    /* Congestion                     */
#define MMCS_SERVICE_NOT_SUPPORTED     (0x420)    /* Service option not supported   */
#define MMCS_SERVICE_NOT_SUBSCRIBED    (0x421)    /* Requested service option not subscribed */
#define MMCS_SERVICE_ORDER             (0x422)    /* Service option temporarily out of order */
#define MMCS_IDENTIFIY                 (0x426)    /* Call cannot be identified      */
#define MMCS_RETRY_IN_NEW_CELL         (0x430)    /* retry upon entry into a new cell (mapped 0x0430..0x043f -> 0x0430) */
#define MMCS_INCORRECT_MESSAGE         (0x45f)    /* Semantically incorrect message */
#define MMCS_INVALID_MAND_MESSAGE      (0x460)    /* Invalid mandatory information  */
#define MMCS_MESSAGE_TYPE_NOT_IMPLEM   (0x461)    /* Message type non-existent or not implemented */
#define MMCS_MESSAGE_TYPE_INCOMPAT     (0x462)    /* Message type not compatible with the protocol state */
#define MMCS_IE_NOT_IMPLEM             (0x463)    /* Information element non-existent or not implemented */
#define MMCS_CONDITIONAL_IE            (0x464)    /* Conditional IE error           */
#define MMCS_MESSAGE_INCOMPAT          (0x465)    /* Message not compatible with the protocol state */
#define MMCS_UNSPECIFIED               (0x46f)    /* Protocol error, unspecified    */
#define MMCS_SUCCESS                   (0xc400)   /* No error, successful operation (MM) */
#define MMCS_NO_REGISTRATION           (0xc480)   /* MS is not registered or deregistration started */
#define MMCS_TIMER_RECOVERY            (0xc481)   /* time-out in MM during establishment */
#define MMCS_NO_REESTABLISH            (0xc482)   /* Cell does not support call reestablishment */
#define MMCS_INT_PREEM                 (0xc483)   /* Preemptive release, e.g. MO-MT clash in MM */
#define MMCS_PLMN_NOT_IDLE_MODE        (0xc484)   /* reject, not in idle mode (MMR_PLMN_IND) */
#define MMCS_AUTHENTICATION_REJECTED   (0xc488)   /* AUTHENTICATION REJECT received */
#define MMCS_SIM_REMOVED               (0xc489)   /* A valid SIM is not present     */
#define MMCS_INT_NOT_PRESENT           (0xc4ff)   /* No error cause (MM)            */

/*
 * Value constants for VAL_ti
 */
#define VAL_TI___7                     (0x7)      /* reserved                       */
#define VAL_TI___F                     (0xf)      /* reserved                       */

/*
 * user defined constants
 */
#define MM_CAUSE                       (0x4)      

#include "CDG_LEAVE.h"


#endif