qaGobiApiFms.h File Reference

Firmware Management Service API function prototypes. More...

Go to the source code of this file.

Data Structures

struct  fwinfo_s
struct  slqsfwinfo_s
struct  qmifwinfo_s
struct  ImageElement
struct  PrefImageList
struct  ImageIdElement
struct  ImageIDEntries
struct  ImageList

Defines

#define SLQSFWINFO_MODELID_SZ   20
#define SLQSFWINFO_BOOTVERSION_SZ   85
#define SLQSFWINFO_APPVERSION_SZ   85
#define SLQSFWINFO_SKU_SZ   15
#define SLQSFWINFO_PACKAGEID_SZ   85
#define SLQSFWINFO_CARRIER_SZ   20
#define SLQSFWINFO_PRIVERSION_SZ   10
#define GOBI_MBN_IMG_ID_STR_LEN   16
#define GOBI_MBN_BUILD_ID_STR_LEN   100
#define GOBI_LISTENTRIES_MAX   2
#define GOBI_SET_IMG_PREF_RSPLEN   40
#define DEVICE_RESET   5

Enumerations

enum  eGobiImageTech {
  eGOBI_IMG_TECH_CDMA = 0,
  eGOBI_IMG_TECH_UMTS
}
enum  eGobiImageCarrier {
  eGOBI_IMG_CAR_GENERIC = 1,
  eGOBI_IMG_CAR_FACTORY,
  eGOBI_IMG_CAR_NORF,
  eGOBI_IMG_CAR_VERIZON = 101,
  eGOBI_IMG_CAR_SPRINT,
  eGOBI_IMG_CAR_ALLTEL,
  eGOBI_IMG_CAR_BELL,
  eGOBI_IMG_CAR_TELUS,
  eGOBI_IMG_CAR_US,
  eGOBI_IMG_CAR_TELSTRA1,
  eGOBI_IMG_CAR_CHINA_UNICOM,
  eGOBI_IMG_CAR_TELCOM_NZ,
  eGOBI_IMG_CAR_SK_TELCOM1,
  eGOBI_IMG_CAR_RELIANCE1,
  eGOBI_IMG_CAR_TATA,
  eGOBI_IMG_CAR_METROPCS,
  eGOBI_IMG_CAR_LEAP,
  eGOBI_IMG_CAR_KDDI,
  eGOBI_IMG_CAR_IUSACELL,
  eGOBI_IMG_CAR_CHINA_TELECOM,
  eGOBI_IMG_CAR_OMH,
  eGOBI_IMG_CAR_ATT = 201,
  eGOBI_IMG_CAR_VODAFONE,
  eGOBI_IMG_CAR_TMOBILE,
  eGOBI_IMG_CAR_ORANGE,
  eGOBI_IMG_CAR_TELEFONICA,
  eGOBI_IMG_CAR_TELCOM_ITALIA,
  eGOBI_IMG_CAR_3,
  eGOBI_IMG_CAR_O2,
  eGOBI_IMG_CAR_SFR,
  eGOBI_IMG_CAR_SWISSCOM,
  eGOBI_IMG_CAR_CHINA_MOBILE,
  eGOBI_IMG_CAR_TELSTRA2,
  eGOBI_IMG_CAR_SINGTEL_OPTUS,
  eGOBI_IMG_CAR_RELIANCE2,
  eGOBI_IMG_CAR_BHARTI,
  eGOBI_IMG_CAR_NTT_DOCOMO,
  eGOBI_IMG_CAR_EMOBILE,
  eGOBI_IMG_CAR_SOFTBANK,
  eGOBI_IMG_CAR_KT_FREETEL,
  eGOBI_IMG_CAR_SK_TELCOM2,
  eGOBI_IMG_CAR_TELENOR,
  eGOBI_IMG_CAR_NETCOM,
  eGOBI_IMG_CAR_TELIASONERA,
  eGOBI_IMG_CAR_AMX_TELCEL,
  eGOBI_IMG_CAR_BRASIL_VIVO
}
enum  eGobiImageRegion {
  eGOBI_IMG_REG_NA = 0,
  eGOBI_IMG_REG_LA,
  eGOBI_IMG_REG_EU,
  eGOBI_IMG_REG_ASIA,
  eGOBI_IMG_REG_AUS,
  eGOBI_IMG_REG_GLOBAL
}
enum  eGobiImageGPS {
  eGOBI_IMG_GPS_NONE = 0,
  eGOBI_IMG_GPS_STAND_ALONE,
  eGOBI_IMG_GPS_ASSISTED,
  eGOBI_IMG_GPS_NO_XTRA
}

