Fbus Version 1/ nokia 3310/ hardware & software request

Lauters Mehdi <[email protected]> Tue, 6 Aug 2013 22:51:42 +0200
Newsgroups gmane.linux.drivers.gnokii
Message-ID <CAM__BYRJhhN=Z8ZwwU_JFx861dPqOe3m0RkDuJwZonBee1Ag6g@mail.gmail.com>
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


   - http://www.embedtronics.com/nokia/fbus.html
   -
   http://git.savannah.gnu.org/cgit/gnokii.git/tree/Docs/protocol/nokia.txt
   -
   http://www.insidegadgets.com/2013/01/12/how-to-use-nokia-f-bus-to-send-an-sms-message/#comment-81129


*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 http://www.embedtronics.com/nokia/fbus.html
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
   0x1      0x2         0x4C       0x0    0x4F

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

Thanks,

Regards,

Mehdi

_______________________________________________
gnokii-users mailing list
[email protected]
https://lists.nongnu.org/mailman/listinfo/gnokii-users