Skip Headers
Oracle® Java ME Embedded Reference Platform Release Notes (Qualcomm IoE)
Release 8 EA 2
E48519-01
 

 

Beta Draft: 2014-03-25

Oracle® Java ME Embedded

Reference Platform Release Notes (Qualcomm IoE)

Release 8 EA 2

E48519-01

February 2014

Table of Contents

Introduction

The Oracle Java ME Embedded version 8 software for the Qualcomm IoE platform is a ready-to-run software image for use with a Qualcomm IoE embedded board. The Oracle Java ME Embedded software is an optimized platform stack for small embedded devices, which includes the Connected Limited Device Configuration (CLDC) HotSpot Implementation (Java Virtual Machine) Version 8, the Micro Edition Embedded Profile (MEEP) application environment, the Generic Connection Framework (GCF) API, and enhanced support for Java Specification Requests (JSRs).

What's Supported in this Release

The following features are supported in the Oracle Java ME Embedded 8 software:


Note:

This is an Early Access release with a limited scope of features and testing.


Usage Notes

The Oracle Java ME Embedded software for the Qualcomm IoE embedded platform consists of a binary file that must be downloaded to a board running the Brew MP operating system, and a directory structure that needs to be copied to two directories on the board.

The Getting Started Guide for the Reference Platform (Qualcomm IoE) describes how to download the binary file to the board, how to connect to the board from the development host computer and how to install, run, and debug IMlets on the board.

Observe the following important notes before running the Oracle Java ME Embedded software on the board:

Access Points Support Restrictions

The Qualcomm IoE board supports the following NetworkInterface types:

  • 3GPP

  • CDMA

  • WIFI

  • LOOPBACK

Each of the above NetworkInterface types supports only one pre-configured system Access Point. The settings of the system Access Point are set in the jws_properties.ini file and can be modified either by manually editing the file or by using the Qualcomm IoE network related commands.

Only two NetworkInterface/Access Points are active at the same time:

  • LOOPBACK NetworkInterface/AccessPoint

  • one of the NetworkInterface/AccessPoint from the following list: 3GPA, CDMA, or WIFI

The following actions are not supported in this release and lead to exceptions:

  • An attempt to connect to or disconnect from a system access point throws an IOException

  • An attempt to create an application AccessPoint and connect to it later throws IOException

  • An attempt to change a value for any property of an existing system AccessPoint by the AccessPoint.of method throws <Type of exception????>

System Events and Power Management Level of Support

Support for the system events and power management in this release includes the following events:

  • Event.VOICE_CALL

    • An actual value of the event is available through the EventManager.getCurrent() method and is delivered to the registered EventListeners whenever the value changes.

  • PowerStateEvent.BATTERY_LEVEL

    • An actual value of the battery level is returned by both EventManager.getCurrent() and PowerManager.getBatteryLevel() methods

    • When an IoE board is powered by an on-board external battery, the returned value is this battery charge level. Refer to the Qualcomm Controlling the Power Supply section for the information on how to properly power up the board

    • When an IoE board is powered through a DC jack, the returned value varies within the range of 67 and 69. The value is returned even if an external battery is plugged in. The reason for that is in the ADC call used to check the battery which is the same for both battery and DC charging. The charge level of 67-69 means a full charge and is obtained from the hardware pin with no indication of the source (battery or DC charging) that contributed to this pin value.

    • Whenever the external battery level changes, the new value is delivered to all registered EventListeners.

  • PowerStateEvent.POWER_ALERT including the following alerts (in the case of sending a notification) and values (when the EventManager.getCurrent() method is called):

    • PowerStateEvent.POWER_ALERT_BATTERY_NORMAL is sometimes sent when the level is less than 5%

    • PowerStateEvent.POWER_ALERT_BATTERY_LOW is generated when the level is less than 5%

    • PowerStateEvent.POWER_ALERT_BATTERY_CRITICAL is generated when the level is close to 1%

  • PowerStateEvent.POWER_STATE

    • PowerStateEvent.POWER_STATE_FULL_POWER (which is default)

    • PowerStateEvent.POWER_STATE_OFF (shutdowns only Java applications rather than the whole device)

    • Switching to unsupported states throws exceptions

  • The PowerManager's implementation has the following specifics:

    • getBatteryLevel() is fully supported. refer to the PowerStateEvent.BATTERY_LEVEL description above

    • enableRadio() is not supported and always returns true

    • isUsingExternalPower() always returns true even is an external battery and there is no DC source

    • getEstimatedTimeRemaining() always returns Integer.MAX_VALUE

    • setPowerState()/getPowerState(): the only supported states are PowerStateEvent.POWER_STATE_FULL_POWER and PowerStateEvent.POWER_STATE_OFF

    • rebootDevice() is fully supported. The type of the reboot (hard or soft) is controlled with the vmconfig.reboot_type property

