[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Fbus Version 1/ nokia 3310/ hardware & software request

From: Lauters Mehdi
Subject: Fbus Version 1/ nokia 3310/ hardware & software request
Date: Tue, 6 Aug 2013 22:51:42 +0200

Hi everyone,

I spent long time trying to connect my Nokia 3310 to an arduino, (and a computer) without success.
I found mainly 3 sources of documentations which are

and I found your email on the gnokii file.

Actually, I don't understand when to use FBus version 1 or version 2.
On internet, almost all documentation is talking about version 2 but my phone seems to not be agree with that: it sometimes answer, sometimes not, and what it answer seems not te follow the fbus version 2 protocol because I'm not able to decode it with
And the gnokii file says that the used protocol should be FBUS version 1/MBUS version 1

So I'm trying to send it a HW and SW request, but in version 1 of the FBus protocol as described on the gnokii project
Frame format for FBUS version 1:

    { FrameID, FrameLength, MsgType, SeqNo, {block}, ChkSum }

         where FrameID:         0x01 Command frame from computer to Nokia 
                                0x02 ??? - Data call frame from computer to Nokia - ??? 
                                0x03 Data call frame from Nokia to computer 
                                0x04 Command frame from Nokia to computer 
               FrameLength:     {block} + 2
               MsgType:         see List
               SeqNo:           Sequence number of command in case where direction is
                                from ME to computer, the sequence number is 
                                counting from 0x30 to 0x37 and resetting back to 0x30.
				Also seqnos 0x00 to 0x07 have been spotted on some
				3110s (but not all, maybe different firmware revs?).
                                When direction is from computer to ME,
                                sequence number counts from 0x08 to 0x0f and resets back to 0x08.
                                It may not be required to be this way.
                                Sequence numbers are used in acknowledging commands.
               ChkSum1:         CRC = 0;
                                for (i = 0; i < (2 + CMD_LEN); i++)
                                  CRC ^= frame[i];
I cannot found any documentation about it so i wanted to know what is exactly the {block} in the frame and the CMD_LEN in the crc computation.
From what I understood, block is needed by only few commands, so it is inexistant for example for the SW & HW request,
and CMD_LEN is the size between byte 0 and the byte MsgType (included).
Moreover, I found on the nokia3310 file 
0x4c: s Get phone info {} 0x4d: r Get phone info {+IMEI, 0x00, Code, 0x00, HW, 0x00 } where IMEI: IMEI Code CODE: Same as Code in phones back side HW: hardware version

but here also, there as things I am not sure:
the {} is it corresponding to the block frame section? Has it to be set to 0x0 when empty?
fields within them are there always outputs, inputs? depends?

From all I understood, I sent to my phone the following request (after FBus initialisation, of course) to get its version:

FrameID FrameLength getPhoneInfo SeqNo cheksum
0x2 0x4C 0x0

But the problem, is that... I'm still waiting its answer...

I will be glad if you could give me any advice, or at least any answer




reply via email to

[Prev in Thread] Current Thread [Next in Thread]