Functions

ULONG GetImageStore (WORD imageStorePathSize, CHAR *pImageStorePath)
ULONG SLQSGetFirmwareInfo (struct qmifwinfo_s *pinfo)
ULONG SLQSGetImageInfoMC77xx (LPCSTR path, struct qmifwinfo_s *pinfo)
ULONG SLQSGetImageInfoMC83xx (LPCSTR path, struct qmifwinfo_s *pinfo)
ULONG SLQSGetImageInfo (LPCSTR path, struct qmifwinfo_s *pinfo)
ULONG UpgradeFirmware2k (CHAR *pDestinationPath)
ULONG GetImagesPreference (ULONG *pImageListSize, BYTE *pImageList)
ULONG SetImagesPreference (ULONG imageListSize, BYTE *pImageList, ULONG bForceDownload, BYTE modemIndex, ULONG *pImageTypesSize, BYTE *pImageTypes)
ULONG GetStoredImages (ULONG *pImageListSize, BYTE *pImageList)
ULONG DeleteStoredImage (ULONG imageInfoSize, BYTE *pImageInfo)
BOOL IsGobiDevice (void)
BOOL IsSierraGobiDevice (void)

Detailed Description

Firmware Management Service API function prototypes.

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


Define Documentation

#define DEVICE_RESET   5
#define GOBI_LISTENTRIES_MAX   2
#define GOBI_MBN_BUILD_ID_STR_LEN   100
#define GOBI_MBN_IMG_ID_STR_LEN   16
#define GOBI_SET_IMG_PREF_RSPLEN   40
#define SLQSFWINFO_APPVERSION_SZ   85
#define SLQSFWINFO_BOOTVERSION_SZ   85
#define SLQSFWINFO_CARRIER_SZ   20
#define SLQSFWINFO_MODELID_SZ   20
#define SLQSFWINFO_PACKAGEID_SZ   85
#define SLQSFWINFO_PRIVERSION_SZ   10
#define SLQSFWINFO_SKU_SZ   15

Enumeration Type Documentation

enumeration which lists the carrier supported by the image

Enumerator:
eGOBI_IMG_CAR_GENERIC 
eGOBI_IMG_CAR_FACTORY 
eGOBI_IMG_CAR_NORF 
eGOBI_IMG_CAR_VERIZON 
eGOBI_IMG_CAR_SPRINT 
eGOBI_IMG_CAR_ALLTEL 
eGOBI_IMG_CAR_BELL 
eGOBI_IMG_CAR_TELUS 
eGOBI_IMG_CAR_US 
eGOBI_IMG_CAR_TELSTRA1 
eGOBI_IMG_CAR_CHINA_UNICOM 
eGOBI_IMG_CAR_TELCOM_NZ 
eGOBI_IMG_CAR_SK_TELCOM1 
eGOBI_IMG_CAR_RELIANCE1 
eGOBI_IMG_CAR_TATA 
eGOBI_IMG_CAR_METROPCS 
eGOBI_IMG_CAR_LEAP 
eGOBI_IMG_CAR_KDDI 
eGOBI_IMG_CAR_IUSACELL 
eGOBI_IMG_CAR_CHINA_TELECOM 
eGOBI_IMG_CAR_OMH 
eGOBI_IMG_CAR_ATT 
eGOBI_IMG_CAR_VODAFONE 
eGOBI_IMG_CAR_TMOBILE 
eGOBI_IMG_CAR_ORANGE 
eGOBI_IMG_CAR_TELEFONICA 
eGOBI_IMG_CAR_TELCOM_ITALIA 
eGOBI_IMG_CAR_3 
eGOBI_IMG_CAR_O2 
eGOBI_IMG_CAR_SFR 
eGOBI_IMG_CAR_SWISSCOM 
eGOBI_IMG_CAR_CHINA_MOBILE 
eGOBI_IMG_CAR_TELSTRA2 
eGOBI_IMG_CAR_SINGTEL_OPTUS 
eGOBI_IMG_CAR_RELIANCE2 
eGOBI_IMG_CAR_BHARTI 
eGOBI_IMG_CAR_NTT_DOCOMO 
eGOBI_IMG_CAR_EMOBILE 
eGOBI_IMG_CAR_SOFTBANK 
eGOBI_IMG_CAR_KT_FREETEL 
eGOBI_IMG_CAR_SK_TELCOM2 
eGOBI_IMG_CAR_TELENOR 
eGOBI_IMG_CAR_NETCOM 
eGOBI_IMG_CAR_TELIASONERA 
eGOBI_IMG_CAR_AMX_TELCEL 
eGOBI_IMG_CAR_BRASIL_VIVO 

