Legato Beta Release Notes - 15.08

Copyright © Sierra Wireless Inc. All rights reserved.


Welcome to Legato

This page summarizes important information about the Legato Beta 15.08 release:
Downloads
Upgrade Requirement
Services APIs
New Features
Modifications
Known Issues
Documentation


Here's other info you may need to look at:
Upgrade Legato
Legato Beta 15.05 release notes
Complete Legato documentation


Downloads


These are the Legato 15.08 source packages, available at: Legato Downloads:

Sources package - Legato-Dist-Source-mdm9x15-15.08.0.Beta.tar.bz2

Toolchain for Linux PC i686 Legato 32 bits - Legato-Toolchain-mdm9x15-15.08-i686-1.6.2.sh

Toolchain  for Linux PC x86 64bits - Legato-Toolchain-mdm9x15-15.08-x86_64-1.6.2.sh

WP71x firmware package (with Legato) - spkgz-yocto-legato-wp71-07030500.cwe

WP71x firmware package (without Legato) - spkgz-yocto-wp71-07030500.cwe


Upgrade Requirements


AVC - LWM2M

Non Legato apps not present after Legato FOTA update

By default, all apps are removed during a framework update.

Normally, all apps should be rebuilt against the new framework and reinstalled on the target after an update.

If currently installed apps on the target have been tested to work reliably under the new framework (proven compatible), the apps can be listed in the /targetFiles/shared/bin/whitelist file and they will be retained during the framework update.

Sharing Symbols

Previous Legato build tools exported all symbols from all libraries by default. This could cause failure if multiple .so files use the same symbol.

The current build tools hide all symbols by default except those used in APIs provided or required by a component.

To export any other symbol, you can put LE_SHARED in front of its declaration like this:

LE_SHARED void my_function(int x);

Upgrade Requirement


Service APIs Changes since 15.05

These Services APIs were modified for this release:

eCall

le_ecall / Add the possibility to update the imported MSD

 

The eCallRef is passed as an input parameter in the handler function:

Old:

static void MyECallEventHandler

(

    le_ecall_State_t    state,

    void*               contextPtr

)

New:

static void MyECallEventHandler

(

    le_ecall_CallRef_t  eCallRef,

    le_ecall_State_t    state,

    void*               contextPtr

)

 

The customer application is now responsible for the MSD sending. The MSD must be sent on LE_ECALL_STATE_PSAP_START_IND_RECEIVED event reception.

New:

le_ecall_SendMsd()

 

MCC

le_ecall / Request for additional LE_ECALL_STATE_* events

Remove modemService dependency on audioService

 

The le_mcc_callAPI becomes simply le_mcc. For example le_mcc_call_GetRemoteTel() becomes le_mcc_GetRemoteTel().  This change significantly simplifies the creation of a call:

Old:

        le_mcc_profile_Create("MyProfile");

        le_mcc_profile_ObjRef_t profileRef=le_mcc_profile_GetByName("MyProfile");

        le_mcc_profile_AddCallEventHandler(profileRef, MyCallEventHandler, NULL);

        le_mcc_call_ObjRef_t  callRef = le_mcc_profile_CreateCall(profileRef, DestinationNumber);

        le_mcc_call_Start(callRef);

 

New:

     le_mcc_AddCallEventHandler( MyCallEventHandler, NULL);

     le_mcc_CallRef_t  callRef = le_mcc_Create(DestinationNumber);

     le_mcc_Start(callRef);

 

All le_mcc_profile functions have been removed because their usage was not intuitive to the users.  The original scope was to offer the possibility to associate ‘profiles’ to calls; this kind of feature belongs to the voiceService that is on top of modemServices and audioService.

 

The le_mcc_call_GetRxAudioStream() and le_mcc_call_GetTxAudioStream() functions have been removed to break the dependency between modemServices and audioService. Developer's must directly use le_audio_OpenModemVoiceRx() and le_audio_OpenModemVoiceTx() from le_audio API.

 

Audio

[AUDIO] le_audio_GetFormat return has been removed.

Data Connection

[MCD] Missing session state events (call end reasons)

The state event handler has been modified to provide more details on connection status and disconnect codes.

Old:

typedef void (*le_mdc_SessionStateHandlerFunc_t)

(

bool isConnected,

void* contextPtr

);

 

New:

