LinuxQMISDK-Lite  SLQS04.00.23
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions

Go to the source code of this file.

Data Structures

struct  _litefw_FirmwareInfo_
 
struct  _litefw_FirmwarePartNo_
 
struct  _litefw_FirmwareFileInfo
 

Macros

#define IMG_MASK_MDM   (1<<0)
 
#define IMG_MASK_PRI   (1<<1)
 
#define IMG_MASK_CLEAR   (0x000)
 
#define IMG_MASK_GENERIC   (0xFFFF)
 
#define LITEFW_CARRIER_PACKAGE_SKU   "9999999"
 
#define LITEFW_SKU_STRING_LENGTH   7
 
#define FIRMWARE_INFO_STRING_SIZE   20
 
#define NULL_TERMINATOR_CHAR_SIZE   1
 
#define FIRMWARE_IMAGE_SIZE_MAX   512
 
#define FIRMWARE_BCHVERSTRSIZE   84
 
#define FIRMWARE_BCHDATESIZE   8
 
#define MAX_IMAGE_PRODUCT_LENGTH   10
 
#define libSDP_GetVersion   litefw_GetVersion
 
#define libSDP_CalculateImageMask   litefw_CalculateImageMask
 
#define libSDP_getFileType   litefw_getFileType
 
#define libSDP_ExtractFirmwareParametersByPath   litefw_ExtractFirmwareParametersByPath
 
#define libSDP_GetModelFamily   litefw_GetModelFamily
 
#define libSDP_CheckValidFirmwareInfo   litefw_CheckValidFirmwareInfo
 
#define libSDP_BuildImagesPreferenceRequest   litefw_BuildImagesPreferenceRequest
 
#define libSDP_DownloadFW   litefw_DownloadFW
 
#define libsdp_set_log_func   litefw_set_log_func
 
#define libsdp_SetReadBlockSize   litefw_SetReadBlockSize
 
#define LIBSDP_CARRIER_PACKAGE_SKU   LITEFW_CARRIER_PACKAGE_SKU
 
#define LIBSDP_SKU_STRING_LENGTH   LITEFW_SKU_STRING_LENGTH
 

Typedefs

typedef struct
_litefw_FirmwareInfo_ 
litefw_FirmwareInfo
 
typedef struct
_litefw_FirmwarePartNo_ 
litefw_FirmwarePartNo
 
typedef struct
_litefw_FirmwareFileInfo 
litefw_FirmwareFileInfo
 
typedef void(* litefwlogger )(uint8_t lvl, const char *buff)
 
typedef litefw_FirmwareInfo libSDP_FirmwareInfo
 
typedef litefwlogger libsdplogger
 

Enumerations

enum  litefw_fwdwl_error_codes {
  eSDP_FWDWL_SUCCESS = 0,
  eSDP_FWDWL_ERR_GENERAL = 100,
  eSDP_FWDWL_ERR_SDK,
  eSDP_FWDWL_ERR_SET_CBK,
  eSDP_FWDWL_ERR_PATH_TOO_LONG,
  eSDP_FWDWL_ERR_PATH_NOT_SPECIFIED,
  eSDP_FWDWL_ERR_FW_UPGRADE,
  eSDP_FWDWL_ERR_INVALID_DEV,
  eSDP_FWDWL_ERR_INVALID_PATH,
  eSDP_FWDWL_ERR_TIMEOUT,
  eSDP_FWDWL_ERR_FAIL,
  eSDP_FWDWL_ERR_PRI_FAIL,
  eSDP_FWDWL_ERR_FW_VERSION_FAIL,
  eSDP_FWDWL_ERR_SDP_TIMEOUT,
  eFIREHOSE_ERR_SECBOOT_INVALID_CERT_CHAIN,
  eSDP_FWDWL_ERR_END
}
 
enum  litefw_Fw_Type {
  eFW_TYPE_MBN_GOBI,
  eFW_TYPE_MBN,
  eFW_TYPE_CWE,
  eFW_TYPE_NVU,
  eFW_TYPE_SPK,
  eFW_TYPE_INVALID,
  eFW_TYPE_CWE_NVU
}
 
enum  litefw_fileimgtype {
  eFILE_TYPE_NONE = 0,
  eFILE_TYPE_CAR_PRI,
  eFILE_TYPE_OEM_PRI,
  eFILE_TYPE_COMPO_PRI
}
 
