MADDE/Device runtime

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

Install the client
Please keep in mind that this is a TECHNOLOGY PREVIEW. The following steps should only be taken if you want to test software in an early stage of development. To test the preview, you have to activate the extras-devel repository on device.

1. Download the package from [url here]

2. Get [[Root access|root access] on device.

3. Activate the extras-devel repository

4. Open the terminal on device, gain root access and run:

dpkg -i /mad-developer_1.3.130_armel.deb


 * and to fix the dependencies:

apt-get update apt-get -f install

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 device you can use 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.

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 -a 


 * 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":

Targets: fremantle-qt-0942 (default) maemo412-1        (installable) Runtimes: n900 (installed)

5. ON HOST: Remove device runtime:


 * The device runtime can be removed by:

mad-admin remove

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 shell

To check whether the runtime is available use:

mad remote -r ping

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 ping

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

mad remote -r send build/qthello

3. Run the program on device:

mad remote -r run qthello

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

mad remote -r stop qthello

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

mad remote -r send ../qthello_0.1_armel.deb mad remote -r install qthello_0.1_armel.deb

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 remove qthello

Uninstall debian package

mad remote -r uninstall qthello

Check if the runtime is up and connectable

mad remote -r ping