3 Troubleshooting

This chapter contains a list of common problems that you may encounter while installing and running the Oracle Java ME SDK and embedded software on the Raspberry Pi board. This chapter provides information on the causes of these problems and possible solutions for them.

The common problems in this chapter are grouped in the following categories:

Installing Linux on the Raspberry Pi Board

Table 3-1 contains information about problems and solutions when installing Linux on the board.


Table 3-1 Problems and Solutions: Installing Linux on the Board

Problem Cause Solution

Red power LED is blinking.

The power supply is malfunctioning.

Replace the power supply.

Red power LED is on, but there is no activity from the green LED.

The Raspberry Pi board cannot find a valid disk image on the SD card.

Use a special disk image utility to write the Wheezy disk image onto the SD card. Do not copy the IMG file onto the SD card and attempt to use that to power up the board.

Green LED blinks with a specific pattern

A file needed by the Raspberry Pi board is missing or corrupted.

Replace the following files:

  • 3 flashes: loader.bin not found

  • 4 flashes: loader.bin not started

  • 5 flashes: start.elf not found

  • 6 flashes:start.elf not started

  • 7 flashes: kernel.img not found


Starting Oracle Java ME Embedded Software on the Board

Table 3-2 contains information about problems and solutions when starting the runtime on the board.


Table 3-2 Problems and Solutions: Starting Oracle Java ME Embedded Software on the Board

Problem Cause Solution

Oracle Java ME Embedded applications do not start.

The permissions on the distribution files are not set correctly.

Reset the permissions on all files in the distribution to 777.

Oracle Java ME Embedded fails to initialize the network on the board.

The network configuration is incorrect.

Verify that the network connection is correct. Ensure that the board is using DHCP to obtain an IP address.

The Raspberry Pi desktop does not start after booting.

The board does not have the startup sequence activated.

Use the Raspberry Pi setup application to set the desktop to activate at startup.


Using the Board with the Oracle Java ME SDK and the NetBeans IDE

Table 3-3 contains information about problems and solutions when using the board with the Oracle Java ME SDK and the NetBeans IDE.


Table 3-3 Problems and Solutions: Oracle Java ME SDK and the NetBeans IDE

Problem Cause Solution

The board is not detected when adding a new device to the Device Selector.

LAN proxy settings of the host might be a source of the problem.

The proxy connection is not enabled or an improper proxy host address is set up in the jwc_properties.ini file.

The socket proxy needs to be disabled: Open the Proxy Settings window available by clicking the Advanced button on the LAN Setting window. Ensure that the Socks field is empty and the Use the same proxy server for all protocols check box is not selected.

Ensure that the +UseProxy parameter is present in the run.sh script. Also, if the Developer Agent program runs in a client mode, ensure that the proxy.client_connection_address property is properly configured to use the Developer Agent program's host address.

The debugging session freezes, disconnects unexpectedly, or shows error messages.

The firewall on the computer is blocking some debugging traffic.

Thunderbird is using a port that is needed for communication with the board.

Open TCP port 2808 on your firewall configuration settings. The exact procedure to open a port differs depending on your version of Windows or your firewall software.

Close thunderbird.exe during the debugging session.

Installation of a big MIDlet results in the error "AMS generated out of memory".

There is not enough memory for AMS operation.

It is recommended that you stop other applications that consume memory resources and then proceed with the installation of a big MIDlet.

The board IP address is not shown by default in the Java ME SDK Device Manager "Add Device" dialog. The SDK device-manager.log is full with the following error messages:

UDP device detection failed
java.net.BindException: Address already in use

The ports used for IP-based device detection are busy on the host machine. By default, they are UDP IPv4 ports 55208 and 55209.

Perform one of the following actions:

  • Terminate an application which uses these ports.

  • Configure the board and Java ME SDK to use different ports.

    Ports are set on the device by the properties proxy.udp_device_detection_request_port and proxy.udp_device_detection_response_port.

    To modify the values of these properties, create the proxyOptions.txt file and save it in the <SDK installation folder>/toolkit-lib/lib folder.

    Add the following line:

    -bcastports <request> <response>
    

    where request and response are new values of the properties proxy.udp_device_detection_request_port and proxy.udp_device_detection_response_port.