.. _s60:

Series60 Remote Protocol
========================

.. note:: 

    The original applet has been created for
    <http://series60-remote.sourceforge.net/>. Gammu currently uses slightly
    extended version which will be hopefully merged back.

Choosing right version
----------------------

Before using this connection type, you need to install the applet to the
phone. The applet can be found in ``contrib/s60`` directory and there are two
variants of the applets:

``series60-remote.sis``
    Not signed applet, which can be installed to the phone if it has enabled
    installation of unsigned applications (see :ref:`s60-unsigned`). 

    .. note::
       
        This applet also lacks some capabilities, so for example you will not
        be able to get network information.

``series60-remote-sign.sis``
    Applet ready for signing using `Open Signed Online`_. This will allow you
    to install applet to your phone only (it is bound to IMEI), but you don't
    need to allow installation of unsigned applications.

.. note:: 
   
   The best way of course would be to have properly signed applet. However
   access to signing tools costs 200 USD per year, what is something we can
   not afford right now.

.. _s60-unsigned:

Allowing installation of unsigned applications
++++++++++++++++++++++++++++++++++++++++++++++

For security reasons, Symbian defaults to install signed applications only. As
getting properly signed applet is expensive for non commercial product like
Gammu, you need to either sign applet yourself (the signature is valid for
single phone) or allow installation of unsigned applications:

1. Open :guilabel:`Application Manager`, it is usually located in :guilabel:`Control Center`.
2. Press left soft key for :guilabel:`Options` menu.
3. From the menu choose :guilabel:`Settings`.
4. Change the :guilabel:`Software Installation` to :guilabel:`All`.
5. Change the :guilabel:`Online certif. check` to :guilabel:`Off`.

.. warning::

    This allows installation of any not signed code to your phone. You should
    consider reverting this change, once you have installed applet required
    for Gammu.

Installation
------------

To run the applet you need to install `Python for S60`_ 2.0 to the phone. You
can either download it from their website, or just get mirrored installation
package from <http://dl.cihar.com/gammu/s60/Python_2.0.0.sis>. This file is
not distributed with Gammu due to licensing reasons.

.. note::

    On some phones, the Python for S60 2.0 will not start, in this case you
    need to install some additional support libraries coming with Python for S60 2.0 - 
    :file:`pips.sis`, :file:`ssl.sis` and :file:`stdioserver.sis`. You can get
    all of them at http://wammu.eu/s60/ as well.

Installing Python for S60 and Series60 remote applet can be done in several
ways:

Installation using Gammu
++++++++++++++++++++++++

Gammu can transmit the applet to your phone automatically. Just configure it
for use of BlueS60 connection (see :ref:`connecting-s60` chapter below) and
invoke :option:`gammu install`:

.. code-block:: sh

   gammu install

It will automatically transmit the applet to the phone. On some phones the
installation will start automatically, on some you need to find received files
in the inbox and install them manually from there.

If you want to install Python for S60 as well you need to download it and
place in folder where Gammu searches for installation images (you can
configure it by setting :config:option:`DataPath`). For example:

.. code-block:: sh

    cd /usr/share/data/gammu
    wget http://dl.cihar.com/gammu/s60/Python_2.0.0.sis
    wget http://dl.cihar.com/gammu/s60/pips.sis

Downloading from phone
++++++++++++++++++++++

Downloading files from the phone and installing them directly. You can
download all required files from http://wammu.eu/s60/.

.. figure:: s60-download-qr.png
   :target: http://wammu.eu/s60/
   :alt: QR code for download of applet.
   
   QR code for download of applet.

Manual Installation using Gammu
+++++++++++++++++++++++++++++++

If the above mentioned :option:`gammu install` does not work for you, for
example when you need to use different applet, you can still use Gammu to send
files to the phone using :option:`gammu sendfile`.

First you need to create ``~/.gammurc`` with following content:

.. code-block:: ini

    [gammu]
    connection = blueobex
    model = obexnone
    device = 5C:57:C8:XX:XX:XX # Address of the phone

And now you can send files to your phone:

.. code-block:: sh

    gammu sendfile Python_2.0.0.sis
    gammu sendfile contrib/s60/series60-remote.sis

Files should appear in inbox in your phone and you can install them from
there.

.. _connecting-s60:

Connecting to Series60 phone
----------------------------

The Gammu configuration is simple, all you need to specify is correct
:config:option:`Connection`:

.. code-block:: ini

    [gammu]
    connection = blues60
    device = 5C:57:C8:XX:XX:XX # Address of the phone

Now you need to start the Series60 applet in the phone and Gammu should be
able to talk to it.

.. _Open Signed Online: https://www.symbiansigned.com/app/page/public/openSignedOnline.do
.. _Python for S60: https://garage.maemo.org/projects/pys60/