typedef void (*le_mdc_SessionStateHandlerFunc_t)

(

le_mdc_ProfileRef_t profileRef,

le_mdc_ConState_t ConnectionStatus?,

void* contextPtr

);

 

le_mdc_GetSessionState changes:

Old:

le_result_t le_mdc_GetSessionState

(

le_mdc_ProfileRef_t profileRef,

bool* isConnectedPtr

)

 

New:

le_result_t le_mdc_GetSessionState

(

le_mdc_ProfileRef_t profileRef,

le_mdc_ConState_t* statePtr

)

 

Modem Services

[MDC] Missing session state events (call end reasons).

SMS

[SMS-CB] le_sms_ClearCellBroadcastIds() API locks Cell broadcast service

 

New Features

The following new features were included in this release:

Legato Framework

[Audio] Add support of AMR codec for file recording and extracting. See Audio API

[AVC] New API to support the AirVantage asset feature. See AirVantage Data API

[AVC] App OTA download progress indicator added. See AirVantage Connector

[AVC] App OTA no longer removes Legato Application before install phase

[AVC] User agreement management added

[BATCH] Hardware batch number included in le_info_GetPlatformSerialNumber. See le_info

[CLOCK] API added for storing user time. See le_rtc

[DCS] Support 4 simultaneous PDP sessions

[eCall] le_ecall / Add the possibility to update the imported MSD. See le_ecall

[eCall]  New event added to report end of redial tentative

[GNSS] XTRA feature can be enabled/disabled.See GNSS API

[GNSS] Add GNSS device Start/Stop API

[Modem] Add Platform Serial Number Getter function. See eCall API

[Mutex] New Mutex Inspector tool. See Mutex API

[MRC] RSSI notification when thresholds are crossed. See Modem Radio Control

[Positioning] New API indicating time of last position. See Positioning API

[Sample app] Shell pipe sample app added. See syslog sample app

[Sandbox] Devices not accessible in a sandbox. See .adef requires:devices

[SMS] SMS API: add support for SMSCB. See SMS API

[SMS] Added API to cancel an outgoing message

[Startup] Boot time reductions

[Supervisor] Make app standard error and standard out available. See Default syslog

[Tool] New timer Inspector tool. See Timer API

[Tool] mk tool support for defining Air Vantage application assets. See .cdef Assets

[Tools] Generate-code (-g) option added to the mk tools. See Build Tools

[Tools]

 

Modifications

The following modifications were included in this release:

Legato Framework

[AR8652] update antenna diagnostic.

[Audio] le_audio_Play fails if called several times with the same file reference

[Audio] No sound when playing a prompt on external speaker after a call

[Audio] PlayDtmfThread returns an error when call hangs up

[Audio] erroneous log in pa_audio.c

[AVC] le_avc / Legato Application with manual start no longer starts automatically.

[AVC] Removed old M3DA AirVantage agent

[AVC] le_avc, software update, unexpected session start

[AVC - LWM2M] Non Legato apps not present after Legato FOTA update

[AVC] Object 9 instance of app not removed when deleting an app locally

[CDMA]Can't receive LE_MCC_CALL_TERM_LOCAL_ENDED event when hangup local end.

[Config] Config DB gets corrupted when flash is full, legato framework report "No applications installed".

[Config] Floating point values range not as large as they can be

[Config] buffer overflow while trying to config set a large string

[Config] Legato is brought down when shrinking a large (>32byte) string with "config set"

[Data] le_mdc_StartSession function does not return LE_BAD_PARAMETER

[DCS] APN searching moved to MDC

[DCS] Data connection fails with IPv4v6 if network does not support IPv6

[eCall] Control flags are erroneous in MSD send in only Mode

[eCall] le_ecall_ExportMsd return erroneous msd

[eCall] Mute/Unmute not always valid for Codec during ecall

[eCall] LE_ECALL_STATE_CONNECTED is not received anymore, but eCall is successful

[eCall] Export msd after an import MSD succesful return LE_NOT_FOUND when Config db is empty.

[eCall] MSD identifier is not reset to 1 when eCall session is finished.

[Framework] Fix potential symbol conflicts

[Framework] Remove use of deprecated config

[Framework] Current working directory for app processes can cause apps to fail.

[Framework] unable to install legato or firmware after preforming an app remove '*'

[Framework] Extra period added after the version in adef

