Gnapplet driver

From GnokiiWiki
Jump to: navigation, search

Contents

Introduction

Most of the modern phones are based on the Symbian OS. These phones have broken the convention and replaced the traditional FBUS protocol framework by a new one. The new protocol provides synchronizational functionality, but the older one was more powerful. This is one of the reasons we decided that analysis of the new protocol is time wasting. A client-server application was created. The client part is built into libgnokii, the server part runs on the phone and is called gnapplet. These communicate with our own protocol and are tightly coupled, so you have to use the same version on both side.


Gnapplet source code of the server applicationis licensed under the GNU GPL, and can be downloaded from the gnokii cvs. Compiling gnapplet requires special tools, you can look into gnupoc (http://www.gnupoc.org). Installing the Nokia SDK isn't easy, so we provide a pre-compiled version (file gnapplet.sis) in the utils directory of the tarball (last version of which can be downloaded from http://gnokii.org/download/gnokii/).

(notice http://www.gnokii.org/download/gnapplet/ only contains obsolete versions)

You can install the SIS file as you would do with any other symbian application. You can transfer it to the phone over the OBEX protocol (OBEX is available over IrDA or Bluetooth or cable connection).

Supported phones

This driver should support all 1st and 2nd Edition Symbian phones. If your phone isn't listed below you're welcome to add it or to inform the mailing list.

Reported working

  • Nokia 3650
  • Nokia 6600
  • Nokia 7650
  • Nokia N-Gage QD (need to set irda_support = 0 in gnapplet.ini)
  • Siemens SX1

Untested (but they should work)

  • S60 1st
    • Nokia 3660
    • Nokia N-Gage
    • Sendo X
  • S60 2nd
    • Nokia 3230
    • Nokia 6260
    • Nokia 6630
    • Nokia 6670
    • Nokia 6680
    • Nokia 6681
    • Nokia 6682
    • Nokia N70
    • Nokia N72
    • Nokia N90
    • Panasonic X700
    • Panasonic X800
    • Samsung SGH-D710
    • Samsung SGH-D720
    • Samsung SGH-D730
    • Samsung SGH-Z600

NOT supported by gnapplet

These are Symbian phones that will NOT work with this driver. You can get limited functionality for them (e.g: sending sms) with gnokii using AT driver:

  • S60 3rd
    • Nokia 3250
    • Nokia 5500
    • Nokia E50-1
    • Nokia E50-2
    • Nokia E60
    • Nokia E61
    • Nokia E61i
    • Nokia E65
    • Nokia E70
    • Nokia E90
    • Nokia N71
    • Nokia N73
    • Nokia N73ME
    • Nokia N76
    • Nokia N80
    • Nokia N91
    • Nokia N92
    • Nokia N93
    • Nokia N93i
    • Nokia N95
  • S80 1st
    • Nokia 9210
    • Nokia 9210i
  • S80 2nd
    • Nokia 9300
    • Nokia 9300i
    • Nokia 9500
  • UIQ 2nd
    • Arima U300
    • Benq P30
    • Motorola A920
    • Motorola A925
    • Motorola A1000
    • Motorola A1010
    • SonyEricsson P800
    • SonyEricsson P900
    • SonyEricsson P910
  • UIQ 3rd
    • SonyEricsson P990i
    • SonyEricsson M600i
    • SonyEricsson W950i


Configuration settings

You can use the following settings in your gnokiirc to access the phone:

Bluetooth connection

   [global]
   port = _bluetooth_address_
   rfcomm_channel = 14
   model = symbian
   connection = bluetooth

IrDA connection

   [global]
   port = /dev/ircomm0
   model = symbian
   connection = irda

TCP/IP connection

This is disabled by default, you have to edit gnapplet.ini on your phone to enable it.

   [global]
   port = 169.254.1.68:1912	(put the IP address of your phone here)
   model = symbian
   connection = tcp

Phone configuration

You have to start gnapplet first each time you want to use it (you'll find it in the phone menu), then start gnokii or xgnokii. After gnokii disconnects (or you won't connect in 30 seconds), the application will terminate. You can edit gnapplet.ini on your phone to change the timeout (set it to -1 for infinite) and the other settings.

The following are the default values:

irda_support = 1
bt_support = 1
bt_rfchannel = 14
tcp_support = 0
tcp_port = 1912
init_timeout = 30
reinit_timeout = 5

Features

The current code is able to:

  • identify the phone
  • read/write/delete phonebook entries
  • read/delete call log (missed, received, dialled calls)
  • read the memory status
  • read network info
  • read RF/battery level
  • read/set clock, read/set alarm
  • read/write/delete calendar entries
  • read/write/delete todo entries
  • send/receive sms
  • read profile entries, read/set the active profile

Bugs

  • phonebook handling is quite limited:
    • name isn't set or read correctly
    • missing attributes
    • no group handling
    • missing SIM memory handling
  • gnapplet seems to not work on SymbianOS v3 devices (eg. Nokia 5500)

TODO

  • implement the missing things :-)