enumeration which lists the GPS type supported by the image

Enumerator:
eGOBI_IMG_GPS_NONE 
eGOBI_IMG_GPS_STAND_ALONE 
eGOBI_IMG_GPS_ASSISTED 
eGOBI_IMG_GPS_NO_XTRA 

enumeration which lists the region supported by the image

Enumerator:
eGOBI_IMG_REG_NA 
eGOBI_IMG_REG_LA 
eGOBI_IMG_REG_EU 
eGOBI_IMG_REG_ASIA 
eGOBI_IMG_REG_AUS 
eGOBI_IMG_REG_GLOBAL 

enumeration which lists the technology supported by the image

Enumerator:
eGOBI_IMG_TECH_CDMA 
eGOBI_IMG_TECH_UMTS 

Function Documentation

ULONG DeleteStoredImage ( ULONG  imageInfoSize,
BYTE pImageInfo 
)

Used to delete the specified image from the device. This API function is only relevant to devices with the ability to store multiple firmware images(see Device Supported section below).

Parameters:
imageInfoSize[IN] 
  • The size in BYTEs of the image info array
pImageInfo[IN] 
  • The image info list array containing information about the image to be deleted.
  • See ImageElement
Returns:
eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise
See also:
See qmerrno.h for eQCWWAN_xxx error values
Note:
Technology Supported: UMTS/CDMA
Device Supported: MC83x5
Timeout: 2 Secs
ULONG GetImagesPreference ( ULONG pImageListSize,
BYTE pImageList 
)

restore original alignment from stack Gets the current images preference from the device.

Parameters:
pImageListSize[IN/OUT] 
  • Upon input, the size of struct ImageList ImageList
  • Upon successful output, the number of BYTEs copied to the image list array
pImageList[OUT] 
  • The caller must supply a pointer to a ImageList structure typecast as a BYTE pointer
Returns:
eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise
See also:
See qmerrno.h for eQCWWAN_xxx error values
Note:
Technology Supported: UMTS/CDMA
Device Supported: MC83x5
Timeout: 2 seconds
ULONG GetImageStore ( WORD  imageStorePathSize,
CHAR pImageStorePath 
)

Returns the image store folder, i.e., the folder containing one or more carrier-specific image subfolders compatible with the currently connected QC WWAN device.

Parameters:
imageStorePathSize 
  • Maximum number of characters (including NULL terminator) that can be copied to the image store path array.
pImageStorePath[OUT] 
  • The path to the image store
Returns:
eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise
See also:
See qmerrno.h for eQCWWAN_xxx error values
Note:
Technology Supported: UMTS/CDMA
Device Supported: MC83x5
ULONG GetStoredImages ( ULONG pImageListSize,
BYTE pImageList 
)

restore original alignment from stack Gets the list of images stored on the device.

Parameters:
pImageListSize[IN/OUT] 
  • Upon input, the size of struct ImageList ImageList
  • Upon successful output, the number of BYTEs copied to the image list array
pImageList[OUT] 
  • The caller must supply a pointer to a ImageList structure typecast as a BYTE pointer
Returns:
eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise
See also:
See qmerrno.h for eQCWWAN_xxx error values
Note:
Technology Supported: UMTS/CDMA
Device Supported: MC83x5
Timeout: 2 seconds
BOOL IsGobiDevice ( void   ) 
BOOL IsSierraGobiDevice ( void   ) 

Name : IsSierraGobiDevice Purpose : To Check device description

ULONG SetImagesPreference ( ULONG  imageListSize,
BYTE pImageList,
ULONG  bForceDownload,
BYTE  modemIndex,
ULONG pImageTypesSize,
BYTE pImageTypes 
)

Sets the current images preference on the device. After this function successfully completes, the device must be reset for the selected image preference to be realized. Additionally, when the returned list of image types that require downloading is not empty, the device opens in QDL mode after the reset. At that point, the QDL portion of this API must be used to download the selected image preference to the device.