[MCC] resource clean up when a client dies

[Modem] Improved error messages in Modem Services initialization

[Modem] Remove modemService dependency on audioService?

[Modem] The 'Temperature client killed' message is raised very often

[MRC] le_mrc_AddPreferredOperator doesn't check bitmask validity

[MRC] LE_MRC_BITMASK_RAT_ALL not valid on targets that doesn't support all RATs

[Ring] Ring indicator improvement

[SIM] Sim switched not sync between Legato and AT

[SMS] impossible to differentiate different type of SMS

[SMS] smsInbox is started after execution of instlegato

[SMS] le_sms_CreateRxMsgList() return NULL when SMS storage is full

[SMS] Modem services crashes when using le_sms_CreateRxMsgList

[SMS] a new incoming SMS should be in UNREAD state

[SMS] Slightly incorrect sender address in the received SMS.

[Supervisor] Supervisor doesn't stop apps with realtime processes properly.

[Tool] Version string should include a unique identifier for each unique build

[Tool] FSN to be displayed in cm info output

[Tool] Reconcile configlegato and zsh

[Tool] Fixed missing file path in error message generated by mk tools.

[Tool] Make scripts usuable outside of the legato source environment

[Voice] Can't start voice call after call starts and ends immediately

[Voice] Voice call notifications enhanced

[Voice] le_voicecall_Start causes the application to stop

Yocto

Speed up boot time

Added missing libcap getcap/setcap executables.

Allow kernel branches to be specified in local.conf

Add vo-amrwbenc library in Yocto build

Add WP85 support to LK

Fast detection of rootfs UBI partion

Add qemu-CVE-2015-3456 security fix

meta-swi

Remove some unnecessary packages from the image

Update downloads/ cache

Speed up boot sequence

Update APP partition and build full CWE (FW+yocto-kernel+rootfs+legato)

Yocto builds Legato even not instructed to do so

Make kernel branches management dynamic

Provide reasonable default kernel branch names

build.sh dev mode always exit with 0

DISTRO is not poky-swi-ext anymore

Provide option to specify SDK prefix

 

[LINUX-YOCTO-3.4/MACHINE]

Speed up boot sequence

smd_dev: Keep smd interrupts active during suspend

WM8944 driver initialization for WP85

Only enable DAI links to wm8944 if it initialized.

A read driver error reported infinitely

[AR7]Power key doesn't work when device in sleep mode

Ring indicator improvement

 

Known Issues

These are this release's known issues:

[Audio] No sound when playing a prompt on external speaker after a call

[Audio] Mute/Unmute not always valid for Codec during ecall

[Audio] Timeout during audio closure function pcm_close()

[AirVantage] Application idle state not supported.

[FOTA] Can't install FOTA after downloading and rebooting (passes/fails depending on the timing).

[GNSS] Enable/disable the 'Extended Ephemeris' (XTRA file) doesn't work.

[INSTALL INTERUPT] Application does not install if interrupted during download.

Documentation

The following documentation changes were included in this release:

[Doc] Audio constraints .wav recording only

[Doc] AirVantage API file docs edits.

[Doc] AirVantage docs for updated Services

[Doc] AirVantage LWM2M dox only

[Doc] Basic topics - cdef code sample

[Doc] config tree docs moved to How To topic.

[Doc] import/export config trees docs

[Doc] ecall API how to docs.

[Doc] eCall Config docs eCall sample app docs.

[Doc] ecall docs

[Doc] clarify docs for requires:dir dest path with /

[Doc] Clarify le_ecall_StartXXXX.

[Doc] FD Monitor docs pipe closed

[Doc] GNSS docs

[Doc] add intro text to each main docs' section

[Doc] Install App Service docs.

[Doc] Legacy app porting documentation and samples updated.

[Doc] le_appInfo ipc binding not documented.

[Doc] le_mcc_profile_GetByName() and “Modem-Sim1”

[Doc] secStore size docs

[Doc] Services docs - add graphic.

[Doc] SMS Inbox get docs note.

[Doc] Supervisor Control docs were improved.

[Doc] stdout and stderr in syslog docs.

[Doc] target tools docs were validated/updated.

[Doc] unsandboxed app maxFileBytes note.

[Doc] Use Logs docs link

[Doc] Version of Doxygen docs that don't include the navigation tree.