Last change Sunday, January 26, 2003 Bertrik Sikken (bertrik@sikken.nl)

Intro

This page describes what I found out about the Nokia 3410 mobile phone while trying to figure out how to improve support for this mobile phone under Linux using gnokii. (I am talking about connecting the phone through a data cable to a PC running Linux). As far as I know, there are no downloadable datasheets about the messages that this phone exchanges over the data cable.

Support in gnokii

From version 0.5.0 onwards, the Nokia 3410 is recognised by the nk6100 driver in gnokii.
Although a lot of commands are compatible with the nk6100, some are not. Here is a list (not complete):

0x02 0x0033 Get SMS center

Command 0x02 0x0032 is normally supported, however the response 0x02 0x0033 is different. Before the actual data arrives, another (yet unknown) message is sent by the phone.

Example:
Message sent: 0x02 / 0x0006
00 01 00 33 64 01                               |    3d
[Received Ack of type 02, seq:  6]
[Sending Ack of type 02, seq: 0]
Message received: 0x02 / 0x0004
01 0f 00 c9                                     |    É
Received message type 02
UNHANDLED FRAME RECEIVED
request: 0x02 / 0x0006
00 01 00 33 64 01                               |    3d
reply: 0x02 / 0x0004
01 0f 00 c9                                     |    É
Please read Docs/Reporting-HOWTO and send a bug report!
[Sending Ack of type 02, seq: 1]
Message received: 0x02 / 0x0022
01 08 00 34 01 f0 00 f6 00 03 81 22 f1 00 00 00 |    4 ð ö   "ñ
00 00 00 00 00 07 91 13 26 06 00 32 f0 00 00 00 |         &  2ð
00 00                                           |
Received message type 02
0x01 0x0f 0x00 0xc9 is the unexpected message.

0x05 0x0030 Set operator logo

See Get operator logo

0x05 0x0034 Get operator logo

There are two extra bytes just before the OTA bitmap data.

Example:
Reading bitmap...
Message sent: 0x05 / 0x0005
00 01 00 33 00                                  |    3
[Received Ack of type 05, seq:  4]
[Sending Ack of type 05, seq: 4]
[Sending Ack of type 05, seq: 5]
Message received: 0x05 / 0x008e
01 08 00 34 00 02 f4 21 00 84 00 1e 00 48 0e 01 |    4  ô!     H
00 00 3f f0 00 0f fc 00 00 00 03 ff e0 42 07 ff |   ?ð  ü    ÿàB ÿ
c0 00 00 1f ff c0 66 03 ff f8 00 00 7f ff c0 7e | À   ÿÀf ÿø   ÿÀ~
03 ff fe 00 00 ff ff c0 7e 03 ff ff 00 01 ff ff |  ÿþ  ÿÿÀ~ ÿÿ  ÿÿ
e3 ff c7 ff ff 80 03 ff ff ff ff ff ff ff c0 07 | ãÿÇÿÿ  ÿÿÿÿÿÿÿÀ
ff ff ff ff ff ff ff e0 0f ff ff ff ff ff ff ff | ÿÿÿÿÿÿÿà ÿÿÿÿÿÿÿ
f0 1f ff ff 3e 7e 7c ff ff f8 3f ff ff 0c 7e 30 | ð ÿÿ>~|ÿÿø?ÿÿ ~0
ff ff fc 3b e3 c3 80 5a 01 c3 c7 dc 61 c1 81 c0 | ÿÿü;ãà Z ÃÇÜaÁ À
d3 03 81 83 86 00 00 00 00 00 00 00 00 00       | Ó
Received message type 05
0x00 0x84 is the length of the following data
0x00 0x1e is the unknown extra two bytes
0x00 0x48 0x0e ... is the OTA bitmap data

0x11 0x006d Get alarm status

This command does not seem to be supported. The phone does not respond to this command.

0x13 0x0067 Get calendar note

Command 0x13 0x0066 is normally supported, however the response 0x13 0x0067 is different. Example:
Message sent: 0x13 / 0x0005
00 01 00 66 01                                  |    f
[Received Ack of type 13, seq:  6]
[Sending Ack of type 13, seq: 7]
Message received: 0x13 / 0x0022
01 08 00 67 01 01 10 1a 01 08 2c 0c 01 0c 15 00 |    g      ,
07 d2 0c 01 0c 15 00 0a 01 56 6c 65 65 72 6d 75 |  Ò       Vleermu
69 73                                           | is
Received message type 13
The bytes 0x08 0x2c form the bogus year 2092 in the date field, while the bytes 0x7 0xd2 form the correct year 2002 in the alarm field.

Links and references