enum  litefw_imagetype {
  eIMAGE_TYPE_MIN = 0,
  eIMAGE_TYPE_BOOT = eIMAGE_TYPE_MIN,
  eIMAGE_TYPE_APPL,
  eIMAGE_TYPE_APPS,
  eIMAGE_TYPE_FILE,
  eIMAGE_TYPE_SPKG,
  eIMAGE_TYPE_MODM,
  eIMAGE_TYPE_USER,
  eIMAGE_TYPE_KEYS,
  eIMAGE_TYPE_MAX,
  eIMAGE_TYPE_INVALID = 0xFF,
  eIMAGE_TYPE_ANY = eIMAGE_TYPE_INVALID
}
 
enum  litefw_Models {
  eModel_Unknown =-1,
  eModel_9X15 =0,
  eModel_WP9X15 =1,
  eModel_9X30 =2,
  eModel_9x07 =3,
  eModel_9x06 =4
}
 
enum  litefw_QDL_MODEs {
  eQDL_MODE_Unknown =-1,
  eQDL_MODE_INIT =0,
  eQDL_MODE_TTYUSB =1,
  eQDL_MODE_UART0 =2
}
 
enum  litefw_QDL_FLOW_CONTROLs {
  eQDL_HW_FLOW_Unknown =-1,
  eQDL_HW_FLOW_INIT =0,
  eQDL_HW_FLOW_ENABLE =1,
  eQDL_HW_FLOW_DISABLE =2
}
 

Functions

void litefw_logsenable (int log_en)
 
int litefw_ExtractFirmwareParametersByPath (char *pImagePath, litefw_FirmwareInfo *info)
 
int litefw_ExtractFirmwarePartNoByPath (char *pImagePath, litefw_FirmwarePartNo *partno)
 
int litefw_BuildImagesPreferenceRequest (litefw_FirmwareInfo info, pack_fms_SetImagesPreference_t *pack)
 
int litefw_CalculateImageMask (unpack_fms_SetImagesPreference_t SetPrefRspFromModem)
 
int litefw_getFileType (char *szPath)
 
unsigned int litefw_DownloadFW (char *pImagePath, char *szTTYPath, int iFWImageType, int image_mask, int iModelFamily)
 
int litefw_GetModelFamily (char *pModelString)
 
int litefw_CheckValidFirmwareInfo (litefw_FirmwareInfo info)
 
char * litefw_GetVersion ()
 
int litefw_set_log_func (litefwlogger *func)
 
void litefw_SetReadBlockSize (unsigned long lBlockSize)
 
int litefw_switch_9x07_to_downloadmode (char *szTTYPath)
 
int litefw_switch_to_BootHoldMode (char *szTTYPath)
 
int litefw_SetQTLDownloadMode (int iMode)
 
int litefw_GetQTLDownloadMode ()
 
int litefw_SetQTLHWFlowControl (int iMode)
 
int litefw_GetQTLHWFlowControl ()
 
enum eQCWWANError litefw_SLQSGetFirmwareFileInfo (char *fullFilePath, litefw_FirmwareFileInfo *info, uint8_t *pNumOfItems)
 

Detailed Description

Filename: lite-fw.h

Purpose: Global definitions used inside the SDK

Copyright: © 2016 Sierra Wireless Inc., all rights reserved

Macro Definition Documentation

#define FIRMWARE_BCHDATESIZE   8
#define FIRMWARE_BCHVERSTRSIZE   84
#define FIRMWARE_IMAGE_SIZE_MAX   512
#define FIRMWARE_INFO_STRING_SIZE   20
#define IMG_MASK_CLEAR   (0x000)
#define IMG_MASK_GENERIC   (0xFFFF)
#define IMG_MASK_MDM   (1<<0)
#define IMG_MASK_PRI   (1<<1)
#define libSDP_BuildImagesPreferenceRequest   litefw_BuildImagesPreferenceRequest
#define libSDP_CalculateImageMask   litefw_CalculateImageMask
#define LIBSDP_CARRIER_PACKAGE_SKU   LITEFW_CARRIER_PACKAGE_SKU
#define libSDP_CheckValidFirmwareInfo   litefw_CheckValidFirmwareInfo
#define libSDP_DownloadFW   litefw_DownloadFW
#define libSDP_ExtractFirmwareParametersByPath   litefw_ExtractFirmwareParametersByPath
#define libSDP_getFileType   litefw_getFileType
#define libSDP_GetModelFamily   litefw_GetModelFamily
#define libSDP_GetVersion   litefw_GetVersion
#define libsdp_set_log_func   litefw_set_log_func
#define libsdp_SetReadBlockSize   litefw_SetReadBlockSize
#define LIBSDP_SKU_STRING_LENGTH   LITEFW_SKU_STRING_LENGTH
#define LITEFW_CARRIER_PACKAGE_SKU   "9999999"
#define LITEFW_SKU_STRING_LENGTH   7
#define MAX_IMAGE_PRODUCT_LENGTH   10
#define NULL_TERMINATOR_CHAR_SIZE   1

