Welcome to InspirePilots.com

Join the leading DJI Inspire community for free!

Decoding the firmware upgrade log file

Discussion in 'Inspire 1 Discussion' started by Thomas Layer, Oct 14, 2015.

  1. Thomas Layer

    Joined:
    Oct 7, 2015
    Messages:
    8
    Likes Received:
    1
    I also posted this on dji's website, maybe they can shed some light onto this, but this is how far I got. Please be aware of the fact that quite a bit of this is speculation :)

    As pretty much everyone knows there is a text file on the SD card used to do the firmware upgrade for the Inspire. It is in a hidden directory and cannot be seen in Windows if "Show hidden files" is not enabled.
    There are two directories on that SD:
    DCIM
    MISC

    The MISC is the one you cannot see. Once you look into that, there is another subdirectory called LOG, and in there you will find the aforementioned text file. Compared to the results-file in the SD's root, you can see a lot more details. As a matter of fact, this is how the logfile looks when you cat it on a Unix-system:

    [00004526]========== remo-con disconnect. boot(15) ============

    [00004561]Packet [C:\WM610_FW_V01.04.00.10.bin] detected, card sn [0x013b1ec9].

    [00004598]Packet upgrade start...

    [00004637]Packet checking...
    [00004681]Packet vlink 01.04.0010 <-> 01.03.0000.
    [00004732]Record vlink 01.04.0010 <-> 01.03.0000 (flow = 0).
    [00004777]Done.


    [00004828]Version checking[1]...
    [00004874][01 00][00] v1.19.3422 -> v1.19.3422
    [00004920][01 01][00] v1.19.3422 -> v1.19.3422
    [00005003][03 05][00] v34.1.0.5 -> v34.1.0.5
    [00005103][03 06][00] v2.3.0.13 -> v2.3.0.13
    [00005142][04 00][00] v1.26.0.21 -> v1.26.0.21
    [00005203][05 00][00] v3.0.6.1 -> v3.0.6.1
    [00005273][08 00][00] v1.14.0.25 -> v1.14.0.25
    [00005323][09 00][00] v1.8.0.0 -> v1.8.0.0
    [00005383][11 00][00] v3.7.0.0 -> v3.7.15.10 need upgrade.
    [00005483][12 00][00] v1.8.0.0 -> v1.8.0.0
    [00005563][12 01][00] v1.8.0.0 -> v1.8.0.0
    [00005643][12 02][00] v1.8.0.0 -> v1.8.0.0
    [00005723][12 03][00] v1.8.0.0 -> v1.8.0.0
    [00005816][15 00][00] v1.1.2.0 -> v1.1.2.0
    [00005969][17 00][00] v1.1.0.4 -> v1.1.0.4
    [00006064][17 01][00] v2.0.0.8 -> v2.0.0.8
    [00006109][19 00][00] v1.0.8.96 -> v1.0.8.96
    [00006152]Done.

    [00008190]Waiting for user confirm...
    [00018235]Timeout, start upgrade automatically.

    [00018310]Firmware upgrading[1]...
    [00018360][11 00] Firmware upgrade start...
    [00099294][11 00] Firmware upgrade finished successfully.
    [00099331]Done.


    [00099385]Version checking[2]...
    [00099430][01 00][00] v1.19.3422 -> v1.19.3422
    [00099464][01 01][00] v1.19.3422 -> v1.19.3422
    [00099535][03 05][00] v34.1.0.5 -> v34.1.0.5
    [00099615][03 06][00] v2.3.0.13 -> v2.3.0.13
    [00099658][04 00][00] v1.26.0.21 -> v1.26.0.21
    [00099715][05 00][00] v3.0.6.1 -> v3.0.6.1
    [00099766][08 00][00] v1.14.0.25 -> v1.14.0.25
    [00099809][09 00][00] v1.8.0.0 -> v1.8.0.0
    [00099875][11 00][05] v3.7.15.10 -> v3.7.15.10
    [00099975][12 00][00] v1.8.0.0 -> v1.8.0.0
    [00100075][12 01][00] v1.8.0.0 -> v1.8.0.0
    [00100155][12 02][00] v1.8.0.0 -> v1.8.0.0
    [00100235][12 03][00] v1.8.0.0 -> v1.8.0.0
    [00100324][15 00][00] v1.1.2.0 -> v1.1.2.0
    [00100395][17 00][00] v1.1.0.4 -> v1.1.0.4
    [00100495][17 01][00] v2.0.0.8 -> v2.0.0.8
    [00100541][19 00][00] v1.0.8.96 -> v1.0.8.96
    [00100575]Packet upgrade finish successfully.


    First, it seems, the system checks whether there are parts that need a firmware upgrade. The format seems to be
    [timestamp] [component subcomponent] [hardware version] current firmware version -> version after upgrade
    I get to this conclusion because in the above example I only updated one firmware: The one of a new TB48 battery. So, what do we know?
    1. The battery is component number 11
    2. It seems like the hardware version of the TB48 is 05, since I also know listings where it says 00, which I guess is the TB47
    3. I know from other listings that the older firmware version of the battery which came with 1.03.00 is 3.7.15.9
    4. The latest battery firmware version is 3.7.15.10, which came with 1.0.4.10
    5. The battery's firmware in my example was 3.7.0.0, so way old
    Maybe we can decipher some more components.

    The timestamp, I have no idea. The closest I would get is something like
    seconds (5 digits), 1/1000s of a second (3 digits), which would mean that the battery upgrade in my case too about 81 seconds, which feels about right.

    In another example I know that the firmware upgrade stamps were
    00005937 start
    01017724 end

    That would make something like 17 minutes for the whole update, which also feels about right. So maybe that's an idea.
    Going from there and looking at another example, we might see which components take long and thus are larger:

    [00004571]Version checking[2]...
    [00004614][01 00][05] v1.19.3422 -> v1.19.3422
    [00004648][01 01][00] v1.8.2729 -> v1.19.3422 need upgrade
    [00004706][03 05][00] v34.1.0.5 -> v34.1.0.5
    [00004786][03 06][00] v2.0.5.14 -> v2.3.0.13 need upgrade.
    [00004842][04 00][00] v1.16.0.76 -> v1.26.0.21 need upgrade.
    [00004906][05 00][00] v2.5.6.1 -> v3.0.6.1 need upgrade.
    [00004958][08 00][00] v1.12.0.21 -> v1.14.0.25 need upgrade.
    [00005016][09 00][00] v1.7.0.3 -> v1.8.0.0 need upgrade.
    [00005067][11 00][00] v3.7.1.0 -> v3.7.15.10 need upgrade.
    [00005166][12 00][00] v1.8.0.0 -> v1.8.0.0
    [00005266][12 01][00] v1.8.0.0 -> v1.8.0.0
    [00005386][12 02][00] v1.8.0.0 -> v1.8.0.0
    [00005486][12 03][00] v1.8.0.0 -> v1.8.0.0
    [00005600][15 00][00] v1.1.2.0 -> v1.1.2.0
    [00005666][17 00][00] v1.1.0.1 -> v1.1.0.4 need upgrade.
    [00005786][17 01][00] v2.0.0.1 -> v2.0.0.8 need upgrade.
    [00005851][19 00][00] v1.0.8.96 -> v1.0.8.96
    [00005900]Done.


    [00005937]Firmware upgrading[2]...
    [00009194][01 01] Firmware upgrade start...
    [00041525][01 01] Firmware upgrade finished successfully. -> 32 seconds
    [00071424][08 00] Firmware upgrade start...
    [00407941][08 00] Firmware upgrade finished successfully. -> 336 seconds
    [00414695][03 06] Firmware upgrade start...
    [00649086][03 06] Firmware upgrade finished successfully. -> 235 seconds
    [00649795][17 00] Firmware upgrade start...
    [00711561][17 00] Firmware upgrade finished successfully. -> 62 seconds
    [00711615][17 01] Firmware upgrade start...
    [00765254][17 01] Firmware upgrade finished successfully. -> 54 seconds
    [00765300][11 00] Firmware upgrade start...
    [00846228][11 00] Firmware upgrade finished successfully. -> 81 seconds
    [00846288][05 00] Firmware upgrade start...
    [00891343][05 00] Firmware upgrade finished successfully. -> 45 seconds
    [00891404][09 00] Firmware upgrade start...
    [00945965][09 00] Firmware upgrade finished successfully. -> 54 seconds
    [00947762][04 00] Firmware upgrade start...
    [01017686][04 00] Firmware upgrade finished successfully. -> 70 seconds
    [01017724]Done.


    Looking at this, we can see that the upgrade does not follow the component number. Interestingly, the timestamp for the battery here again is 81 seconds.... So, the big players are component 8 and component 3 subcomponent 6. So I guess those are like motherboard and camera.

    Now, perhaps someone would like to add to this list and tell us what the components are.
    Hope this is interesting for someone :)

    "Known" components (again lot of this is speculation at this point!!!):

    01 00 camera
    01 01 gimbal
    11 00 TB47 battery
    11 05 TB48 battery
    12 00-03 ESCs


    [EDIT] started a list of known components [/EDIT]
     
    #1 Thomas Layer, Oct 14, 2015
    Last edited: Oct 15, 2015
  2. Aviator

    Joined:
    Jul 1, 2015
    Messages:
    389
    Likes Received:
    161
    Location:
    Dorset, UK
    [01 00] is the camera module
     
  3. Kilrah

    Joined:
    Feb 3, 2015
    Messages:
    1,879
    Likes Received:
    728
    That's a very hazardous assumption there - it skips the fact that components might use different technologies and can be interfaced differently causing the speed of the data transfer/flashing process to vary significantly from one component to another.

    The 4 instances of 12 are obviously the ESCs.
     
  4. Thomas Layer

    Joined:
    Oct 7, 2015
    Messages:
    8
    Likes Received:
    1
    You are correct, although I would not call it hazardous.... I don't think someone is going to get hurt, but it certainly may be wrong. It's is, as pretty much the whole thing, a guess.
     
  5. Scotflieger

    Joined:
    Mar 29, 2015
    Messages:
    1,240
    Likes Received:
    571
    Location:
    Buckie, Scotland, UK
    Thank you for some excellent detective work. What is interesting is the version number for [03 05] which has obviously undergone the greater development. Possibly the flight control system?
     
  6. Thomas Layer

    Joined:
    Oct 7, 2015
    Messages:
    8
    Likes Received:
    1
    That is an excellent assumption. Then again, we have 03 05 and 03 06. Also, there is no part with number 2, or that does not need a firmware...

    Perhaps we could compile a list of things that might have a firmware.

    ESCs (4)
    camera
    gimbal
    FCU
    central circuit board
    battery
    vision positioning module
    gps
    receiver
    compass
    Tail-LED

    Also we got 17 00 and 17 01, so what would we have on the copter which is there in two versions...