gnokii - modem/fax driver for the mobile phones
gnokii [CONFIG OPTIONS] [OPTIONS]
gnokii is a multiple systems tool suite and (eventually)
modem/fax driver for the mobile phones.
gnokii at the beginning was designed to support the
proprietary protocols of Nokia phones and at the moment it also supports
phones and GSM modems that understand AT commands, both from Nokia and from
other vendors, and SIM cards in PC/SC compatible Smart Card readers. Limited
support for the older and slow Nokia MBUS protocol is also available.
You can assume that your phone is supported, however there are
rare cases that you will get very limited functionality with gnokii. If you
have a fairly modern phone you should use the following model setting in
your config file:
- model = series40, if you have Nokia non-Symbian phone
- model = gnapplet, if you have Nokia Symbian Series60 prior to 3rd Edition
phone
- model = AT, for all other
- if you have some older Nokia phone you may try using its brand name, eg.
for Nokia 6210 use model = 6210.
See also our <http://wiki.gnokii.org/index.php/Config> for
configurations known to work.
Symbian series60 3rd edition (most Nokia n and e series) are not
supported by gnapplet driver due to changes in Symbian API. For now you can
get some functionality using AT driver.
Please note that currently there are Nokia models with almost the
same names as the old ones, like 6110c vs 6110 or 3110c vs 3110. They are
completly incompatible. DO NOT use model = 6110 or model =
3110 setting for them.
- --config
filename
- reads configuration from filename instead of trying default
locations. Normally gnokii looks for config file in
$XDG_CONFIG_HOME/gnokii/config (which is usually
$HOME/.config/gnokii/config), $XDG_CONFIG_DIRS/gnokii/config
(which is usually /etc/xdg/gnokii/config), $HOME/.gnokiirc
(legacy) and /etc/gnokiirc (legacy).
- --phone
name
- usees parameters from the given phone section of your config file. A phone
section named 'foo' starts with [phone_foo] and is used as --phone foo
The options that are recognized by gnokii can be divided
into several different groups.
- --help
- displays usage information.
- --version
- displays version and copyright information.
- --monitor
[delay|once]
- continually updates phone status to stderr. Optional delay
parameter sets the refresh interval to delay seconds. Default is 1.
once means the output will be printed only once.
- --shell
- runs interactive session that will allow to run sequent gnokii commands
without a need to reconnect for the sequent commands.
- --getspeeddial
location
- reads speed dial from the specified location.
- --setspeeddial
number memory_type location
- specify speed dial. location number 1 is usually reserved for voice
mailbox number and it is unavailable as speed dial.
- --dialvoice
number
- initiate voice call. On success print the callid identifier to be
used with the --hangup command. The --monitor command can be used to show
the callid.
With model = AT direct dialing from phonebooks is
supported with careful use of shell escaping, for example:
gnokii --dialvoice ">SM42" # dial the number in location 42
of SM memory
gnokii --dialvoice '>"Home"' # dial the number if string
matches exactly a contact name
- --senddtmf
string
- send DTMF sequence.
- --answercall
callid
- answer an incoming call. callid is a small integer number used to
identify one of the incoming calls. The --monitor command can be used to
show the callid.
- --hangup
callid
- hangup an incoming call or an already established call. callid is a
small integer number used to identify one of the incoming calls. If you
initiated the call with --dialvoice this is the number printed by that
command. The --monitor command can be used to show the callid.
- --divert {--op|-o}
{register|enable|query|disable|erasure} {--type|-t}
{all|busy|noans|outofreach|notavail} {--call|-c} {all|voice|fax|data}
[{--timeout|-m} time_in_seconds] [{--number|-n}
number]
- Manage call diverting/forwarding.
--op specifies one of the operations: register
enable query disable erasure
--type specifies one of the event types: busy noans
outofreach notavail unconditional all
--call specifies one of the call types: voice fax data
all
--timeout is the number of seconds an incoming call
will ring before being forwarded to the registered number (use with
--type noans)
--number is the phone number to which calls are to be
forwarded
- --getsms
memory_type start [end] [-f|--file file]
[-F|--force-file file] [-a|--append-file file]
[-d|--delete]
- gets SMS messages from specified memory type starting at entry
start and ending at end. For the memory types you
usually use SM for the SIM card and ME for the phone memory (or MT for
mixed phone and SIM memory, which preferred type for modern Motorolas).
The exception are the phones supported by nk7110 (Nokia 7110/6210/6250)
and nk6510 (Nokia 6310/6510/8310) drivers. For these you should use IN for
the Inbox, OU for the Outbox, AR for the Archive, TE for the Templates and
F1, F2, ... for your own folders. Use the --showsmsfolderstatus
command to get a list of memory types available in your phone.
end can be a number or the string 'end'. If end is not
specified only one location - start is read. Messages are printed
to stdout. Additionally, if --file file is used, messages are saved
in file in mbox format. If file already exists, user is
prompted whether to overwrite it. If --force-file file is used
gnokii overwrites the file without asking. If --append-file file is
used messages are appended to the file. If --delete switch is used, the
message is deleted after reading.
- --deletesms
memory_type start [end]
- deletes SMS messages from specified memory type starting at entry
start and ending at end. If end is not specified
only one location - start is deleted.
- --sendsms
destination [--smsc message_center_number | --smscno
message_center_index] [-r|--report] [-8|--8bit] [-C|--class n]
[-v|--validity n] [-i|--imelody] [-a|--animation
file;file;file;file] [-o|--concat this;total;serial]
[-w|--wappush url]
- sends an SMS message to destination via
message_center_number or SMSC number taken from phone memory from
address message_center_index. If this argument is omitted SMSC
number is taken from phone memory from location 1. Message text is taken
from STDIN. Meaning of other optional parameters:
-r | --report - request for delivery report
-8 | --8bit - set 8bit coding
-C | --class n - Class Message n, where n can
be 0..3
-v | --validity n - validity in minutes
-i | --imelody - send iMelody within SMS
-a | --animation file;file;file;file - send animation
message
-o | --concat this;total;serial - send this part of
all total parts identified by serial
-w | --wappush url - send wappush to the given
url
- Sample usage:
- echo "This is a test message" | gnokii --sendsms +48501123456 -r
- --savesms [--sender
from] [--smsc message_center_number | --smscno
message_center_index] [--folder folder_id] [--location
number] [--sent | --read] [--deliver] [--datetime
YYMMDDHHMMSS]
- saves SMS messages to phone. Messages are read from STDIN. You can specify
the following optional arguments:
--sender - set the sender number (only --deliver)
--smsc message_center_number - set the SMSC number (only
--deliver)
--smscno message_center_index - SMSC number taken from
phone memory from address message_center_index (only
--deliver)
--folder folder_id - folder ID where to save the SMS to
(only valid for newer phones, i.e. 6210/6510 series). For legal values see
--getsms.
--location number - save the message to location
number
--sent | --read - mark the message saved/read depending on
--deliver
--deliver - set the message type to SMS_Deliver
--datetime YYMMDDHHMMSS - sets datetime of delivery, i.e.
031123185713 would set message delivery time to 23rd November 2003, 6:57:13
PM
- --getsmsc
[start_number [end_number]] [-r|--raw]
- show the SMSC parameters from specified location(s) or for all locations.
- --setsmsc
- set SMSC parameters read from STDIN. See --raw output of
--getsmsc for syntax.
- --createsmsfolder
name
- create SMS folder with name name.
- --deletesmsfolder
number
- delete folder # number of 'My Folders'.
- --showsmsfolderstatus
- list SMS folder names with memory types and total number of
messages available.
- --smsreader
- keeps reading incoming SMS and saves them into the mailbox.
- --getmms
memory_type start [end] [{--pdu|--raw} file]
[-o|--overwrite]
- gets MMS messages from specified memory type starting at entry
start and ending at end. Default output format is human
readable, alternative output formats are --pdu which is the binary format
of MMS as received by the phone from the network and --raw which saves the
data as read from the phone.
When the -o or --overwrite option is used, existing files are
overwritten without asking.
- --sendlogo
{caller|op|picture} destination logofile
[network_code]
- send the logofile to destination as operator or CLI
logo.
- --setlogo op
[logofile [network_code]]
- --setlogo startup
[logofile]
- --setlogo caller
[logofile [caller_group_number
[group_name]]]
- set or clear operator, startup or caller logo.
- --setlogo
{dealer|text} [text]
- set or clear welcome note.
- --getlogo op
[logofile [network_code]]
- --getlogo startup
[logofile [network_code]]
- --getlogo caller
[caller_group_number [logofile
[network_code]]]
- get operator, startup or caller logo.
- --getlogo
{dealer|text}
- get welcome note.
- --viewlogo
logofile
- print the logofile as ASCII art. Formats that are automatically
detected are: NOL, NGG, NSM, NLM, BMP, I61, GGP, XPM. The OTA format can
be used only if the filename ends with the .otb extension.
Format of network_code parameter is 3 digits MCC, a space,
2 digits MNC surrounded by single or double quotes, eg. "123
45".
- --getphonebook
memory_type start_number [end_number|end]
[[-r|--raw]|[-v|--vcard]|[-l|--ldif]]
- reads specified memory location from phone. If end_number is not
specified only one location - start is read. If instead of
end_number the text end is specified then gnokii will read
from start_number until it encounters a non-existant location.
Valid memory types are: ME, SM, FD, ON, EN, DC, RC, MC, LD:
- ME Internal memory of the mobile equipment
- SM SIM card memory
- FD Fixed dial numbers
- ON Own numbers
- EN Emergency numbers
- DC Dialled numbers
- RC Received calls
- MC Missed calls
- LD Last dialed numbers
Normally you get verbose output. You can use -v or
--vcard switch to get output in vCard format or -l or
--ldif switch to get output in ldif format or -r or
--raw switch to get the raw output which is explained below. You can
use it then with --writephonebook.
- --writephonebook
[-o|--overwrite] [-f|--find-free] [-m|--memory-type|--memory memory_type]
[-n|--memory-location|--location number]
[[-v|--vcard]|[-l|--ldif]]
- reads data from stdin and writes to phonebook. Uses the same format as
provided by the output of the getphonebook command. Default is raw format
(see below for details) and alternate formats are vCard and ldif.
With --memory-type memory_type and --memory-location
number you can set a memory type and a location if the input data
doesn't specify them.
When the -o or --overwrite option is used, existing entries at a
given location are overwritten.
When the -f or --find-free option is given, gnokii tries to
find a free location. In this case, you can omit the location field in the
input data.
The raw phonebook format is very simple. Each line represents one
entry. Fields are separated by semicolons. Semicolons aren't allowed inside
a field. The fields have to be in this order (the subentries are optional,
ie. you can repeat all subentry field multiple times, but they have to be
alltogether in the given order):
-
- name
-
- number
-
- memory_type
-
- entry_location
-
- caller_group_number
-
- subentry_type
-
- subentry_number_type
-
- subentry_id
-
- subentry_text
Possible values of caller_group_number and the
corresponding caller groups are (these are defaults, you are able to change
these manually in your phone):
- 0 Family
- 1 VIP
- 2 Friends
- 3 Colleagues
- 4 Other
- 5 No group
Possible subentry types are described in the
gnokii/common.h file:
- 7 subentry is the name
- 8 subentry is the email address
- 9 subentry is the postal address (snail mail)
- 10 subentry is the note (text field)
- 11 subentry is the number
- 12 subentry is the ringtone
- 19 subentry is the date (used for DC, RD, LD)
- 26 subentry is the pointer (pointer to the other memory)
- 27 subentry is the logo (bitmap)
- 28 subentry is the logo switch
- 30 subentry is the group (octect)
- 44 subentry is the URL
- 47 subentry is the location (octect)
- 51 subentry is the image (file id)
- 55 subentry is the ringtoneadv (file id or ringtone)
- 56 subentry is the userid
- 63 subentry is the pttaddress
- 67 subentry is the extgroup
- 69 subentry is the video (file id)
- 70 subentry is the firstname
- 71 subentry is the lastname
- 74 subentry is the postaladdress
- 75 subentry is the extendedaddress
- 76 subentry is the street
- 77 subentry is the city
- 78 subentry is the stateprovince
- 79 subentry is the zipcode
- 50 subentry is the country
- 82 subentry is the formalname
- 84 subentry is the jobtitle
- 85 subentry is the company
- 86 subentry is the nickname
- 87 subentry is the birthday
Possible subentry number types are described in the
gnokii/common.h file:
- 2 number is the home phone number
- 3 number is the mobile phone number
- 4 number is the fax number
- 6 number is the work phone number
- 10 number is the general number
For the subentry types that don't care about number type (as text
files) this should be set to 0.
- --deletephonebook
memory_type start_number [end_number|end]
- delete entries with start_number to end_number from the
phone book in memory_type. end is a keyword that denotes
'everything till the end'.
- --keysequence
- emulates pressing keys on phone keyboard. Input is read from stdin.
- Supported keys (any other char is ignored):
- M menu
- N names
- P power
- G green phone
- R red phone
- U up
- D down
- + increase volume
- - decrease volume
- 0123456789#* as is
- Example: to increase volume
-
echo "+" | gnokii --keysequence
- Note: this command isn't supported by all phones/drivers.
- --enterchar
- emulates typing a character on phone keyboard. By emulating multiple
pressions of keys, it can input all characters supported by the phone in
use, but to input an SMS predictive text should be disabled. Input is read
from stdin, with newline interpreted as the "Menu" key and
escape interpreted as the "Names" key.
- Note: this command isn't supported by all phones/drivers.
- --listnetworks
- prints a list of cellular network operators with their 3-digits MCC
(Mobile country code) and 2-digits MNC (Mobile Network Code).
- Note: this command doesn't need a valid config or a phone to work.
- --getnetworkinfo
- prints information about the network currently in use.
Various error messages are printed to standard error. The exit
code is 0 for correct functioning. Errors which appear to be caused by
invalid or abused command line parameters cause an exit code of 2, and other
errors cause an exit code of 1.
We write quality software here ;) but see KNOWN_BUGS just in case.
If you'd like to send us the bugreport please read the README and Bugs
files.
Hugh Blemings <hugh at blemings dot org>, Pavel Janik ml.
<Pavel.Janik at suse dot cz> and Pawel Kot <gnokii at gmail dot
com>.
Manual page written by Dag Wieers <dag at mind dot be>,
Pawel Kot <gnokii at gmail dot com> and Daniele Forsi <daniele at
forsi dot it>.
See also Docs/CREDITS from gnokii sources.
This program is distributed under the GNU Public License Version
2, or (at your option) any later version.
gnokiid, xgnokii, mgnokiidev, ppm2nokia, sendsms, todologo