- G N O K K I - (C) Hugh Blemings, hugh@vsb.com.au 1999 Last update 16 February 1999 Version 0.2.1 - Introduction - This is version 0.2.1 of gnokii, a Linux/Unix tool suite and (eventually) modem/fax driver for Nokia mobile phones, released under the GPL. The code supplied is still relatively new and hence has had limited testing. Bugs where know are detailed in the file BUGS... Play around with it, hack at it and see what you discover but please do so in the knowledge that it comes with no warranty or guarantee - you use it at your own risk. The resulting executable allows you to read/write phonebook entries, dump SMS messages from the phone and enter a monitor mode to look at the protocol and any unknown messages that may occur. The latter are printed in hexadecimal form and are provided to help with understanding of the protocol. The code for reading/writing phonebook entries has had limited testing but the read code is believed to be solid. It has been observed that the write code occassionally fails to write a location for reasons as yet unknown. The format of the input to the write option is relatively unforgiving and does only very basic parsing. Routines for retrieving SMS messages have been tested and appear to be bug free. The 3810 used for testing appears to ignore the memory type field however. - Installation - Review fbus.h, make sure that the FBUS_DEVICE define points to the right serial port. You'll need r/w permissions on this port. Type make, all should build from there, it's pretty simple code so you shouldn't have any problems. Note that you need pthread libraries, they are standard on most modern Linux distributions. If you get EAGAIN or EINVAL undeclared, try adding; #include "/usr/include/asm/errno.h" ...in fbus.c - Known Bugs - Review the file BUGS in the first instance. Not really a bug but the command that asks the handset what the maximum permissible length of phone book names and numbers is not yet known so the value is limited to 10 characters for names and 30 for numbers. This works OK with the Optus SIM but may be limiting for other localities. If you are using gnokii, particuarly in these early days, it is worth joining the mailing list as bugs will be reported there first! Alternatively review the BUGS file on the web site. - How to help - You can assist the development process and by making note of any messages that occur and seeing if you can work out what they mean. Suggestions on changes to the code are welcome but don't spend too much time in this area as it is still a work in progress. - Protocol Details - The protocol used between the handset and the PC has been worked out by a mixture of trial and error, monitoring the data that goes between the 3810 and its Windows 95 software and a few snippets of information found on the 'net relating to older Nokia models. Feedback from people who played with the first release of gnokii was invaluable. More of the protocol has been investigated than is presently included in the software, including the messages used to send SMS messages and to a lesser degree do actual data/fax connections. However, they are not yet fully understood and hence have been left out of the included code for now. - To Do - A lot. Ultimately I envisage a kernel driver that is loaded as required that talks to the handset via the real serial port on one side in the phone's protocl. The other side appears as a fairly basic serial port that can understand AT commands and otherwise appear like a modem. The current gnokii command line tool will be expanded to allow the phone to be monitored, SMS messages to be sent etc. etc. Whether this operates directly to the serial port or via the driver is unknown, the latter approach would nessitate making up AT commands I expect. It is anticipated that SMS send functionality will be available in the next release (0.2.2ish2ish) as most of this protocol is now understood. Discussion (on the list is suggested) about the form the tools might take is useful and encouraged. - References - The web site for this project (basic though it is) is at; There is a similar project underway for the 6110/5110 range of handsets, discussions are underway to see about merging the two efforts. The serial programming howto was valuable in cobbling together serial code for both monitoring and the tools themselves. This is the Australian mirror, there will be one nearby to you too :) - Handsets/Networks tested - 3110/Sonera (Finland) 3810/Telstra (Australia) 3810/Optus [Actually Hutchison] (Australia) 8110/Proximus (Belgium) 8110/D2 Privat (Germany) 8110i/MTN (South Africa) - Credits - Thankyou to, in no particular order... * Everyone on the linux-nokia mailing list for their interest and input into the project. * Francois Dessart, Brendan O'Dea, Tony Lindstrom, Steffan Henke and Cobus Van Eeden for dumps (and in some cases interpretation!) of unknown messages, bug reports and prompt feedback of being able to build new releases. * Martin Hamilton for looking after the mailing list. * Lucy for making pizza and putting up with me dissappearing to work on this :) - Release Notes - 19990216 Version 0.2.1 Fixed bug that caused phone book entries containing spaces to be mangled. Added retrieve SMS message function. 19990213 Version 0.2.0 First version that looks more like the finished product - supports command line options etc. 19990126 Version 0.1.0 Initial release of monitoring tool - first rough incarnation of gnokii - what will ultimately be the monitoring and programming tool.