LinuxQMISDK-Lite  SLQS04.00.08
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
lite-fw.h
Go to the documentation of this file.
1 
13 #ifndef _LITE_FW_H_
14 #define _LITE_FW_H_
15 /* Pragmas */
16 #pragma once
17 #include "qmerrno.h"
18 #include "fms.h"
19 #include "dms.h"
20 
21 #define IMG_MASK_MDM (1<<0)
22 #define IMG_MASK_PRI (1<<1)
23 #define IMG_MASK_CLEAR (0x000)
24 #define IMG_MASK_GENERIC (0xFFFF)
25 
26 // Carrier package SKU Info
27 #define LITEFW_CARRIER_PACKAGE_SKU "9999999"
28 #define LITEFW_SKU_STRING_LENGTH 7
29 #define FIRMWARE_INFO_STRING_SIZE 20
30 
31 /* error Codes */
33 {
34  eSDP_FWDWL_SUCCESS = 0, // Success
35  eSDP_FWDWL_ERR_GENERAL = 100, // 100 - Generic FW download error
36  eSDP_FWDWL_ERR_SDK, // 101 - SDK specific error. Please check syslog for SDK error codes
37  eSDP_FWDWL_ERR_SET_CBK, // 102 - Error in setting SDK callbacks
38  eSDP_FWDWL_ERR_PATH_TOO_LONG, // 103 - Path is too long
39  eSDP_FWDWL_ERR_PATH_NOT_SPECIFIED, // 104 - Mandatory SDK/FW path not set
40  eSDP_FWDWL_ERR_FW_UPGRADE, // 105 - Post FW download check indicates that the FW upgrade has failed.
41  // For example, PRI not updated as expected, FW version not updated etc
42  eSDP_FWDWL_ERR_INVALID_DEV, // 106 - Invalid device
43  eSDP_FWDWL_ERR_INVALID_PATH, // 107 - Invalid Path or No valid firmware or nvu file exist in the path
44  eSDP_FWDWL_ERR_TIMEOUT, // 108 - Download Process Timeout
45  eSDP_FWDWL_ERR_FAIL, // 109 - Download Process Fail
46  eSDP_FWDWL_ERR_PRI_FAIL, // 110 - Download PRI Fail
47  eSDP_FWDWL_ERR_FW_VERSION_FAIL, // 111 - Download Fail Version Not Match
49 };
50 
51 // Match this enum with fw_image_type_e in imudefs.h
53  eFW_TYPE_MBN_GOBI, // Not supported in litefw
54  eFW_TYPE_MBN, // Not supported in litefw
55  eFW_TYPE_CWE, //CWE File
56  eFW_TYPE_NVU, //NVU File
57  eFW_TYPE_SPK, //SPK File
58  eFW_TYPE_INVALID, //Invalid File
59  eFW_TYPE_CWE_NVU, //CWE and NVU
60 };
61 
62 /* Model Family */
69 };
70 
78 void litefw_logsenable(int log_en);
79 
104 typedef struct _litefw_FirmwareInfo_
105 {
113 
130 
147 
160 
173 int litefw_getFileType(char* szPath);
174 
202 unsigned int litefw_DownloadFW(char *pImagePath,char *szTTYPath,int iFWImageType, int image_mask, int iModelFamily);
203 
216 int litefw_GetModelFamily(char *pModelString);
217 
228 
229 
236 char* litefw_GetVersion();
237 
238 
251 typedef void (* litefwlogger)(uint8_t lvl, const char* buff);
252 
264 
274 void litefw_SetReadBlockSize(unsigned long lBlockSize);
275 
276 
287 int litefw_switch_9x07_to_downloadmode(char *szTTYPath);
288 
289 
299 int litefw_switch_to_BootHoldMode(char *szTTYPath);
300 
301 #define libSDP_GetVersion litefw_GetVersion
302 #define libSDP_CalculateImageMask litefw_CalculateImageMask
303 #define libSDP_getFileType litefw_getFileType
304 #define libSDP_ExtractFirmwareParametersByPath litefw_ExtractFirmwareParametersByPath
305 #define libSDP_GetModelFamily litefw_GetModelFamily
306 #define libSDP_CheckValidFirmwareInfo litefw_CheckValidFirmwareInfo
307 #define libSDP_BuildImagesPreferenceRequest litefw_BuildImagesPreferenceRequest
308 #define libSDP_DownloadFW litefw_DownloadFW
309 #define libsdp_set_log_func litefw_set_log_func
310 #define libsdp_SetReadBlockSize litefw_SetReadBlockSize
311 #define LIBSDP_CARRIER_PACKAGE_SKU LITEFW_CARRIER_PACKAGE_SKU
312 #define LIBSDP_SKU_STRING_LENGTH LITEFW_SKU_STRING_LENGTH
315 
316 
317 #endif // _LITE_FW_H_
318 
char szModelid_str[20]
Definition: lite-fw.h:106
void litefw_SetReadBlockSize(unsigned long lBlockSize)
Definition: lite-fw.h:43
char * litefw_GetVersion()
Definition: lite-fw.h:53
litefw_fwdwl_error_codes
Definition: lite-fw.h:32
char szPackageid_str[20]
Definition: lite-fw.h:109
char szCarrierPriversion_str[20]
Definition: lite-fw.h:111
Definition: lite-fw.h:40
int litefw_CalculateImageMask(unpack_fms_SetImagesPreference_t SetPrefRspFromModem)
Definition: lite-fw.h:54
Definition: lite-fw.h:42
Definition: lite-fw.h:38
#define FIRMWARE_INFO_STRING_SIZE
Definition: lite-fw.h:29
Definition: lite-fw.h:36
int litefw_BuildImagesPreferenceRequest(litefw_FirmwareInfo info, pack_fms_SetImagesPreference_t *pack)
Definition: lite-fw.h:39
int litefw_getFileType(char *szPath)
char szSku_str[20]
Definition: lite-fw.h:108
Definition: lite-fw.h:55
char szCarrier_str[20]
Definition: lite-fw.h:110
void(* litefwlogger)(uint8_t lvl, const char *buff)
Definition: lite-fw.h:251
char szFwversion_str[20]
Definition: lite-fw.h:107
litefwlogger libsdplogger
Definition: lite-fw.h:314
int litefw_switch_to_BootHoldMode(char *szTTYPath)
Definition: lite-fw.h:57
int litefw_switch_9x07_to_downloadmode(char *szTTYPath)
Definition: lite-fw.h:44
Definition: lite-fw.h:35
litefw_Fw_Type
Definition: lite-fw.h:52
Definition: lite-fw.h:65
Definition: lite-fw.h:47
Definition: lite-fw.h:64
Definition: lite-fw.h:104
void litefw_logsenable(int log_en)
unsigned int litefw_DownloadFW(char *pImagePath, char *szTTYPath, int iFWImageType, int image_mask, int iModelFamily)
Definition: lite-fw.h:68
Definition: lite-fw.h:48
Definition: lite-fw.h:58
int litefw_GetModelFamily(char *pModelString)
litefw_FirmwareInfo libSDP_FirmwareInfo
Definition: lite-fw.h:313
int litefw_set_log_func(litefwlogger func)
Definition: lite-fw.h:66
Definition: lite-fw.h:37
struct _litefw_FirmwareInfo_ litefw_FirmwareInfo
Definition: lite-fw.h:34
int litefw_CheckValidFirmwareInfo(litefw_FirmwareInfo info)
Definition: lite-fw.h:59
Definition: lite-fw.h:46
int litefw_ExtractFirmwareParametersByPath(char *pImagePath, litefw_FirmwareInfo *info)
Definition: fms.h:331
Definition: lite-fw.h:45
Definition: lite-fw.h:56
litefw_Models
Definition: lite-fw.h:63
Definition: lite-fw.h:67

Copyright (c) 2011-2015 Sierra Wireless, Inc. All rights reserved