Typedef Documentation

This structure provided more detailed information of the provided firmware file

Parameters
fullPath
  • full path of the file
imagemask
  • Bitmask provides type of file
    • bit0 - cwe
    • bit1 - nvu
    • bit2 - spk
headerType
imageType
modelIdStr
  • device model id
partNoStr
  • part number id
skuStr
  • sku id
packageIdStr
  • cwe sierra package id
carrierStr
  • carrier id
priVersionStr
  • pri version
versionStr
  • firmware version
releaseDate
  • release date of the file

This structure contains information of the provided firmware file

Parameters
szModelid_str
  • Model Name String
szFwversion_str
  • Firmware Version String.
szSku_str
  • SKU String.
szPackageid_str
  • Package ID String.
szCarrier_str
  • Carrier String.
szCarrierPriversion_str
  • Carrier PRI Version String.

This structure contains information of the response parameters associated with a Read Transparent API.

Parameters
szPartno_str
  • Part Number of the provided firmware image
typedef void(* litefwlogger)(uint8_t lvl, const char *buff)

This Custom Log prototype.

Parameters
[in]lvl
  • Log level.
[in]buff
  • Log String.
Returns
none

Enumeration Type Documentation

Enumerator
eFILE_TYPE_NONE 
eFILE_TYPE_CAR_PRI 
eFILE_TYPE_OEM_PRI 
eFILE_TYPE_COMPO_PRI 
Enumerator
eFW_TYPE_MBN_GOBI 
eFW_TYPE_MBN 
eFW_TYPE_CWE 
eFW_TYPE_NVU 
eFW_TYPE_SPK 
eFW_TYPE_INVALID 
eFW_TYPE_CWE_NVU 
Enumerator
eSDP_FWDWL_SUCCESS 
eSDP_FWDWL_ERR_GENERAL 
eSDP_FWDWL_ERR_SDK 
eSDP_FWDWL_ERR_SET_CBK 
eSDP_FWDWL_ERR_PATH_TOO_LONG 
eSDP_FWDWL_ERR_PATH_NOT_SPECIFIED 
eSDP_FWDWL_ERR_FW_UPGRADE 
eSDP_FWDWL_ERR_INVALID_DEV 
eSDP_FWDWL_ERR_INVALID_PATH 
eSDP_FWDWL_ERR_TIMEOUT 
eSDP_FWDWL_ERR_FAIL 
eSDP_FWDWL_ERR_PRI_FAIL 
eSDP_FWDWL_ERR_FW_VERSION_FAIL 
eSDP_FWDWL_ERR_SDP_TIMEOUT 
eFIREHOSE_ERR_SECBOOT_INVALID_CERT_CHAIN 
eSDP_FWDWL_ERR_END 
Enumerator
eIMAGE_TYPE_MIN 
eIMAGE_TYPE_BOOT 
eIMAGE_TYPE_APPL 
eIMAGE_TYPE_APPS 
eIMAGE_TYPE_FILE 
eIMAGE_TYPE_SPKG 
eIMAGE_TYPE_MODM 
eIMAGE_TYPE_USER 
eIMAGE_TYPE_KEYS 
eIMAGE_TYPE_MAX 
eIMAGE_TYPE_INVALID 
eIMAGE_TYPE_ANY 
Enumerator
eModel_Unknown 
eModel_9X15 
eModel_WP9X15 
eModel_9X30 
eModel_9x07 
eModel_9x06 
Enumerator
eQDL_HW_FLOW_Unknown 
eQDL_HW_FLOW_INIT 
eQDL_HW_FLOW_ENABLE 
eQDL_HW_FLOW_DISABLE 
Enumerator
eQDL_MODE_Unknown 
eQDL_MODE_INIT 
eQDL_MODE_TTYUSB 
eQDL_MODE_UART0 

Function Documentation

int litefw_BuildImagesPreferenceRequest ( litefw_FirmwareInfo  info,
pack_fms_SetImagesPreference_t pack 
)

This API Build Image Preference Request Using Firmware Information.

Parameters
[in]info
[out]pack
Returns
0 on success, litefw_fwdwl_error_codes error value otherwise
See Also
See litefw_fwdwl_error_codes for error values
int litefw_CalculateImageMask ( unpack_fms_SetImagesPreference_t  SetPrefRspFromModem)

This API Calculate Image Mask for Firmware Download.

Parameters
[in]SetPrefRspFromModem
Returns
Image Mask
  • IMG_MASK_MDM | IMG_MASK_PRI
