Ever wondered how to use your phone with GNU/Linux as you use it with Nokia Mobile Suite in Windows ? Ever wanted to backup contact books, appoinments, sms and all other personal things the easy way in a GNU/Linux environment ?
If you do wonder, friend, you are foreign to 
gnokii.
gnokii provides tools and a user space driver for use with mobile phones under various operating systems operating systems. It allows you to communicate with the phone over a serial cable, usb, IR or even bluetooth. gnokii also provides the functionality to manipulate the phone over this connection.
Why did I chose Nokia 3110c ?
The primary reason is that it is the phone that I own. Another reason is that this particular phone uses a DKU-2 cable. DKU-2 is nothing other than a fancy name for the common USB to mini-USB cable ! I was interested in USB devices working with GNU/Linux, I guess.
Hoping that you are competant enough to install gnokii either from source or from your distro's custom repositories, let us proceed to the juicy part. As with all good things free, the first thing that you will need on a fresh installation of gnokii is a good configuration file, aptly named 
.gnokiircFire up your favorite text editor (mine is Vim) and type in the configuration details.
Here's how my config file looks like
[global]
port = /dev/ttyACM0
model = 3110c
initlength = default
connection = dku2libusb
use_locking = yes
serial_baudrate = 19200
smsc_timeout = 10
bindir = /usr/local/sbin/
The 
port determines which port the PC uses for connecting with the phone. On connecting the phone with the PC and selecting "Nokia Mode" a new node is created by the system in 
/dev. You can use the output of 
dmesg command to determine the port.
On issuing the 
dmesg command on a terminal, you will see an output similar to
.........
[ 1671.313624] cdc_acm 3-1:1.1: ttyACM0: USB ACM device
..........
Use the port value obtained thus. But normally, as I have seen in a number of systems, the default port will be 
/dev/ttyACM0.
Next up is the model name which is 
3110c in this case.
initlength controls the number of characters sent to the phone during initialisation. Either "default" or a positive integer value is allowed. If it seems like the connection takes a long time, you can retry, entering a smaller positive value for 
initlength. But in most cases the value "default" will suffice.
connection determines the type of connection. With DKU-2 cable and the libusb driver, use a value of 
dku2libusb. It will work fine.
Leave the other options as they are seen. The 
serial_baudrate determines the speed at which serial communication takes place. The 
use_locking allows a type of flagging facility, disabling other operations while one is taking place. The 
smsc_timeout option determines the time to wait before a SMS send via the PC is acknowledged by the phone. The 
bindir is the path to various gnokiid libraries. For a default installation, the libraries are found at 
/usr/local/sbin. Change the value if you chose to install the libraries elsewhere.
With gnokii installed and .gnokiirc setup, connect the phone to the PC. When asked to choose the mode in the phone, choose "Nokia Mode".
How do you verify whether your phone is properly detected ? Open up a terminal and issue the following command
gnokii --identifyYou will see the list of messages being sent back and forth between the PC and the phone
......................
......................
Received model RM-237
IMEI         : XXXXXXXXXXXXX
Manufacturer : Nokia
Found model "RM-237"
Model        : 3110c
Product name : RM-237
Revision     : V 07.21
Serial device: closing device
This communication gives you the phone model, your IMEI number and the firmaware version you are using. If they are showing up correctly, you have successfully connected your phone with gnokii.
There are a lot of manipulations possible with gnokii. You can send sms, make voice calls etc. With some clever scripts and imagination, you can turn your phone into a remote management center !
Labels: gnokii, GNU/Linux, Nokia 3110c