MADDE/Device runtime

MADDE is currently a technology preview.

These instructions are liable to change as development progresses. If some of the components do not work as expected, please add your question to the MADDE talk thread and follow up the discussion. is down, see MADDE#Installation for alternatives.


[edit] Introduction

This guide shows how to connect MADDE with your device. This guide requires:

  • Basic configuration of the development environment. (Guide)
  • Basic understanding of MADDE (Example)

This guide shows how to:

  • install the client on device
  • connect MADDE with the device
  • send, install and execute files remotely

[edit] Install the client

  1. Open the Application Manager.
  2. Enable the extras repository.
  3. Go to: Download -> Development -> mad-developer
  4. Install the client

[edit] Set up a "Device runtime"

Following steps are needed to create a device runtime:

1. ON DEVICE: Install mad-developer package, as described above.

The program creates a 'developer' user account on device and installs the packages to enable the device runtime usage in MADDE. Further the mad-developer package contains also a GUI application to view information about the available network interfaces, to configure the USB networking interface and manage 'developer' user password generation.

2. ON DEVICE: Set up networking interface between your host PC and device.

On the device you can use the mad-developer GUI application to view the information about available network interfaces and to configure USB networking interface. You can choose one of the available network interfaces.
A Wifi interface is a good alternative if you don't want to plug the USB cable every time you want to test an app. You can use an Ad-Hoc Wifi network set up for the occasion, or if the computer and the N900 are connected to the same network, you can simply use this network.

3. ON DEVICE: Prepare to start

After setting up the network connection, start the mad-developer GUI application (if it is not running yet) and click the 'Password' button. This generates a password for the which is needed for the communication between MADDE and the device.

4. ON HOST: Create runtime

Create the device runtime by:
mad-admin create <runtime name> -a <ip-address>
The IP-address is shown within the application, which is running on the device. Then enter the password, you got in step 3 shown on mad-developer application window when requested. After the command is accomplished you can click the 'Close' button in the mad-developer application window.After that you can close the application. The set up of the device runtime is completed. You can check this by running:
mad list
In this example the runtime name is "n900":
fremantle-qt-0942  (default)
maemo412-1         (installable)

n900  (installed)

5. ON HOST: Remove device runtime:

If you ever finish working with the device, the runtime can be removed by:
mad-admin remove <runtime name>

[edit] How to use the device runtime

The following shows the basic steps on how to use the MADDE with the device runtime. The parameter 'remote' is used for everything regarding the runtime. A runtime cannot be set as 'default', so that it has to be specified with every call of the command. For example to start a remote shell run:

mad remote -r <runtime name> shell

To check whether the runtime is available use:

mad remote -r <runtime name> ping

[edit] Test the example on device

After creating and compiling a simple example and the device runtime set up, it is now possible to run and test it directly on device. Here we assume, that the example is already created and compiled. The name of this example application is "qthello". Further the Qt GUI library has to be installed on device to run the example.

1. Go to the directory of the "qthello" example before.

3. Check if the connection works:

mad remote -r <runtime name> ping

2. Send the executable file to the device, by running:

mad remote -r <runtime name> send build/qthello

3. Run the program on device:

mad remote -r <runtime name>  run qthello

4. To stop the program from command line, type:

mad remote -r <runtime name>  stop qthello

5. After creating a package with MADDE, as shown in the example, you can send and install it by:

mad remote -r <runtime name>  send ../qthello_0.1_armel.deb
mad remote -r <runtime name>  install qthello_0.1_armel.deb

[edit] More commands

With 'mad remote' command you can also remove files from runtime, uninstall debian packages and check if the runtime is up and connectable.

Remove files from the runtime:

mad remote -r <runtime name> remove qthello

Uninstall debian package

mad remote -r <runtime name> uninstall qthello

Check if the runtime is up and connectable

mad remote -r <runtime name> ping