int litefw_CheckValidFirmwareInfo ( litefw_FirmwareInfo  info)

This API Check Valid Firmware Information to build Image Prefernce Request.

Parameters
[in]info
Returns
0 on success, -1 error value otherwise
unsigned int litefw_DownloadFW ( char *  pImagePath,
char *  szTTYPath,
int  iFWImageType,
int  image_mask,
int  iModelFamily 
)

This API Download Firmware.

Parameters
[in]pImagePath
  • Firmware Folder Path.
[in]szTTYPath
  • QDL Device Path.
[in]iFWImageType
[in]image_mask
  • Image Mask.
    • IMG_MASK_MDM | IMG_MASK_PRI
[in]iModelFamily
Returns
0 on success, litefw_fwdwl_error_codes error value otherwise
See Also
See litefw_fwdwl_error_codes for error values
int litefw_ExtractFirmwareParametersByPath ( char *  pImagePath,
litefw_FirmwareInfo info 
)

This API Extrace Firmware Parameters From Path.

Parameters
[in]pImagePath
  • Firmware Folder Path.
[out]info
Returns
0 on success, litefw_fwdwl_error_codes error value otherwise
See Also
See litefw_fwdwl_error_codes for error values
int litefw_ExtractFirmwarePartNoByPath ( char *  pImagePath,
litefw_FirmwarePartNo partno 
)

This API Extrace Firmware Part Number From Path.

Parameters
[in]pImagePath
  • Firmware Folder Path.
[out]partno
Returns
0 on success, litefw_fwdwl_error_codes error value otherwise
See Also
See litefw_fwdwl_error_codes for error values
int litefw_getFileType ( char *  szPath)

This API Get File Type By Path

Parameters
[in]szPath
Returns
eFW_TYPE_INVALID on error, litefw_Fw_Type value otherwise
See Also
See litefw_Fw_Type for values
int litefw_GetModelFamily ( char *  pModelString)

This API Get Model Famliy from a model string.

Parameters
[in]pModelString
  • Model String.
Returns
eModel_Unknown on Error, litefw_Models value otherwise
See Also
See litefw_Models for values
int litefw_GetQTLDownloadMode ( )

This API Get QDL port donwload mode.

Returns
eQDL_MODE_Unknown on Error, litefw_QDL_MODEs value otherwise
int litefw_GetQTLHWFlowControl ( )

This API Get QDL port Hardware flow control.

Returns
eQDL_HW_FLOW_Unknown on Error, litefw_QDL_FLOW_CONTROLs value otherwise
char* litefw_GetVersion ( )

This API Get Lib SDP Version.

Returns
Version String
void litefw_logsenable ( int  log_en)

This function enable/disable lite firmware debug logs.

Parameters
[in]log_en
  • Logs enable/disable flag.
int litefw_set_log_func ( litefwlogger func)

This API Set Custom Log function.

Parameters
[in]func
Returns
none
int litefw_SetQTLDownloadMode ( int  iMode)

This API set QDL port donwload mode.

Parameters
[in]iMode
  • QDL Download Mode.
    • litefw_QDL_MODEs
Returns
0 on success, -1 error value otherwise
int litefw_SetQTLHWFlowControl ( int  iMode)

This API Set QDL port Hardware flow control.

Parameters
[in]iMode
  • litefw_QDL_FLOW_CONTROLs
Returns
0 on success, -1 error value otherwise
void litefw_SetReadBlockSize ( unsigned long  lBlockSize)

This API Set Read BlockSize.

Parameters
[in]lBlockSize
  • Firmware Read Block Size.
Returns
none
enum eQCWWANError litefw_SLQSGetFirmwareFileInfo ( char *  fullFilePath,
litefw_FirmwareFileInfo info,
uint8_t *  pNumOfItems 
)

This API Get the firmware information of the provided image

Parameters
[in]fullFilePath
  • file path or directory of the firmware image
[out]info
  • See litefw_FirmwareFileInfo, application should allocate the memory
  • for the struct array, this API will fill in the details in the provided storage
[out]pNumOfItems
  • number of litefw_FirmwareFileInfo
Returns
enum eQCWWANError
int litefw_switch_9x07_to_downloadmode ( char *  szTTYPath)

This API switch 9x07 modem to download mode.

Parameters
[in]szTTYPath
  • QDL Device Path.
Returns
0 on success, -1 error value otherwise
int litefw_switch_to_BootHoldMode ( char *  szTTYPath)

This API switch modem to boot hold modem via QDL port.

Parameters
[in]szTTYPath
  • QDL Device Path.
Returns
0 on success, -1 error value otherwise

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