Parameters:
imageListSize 
  • The size in BYTEs of the image list array
pImageList[IN] 
  • The image info list array containing Image Elements
bForceDownload[IN] 
  • Force device to download images from host? 0 - No Nonzero - Yes
modemIndex 
  • Desired storage index for downloaded modem image (optional, a value of 0xFF indicates unspecified)
pImageTypesSize[IN/OUT] 
  • Upon input, maximum number of elements that download image types array can contain
  • Upon successful output, number of elements in download image types array
pImageTypes[OUT] -The download image types array.
Returns:
eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise
See also:
See qmerrno.h for eQCWWAN_xxx error values
Note:
Technology Supported: UMTS/CDMA
Device Supported: MC83x5
Timeout: 2 seconds
ULONG SLQSGetFirmwareInfo ( struct qmifwinfo_s pinfo  ) 

Returns firmware image information from the connected device

Parameters:
pinfo[OUT] 
  • firmware image information record
Returns:
eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise
See also:
See qmerrno.h for eQCWWAN_xxx error values
struct qmifwinfo_s
Note:
Technology Supported: UMTS/CDMA
Timeout: 2 Seconds.
ULONG SLQSGetImageInfo ( LPCSTR  path,
struct qmifwinfo_s pinfo 
)

Returns firmware image information from a CWE file or mbn files stored on the host. For CWE, information is returned for the first CWE image found at the specified path.For MBN, the provided path must be located under the image store for the currently connected QC WWAN device. Note that as this API supports multiple firmware image types, it relies on the presence of a supported device. Otherwise, refer to SLQSGetImageInfoMC83xx and SLQSGetImageInfoMC77xx for APIs which do not rely on the presence of a supported device.

Parameters:
path[IN] 
  • fully qualified path to folder containing CWE image or MBN images
pinfo[OUT] 
  • firmware image information record
Returns:
eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise
See also:
See qmerrno.h for eQCWWAN_xxx error values
struct qmifwinfo_s
Note:
Technology Supported: UMTS/CDMA
Device Supported: MC83x5, MC77xx
Timeout: N/A
ULONG SLQSGetImageInfoMC77xx ( LPCSTR  path,
struct qmifwinfo_s pinfo 
)

Returns firmware image information from a SPKGS CWE file stored on the host. The information is returned for the first SPKGS CWE image found at the specified path. This API executes independent of a MC77xx being connected to the target.

Parameters:
path[IN] 
  • fully qualified path to folder containing SPKG CWE image
pinfo[OUT] 
  • firmware image information record
Returns:
eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise
See also:
See qmerrno.h for eQCWWAN_xxx error values
struct qmifwinfo_s
Note:
Technology Supported: UMTS/CDMA
Device Supported: MC77xx
Timeout: N/A
ULONG SLQSGetImageInfoMC83xx ( LPCSTR  path,
struct qmifwinfo_s pinfo 
)

Returns firmware image information from an MBN file located on the host. This API executes independent of a MC83xx being connected to the target.

Parameters:
path[IN] 
  • fully qualified path to folder containing MBN file
pinfo[OUT] 
  • firmware image information record
Returns:
eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise
See also:
See qmerrno.h for eQCWWAN_xxx error values
struct qmifwinfo_s
Note:
Technology Supported: UMTS/CDMA
Device Supported: MC83xx
Timeout: N/A
ULONG UpgradeFirmware2k ( CHAR pDestinationPath  ) 

This API is used to download firmware to a MC77xx or Gobi 3000 device.

This API Performs the following steps:
1. Verifies arguments.
2. Informs the SDK of the firmware upgrade path
3. Updates the images preference on the currently connected device.
4. Requests the device reset (device will reset after all open handles are released).

Upon successful completion, the above steps will have been completed, however, the actual upgrade of the firmware will necessarily then follow.

Parameters:
pDestinationPath[IN] 
  • fully qualified path to firmware image to download. The path must
    end with a forward slash. For a Gobi 3000 device the path should
    specify the carrier image folder index i.e.
    "<path\to\carrier\image>/<carrier index>/" where <carrier index>="">
    is a valid sub-directory entry
Returns:
eQCWWAN_ERR_NONE on success, eQCWWAN_xxx error value otherwise
See also:
See qmerrno.h for eQCWWAN_xxx error values
Note:
Technology Supported: UMTS/CDMA
Device Supported: MC83x5, MC77xx
Timeout: 12 seconds

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