MEEP Cellular API Limitations

Note the following limitations:

  • Only 3GPP networks and subscribers are currently supported. The Subscriber.getSubscriberType() and CellularNetwork.getType() methods always return "3GPP".

  • Registering/un-registering is not supported.

  • The current implementation supports devices with one SIM/R-UIM card, so only one subscriber is available with slot number 0.

  • The CellularNetwork protocol property cannot be retrieved from the platform. For this reason it is never in the CellularNetwork.getProperties() list.

  • The CellularNetwork cell cid property cannot be retrieved from the platform. For this reason it is never in the CellularNetwork.getCellProperties() list.

  • Subscriber uuid and euimid properties cannot be retrieved from the platform. For this reason they are never in the Subscriber.getProperties() list.

Installation and Runtime Security Guidelines

The Oracle Java ME Embedded Release 8 EA 2 software installation requires an execution model that makes certain networked resources available for device emulator execution. These required resources might include, but are not limited to, a variety of communication capabilities between the product's installed components.

It is extremely important to note that the product's installation and runtime system is fundamentally a developer system not specifically designed to guard against any malicious attacks from outside intruders. Given this, the product's architecture can present an insecure operating environment to the installation file system itself, as well as its runtime environment, during execution. For this reason, it is critically important to observe the precautions outlined in the following security guidelines when installing and running the software.


Note:

The security-related functionality of a final developed application for release into the field is supported by the available components of the Oracle Java ME Embedded software stack incorporated by the developer into the application. The security precautions required by applications in the field are beyond the scope of these recommendations, but must nonetheless be observed by the application developer.


To maintain optimum network security, the software package can be installed and run in a ”closed” network operating environment, meaning the software system is not connected directly to the Internet, or to a company Intranet environment that could introduce unwanted exposure to malicious intrusion. This is the ideal secure operating environment whenever the application under development does not require it.

An example of a requirement for an Internet connection is when the system must communicate with a wireless network over the Internet to fully execute the application under development. Whether or not an Internet connection is required depends on the particular Java ME application running in the development environment. For example, some Java ME applications can use an HTTP connection. If the environment is open to any network access you must always observe the following precautions to protect valuable resources from malicious intrusion:

Security Certificate Precautions

The Oracle Java ME Embedded software distribution bundle contains security certificates that are needed for testing purposes during development of products for final release to customers. Some of these certificates are self-signed security certificates generated by Oracle that are mapped to privileged security domains. IMlets signed by these certificates get high privileges to access restricted APIs, and so these certificates present a security vulnerability if they are released to end users on a customer's device. Care should be taken to remove these certificates after final testing of the product is completed when the product is being prepared for release to end users. This does not apply to certificates issued by universally recognized certificate authorities (CAs), because these are used only for signature verification and do not present a vulnerability.

Developer Agent Precautions

The CLI is incorporated in the Development Agent, which communicates with a device via an unsecured protocol. The Developer Agent is a Java SE application that can be reverse engineered to tamper with or to get information about the communication protocol, which in turn might be used by an untrusted entity to manipulate the device. If you decide to implement the Developer Agent in any product deployment, it is your responsibility to incorporate adequate security measures around the Developer Agent communication channel.

Known Bugs

For generic bugs in this release of the Oracle Java ME SDK that might affect the Qualcomm IoE platform, see the Oracle Java ME Software Development Kit Release Notes.

The following are known bugs in this release of the Oracle Java ME Embedded software.

Product Documentation

The following documentation is included with this release of the Oracle Java ME Embedded software. See http://docs.oracle.com/javame/embedded/embedded.html.

Application Title Format

All (This document)

Release Notes


HTML

Introduction to running Oracle Java ME Embedded on the Qualcomm IoE reference platform.

Getting Started Guide for the Reference Platform (Qualcomm IoE)

HTML

PDF


Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at: http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.


Oracle Java ME Embedded Reference Platform Release Notes (Qualcomm IoE), Release 8 EA 2

E48519-01

Copyright © 2012, 2014, Oracle and/or its affiliates. All rights reserved.

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

This documentation is in prerelease status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.