Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Downgrade firmware on TomTom Multisport #166

Open
JakubkoM88 opened this issue Feb 28, 2020 · 9 comments
Open

Downgrade firmware on TomTom Multisport #166

JakubkoM88 opened this issue Feb 28, 2020 · 9 comments

Comments

@JakubkoM88
Copy link

Hello,
do you think that it would be possible to install older firmware version as it is installed in TT Multisport watch via your utilities?
I have one TT Multisport with firmware 1.8.52. But i'm thinking that this firmware version contains some bug, that drains battery in simple watch mode. My watch battery life in simple watch mode is same as in GPS Running mode - aprox 7h.
But for example battery life is on 80% after 25h in treadmil mode...
So i'm wondering if it will be posiblle somehow download older firmware version into my watch - to test if really firmware 1.8.52 contains bug (don't turn off gps sensor in watch mode?)
J.

@scubajorgen
Copy link
Contributor

scubajorgen commented Feb 29, 2020 via email

@JakubkoM88
Copy link
Author

Hi,
thanks for quick reply. I found page with url to download older firmwares...
Url for info about 1.8.46 http://download.tomtom.com/sweet/fitness/Firmware/E9030000/FirmwareVersionConfigV2.xml...
To download Firmware file it is just http://download.tomtom.com/sweet/fitness/Firmware/E9030000/1_8_46/0x000000F0

I tried also url with 1_8_42 and works too...
Do you think this can be correct firmware?
And if yes, how to load file into watch?
Jakub

@scubajorgen
Copy link
Contributor

scubajorgen commented Feb 29, 2020

Beware. I don't know where you got this link from. I've had a multisports as well and the product ID was EC030000, not E9030000.
You should read out the proper product ID from your watch, using Ryans' software or mine (https://blog.studioblueplanet.net/?page_id=566) and use that to download the firmware.

The preference file on your watch (file with ID 0x00F20000, XML format) contains the ConfigURL (in case of my Adventurer it is https://mysports.tomtom.com/service/config/config.json).

This points to a page which includes "service:firmware":"https://sports.tomtom-static.com/downloads/firmware/{PRODUCT_ID}/FirmwareVersionConfigV2.xml"

FIll in the proper product ID (no 0x, all capitals) and you end up (for my Adventurer E0070000) with a firmware file list:

<FirmwareVersion>
  <latestVersion>
    <Major>1</Major>
    <Minor>7</Minor>
    <Build>64</Build>
  </latestVersion>
  <isCritical>no</isCritical>
  <URL>1_7_64/0x000000F0</URL>
</FirmwareVersion>

You find the firmware files by appending the URL to the same base dir. Again for my Adventurer

https://sports.tomtom-static.com/downloads/firmware/E0070000/1_7_64/0x000000F0

Note: the same link results in a list of 19 files for product ID EC030000 and E9030000:
https://sports.tomtom-static.com/downloads/firmware/EC030000/FirmwareVersionConfigV2.xml

<FirmwareVersion>
<latestVersion>
<Major>1</Major>
<Minor>8</Minor>
<Build>52</Build>
</latestVersion>
<isCritical>no</isCritical>
<URL>1_8_52/0x000000F0</URL>
<URL>1_8_52/0x00010200</URL>
<URL>1_8_52/0x00810000</URL>
<URL>1_8_52/0x00810001</URL>
<URL>1_8_52/0x00810002</URL>
<URL>1_8_52/0x00810003</URL>
<URL>1_8_52/0x00810004</URL>
<URL>1_8_52/0x00810005</URL>
<URL>1_8_52/0x00810008</URL>
<URL>1_8_52/0x00810009</URL>
<URL>1_8_52/0x0081000A</URL>
<URL>1_8_52/0x0081000B</URL>
<URL>1_8_52/0x0081000C</URL>
<URL>1_8_52/0x0081000D</URL>
<URL>1_8_52/0x0081000E</URL>
<URL>1_8_52/0x0081000F</URL>
<URL>1_8_52/0x00850000</URL>
<URL>1_8_52/0x00850001</URL>
<BLE version="28" URL="BLE/28/0x00000012"/>
</FirmwareVersion>

I did not know TomTom kept the old firmwares online...

Again, I don't know if downgrades are supported. Don't blame me if you bust your watch.

@JakubkoM88
Copy link
Author

Hi, i finally found some time to install and run Ryan's software.
My product ID is EA030000. I found 1_8_46 firmware on URL
http://download-test.tomtom.com/sweet/fitness/Firmware/EA030000/......
Now it comes the hardest part - install Linux and use your project or give a chance to java for a first time?
I made a quick look into your code and after a modify of creating a URL to file download - replace firmware version in fw_url with '1_8_46' and then simply use do_factory_reset can will force format method to read xml with info about 1_8_52 firmware, but download files for 1_8_46 version.
What do you think?
And don't worry, i will not blame you for anything what happens to my watch.
Jakub

@scubajorgen
Copy link
Contributor

scubajorgen commented Mar 8, 2020 via email

@JakubkoM88
Copy link
Author

You are right, Ryans sowtware have Debbuging menu with Upload file option.
But when i tried upload 0x000000F0 file, i got error message file not found.
When i listed all files in watch(menu option in debugging) - in list there was not 0x000000F0.
Jakub

@JakubkoM88
Copy link
Author

Ou yes:) Problem was only with missing .bin extension:)
So i upload all files to watch(dont forget do download also firmware/EA030000/BLE/28/0x00000012).
I check files order in Ryans app - first 0x00000012, 0x000000F0, 0x00010200, 0x00850000, 0x00850001, then the rest
And finally - my watch show 1.8.46 firmware version:)
Battery fully charged, i hope it will last longer than in 1.8.52.
Jakub

@scubajorgen
Copy link
Contributor

scubajorgen commented Aug 7, 2024 via email

@voytas280se
Copy link

I got a couple of firmwares on github:
https://github.com/scubajorgen/TomTomWatch/tree/master/various/firmware

Beware, I might have made mistakes putting them there... Use at own risk

I found it already and managed to bring my watch back to life with 1.7.64 :)
I found the same file in other sources as well (I compared checksums) but they were not marked by the E0070000 ID.
The only thing I had to do is to host locally similar structure to the one previously hosted by TT site and replace https with http for downloading the config.json file (I modified the java code).

The java tool is a little safer as it checks for the firmware files to be downloadable before wiping the watch.
Props for that!

EDIT:
I removed my previous comment about bricking the watch and have created a separate issue about the --factory-reset command.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants