Auto updates of software - how to? - Windows Mobile Development and Hacking General

Hi,
I need auto update functionality for my application. I.e., the new exe/dll shall be downloaded by GPRS and existing program files shall be replaced. Now I wonder, how this could be done in an easy way.
The problem is, that the application is continuously running and updates shall be done more or less "on the fly". Currently, the application is automatically started on boot through registry settings in HKLM/init
So my idea was the following: Creating a "starter programme" for the application: When the device (HTC ARTEMIS) is booted, the starter programme is first launched (through HKLM/init), looks into a pre-defined directory if there are any files. If there are, these files are copied into the directory of the application. Afterwards, the starter programme launches the main application. Do you think that could work? Or are there any better ways (maybe even supported by the OS) to perform SW-updates?
Günther

I have auto update functionality in my commercial application.
1) When data is replicated to server, main appliation also check availability of new version. If new version is available a and upgrade is mandatory, application launch new process - updater.exe.
2) Updater waiting to main application correct exit (saving data on dirty forms etc.)
3) After main application exit updater download new version descriptor (list of files with targer location, install scripts (dll with well known special interface which can be used for many special tasks - create shortcuts, delete file, modify registry, install new certificate). Updater downloads all files, process install scripts and then launch main application again. New install CAB file is usually stored to extended ROM (autoinstall after HARD Reset).
As a server component is used web service with some methods (GetDescriptor, DownloadFile).

ma_gu said:
Hi,
I need auto update functionality for my application. I.e., the new exe/dll shall be downloaded by GPRS and existing program files shall be replaced. Now I wonder, how this could be done in an easy way.
The problem is, that the application is continuously running and updates shall be done more or less "on the fly". Currently, the application is automatically started on boot through registry settings in HKLM/init
So my idea was the following: Creating a "starter programme" for the application: When the device (HTC ARTEMIS) is booted, the starter programme is first launched (through HKLM/init), looks into a pre-defined directory if there are any files. If there are, these files are copied into the directory of the application. Afterwards, the starter programme launches the main application. Do you think that could work? Or are there any better ways (maybe even supported by the OS) to perform SW-updates?
Günther
Click to expand...
Click to collapse
Seems to be a good idea. This way, you can update the application while it's running and changes become active when the device is rebooted or the application is exited and started again. It's just excellent.
My needings were more simple, so the update feature I designed works as following:
1. The program is divided into a launcher, an updater library and the true application.
2. When the program is started, the launcher copy the update library call such a copy (just call it updlibcpy).
3. updlibcpy uses http to check if an update is available. The check is performed by downloading an "update manifest" containing the MD5 hash of each file of the updated application and checking it against the MD5 hashes of the current program files.
4. If one or more files need to be updated, updlibcpy does the task. Since only updated files are downloaded, no bandwidth is wasted. The only file that cannot be updated is the launcher, but it is so simple that it should never need an update.
5. When updlibcpy has ended, the control is passed back to the launcher, which invokes the true application executable.
The main difficulty was handling the high packet loss that the HTC devices I used has shown. This caused frequent application hang-ups during start-up, unless the GPRS connection was terminated and started again. Once I solved this problem by giving a timeout to the update (using threads), all worked perfectly.
The only improvement I'm thinking about is some sort of "transactionality" of the update, so that if one file updates correctly while another doesn't, the succesfully updated files roll back to the not updated version.

Related

Commontime releases mNotes 4.1.0 for WM5

CommonTime is pleased to announce the immediate availability of mNotes
version 4.1 which includes support for Windows Mobile 5 devices.
You can download it from:
Desktop/laptop installer (for individual users);
http://www.commontime.com/downloads/4.1.0/mNotes_ceEN.exe
General purpose installers (for server installations):
http://www.commontime.com/downloads/4.1.0/mNotesEN.exe
or
http://www.commontime.com/downloads/4.1.0/mNotesEN.msi
If a previous version of mNotes is already installed on your PC, you should
uninstall it (from Control Panel > Add/Remove Programs) before installing
version 4.1.
Please note: your first replication may take longer than normal and may
even appear as if it has frozen part way through. Please let it continue
(do not tap the Stop button or soft reset the device) - the replication
will complete and your second and subsequent replications will be
considerably faster.
mSuite: CAB files for mSuite users will be available for download within
the next 24 hours. If you are a corporate customer using mSuite (as
distinct from mNotes), as wish to be notified when the mSuite CAB files for
WM5 are available, please reply to this message using the subject "mSuite
CAB files for WM5".
A copy of the release notes can be downloaded from the following url.
Please read this.
http://hosting.commontime.com/downloads/support/release/mnotes4.1.0.001.pdf

Ignoring certifications

Is there a way via registry editing or otherwise to set up a device to ignore the requirement to have certified dll's and executables.
This would be temporary just for trying out programs extracted from other roms without having to worry about certifying everything just to see if it works.
Thanks
the policies that control this can be viewed here:
http://msdn.microsoft.com/library/d.../wce51conwindowsmobiledevicesecuritymodel.asp
the "unsigned applications policy" should already be 1.
change the "Unsigned Prompt Policy" to 1 also. I.e. change the following registry entry to 1.
HKLM\Security\Policies\Policies\101a
Note that the web page says that this policy is 4122, but 4122 is 101a in hex.
You may also want to set "unsigned cabs" to 16
(HKLM\Security\Policies\Policies\1005 to 16)
Also, this will not work for drivers that are loaded during booting. I'm pretty sure they must be signed. It's not that difficult to create a certificate, install it on your device, then sign the driver dll so it will work.
you can also change this using the "SecurityPolicy Configuration Service" see
http://msdn.microsoft.com/library/d...lesdk5/html/wce51samsettingsecuritypolicy.asp
Thanks a bunch! good info.

[release] SpbWeatherUpdater 0.1 -- Weather Update despite Proxy-Restrictions (e.g o2)

Hi Guys,
i wrote a small C#-Application for updating SpbWeather (maybe it should work also with other Weather-Applications) despite Proxy-Restrictions (like Vodafone, o2 etc.). This program emulates a normal Wap-Browser (with an exact User-Agent) and downloads a Weather-html-File of your choice to your PDA. In combination with Pico-WebServer and some little tweaks , SpbWeather updates with this local file.
First of all, it is a beta program. Use this program at your own risk. I will take no responsibilities for malfunctions or/and unintentional data traffic (and costs). It should be working fine, but nobody is perfect.
--------------------------------------------------------------------------------------
Ok, here is the Step-by-Step guide what you have to do:
1. Install the lastest Microsoft Compact .Net-Framework on your PDA (http://www.microsoft.com/downloads/...FamilyID=9655156b-356b-4a2c-857c-e62f50ae9a55)
2. SpbWeather
You need a actual version of SpbWeather (it should be with working with other Weather-Programs too, e.g. HTC Weather or PocketWeather)
3. Download the SpbWeather-Template from Spb-Weather-Forum (or somethere else) you want to use. I attached a working template for www.wetter.com
4. Edit the Template-File and search the line "open_url(.......)" . Edit the value in the brackets to open_url("http://localhost/wetter.htm", "GET"); (the name of the .htm - file its your choice).
5. Copy the .tpl - File in the templates - Folder of SpbWeather and add a new City with this edited Template.
6. Install Pico Webserver on your PDA ( http://http://www.tucows.com/preview/200784)
7. Start Picowebserver, goto Settings and edit the Alias Settings. You can choose the default path of the webserver or you can choose another path. But remember this path, we'll need it. Now start the Server.
8. Ok, now you need the WeatherUpdater. Just copy it to a location of your choice and start it. Go to "Settings" and configure the Programm. There are five entrys you can edit.
a. WebServer:
Enter the complete url of the weather site and your town: (wich matched to the template you use for Spb Weather). In my case the Url is: http://www.wetter.com/mobile/wetter.php?id=43367&type=WORLD (enter wetter.com/mobile and you can search your town)
b. Local Web-Server
Enter the Path to the Root-Directory of your Picowebserver (see 6.)
c. Name html-File:
Enter the Name of the htm(l)-file to download...it must matched with the name you edited in the template-File (see 3.)
d. Update on Start:
Downloads the html-Weather-File on Programstart
e. Update-Interval:
Choose an interval for updating the Weather-html-File. You can chosse values between 1 and 1440 minutes. (1min - 24h). Remember, it produces data traffic you have to pay for (or you have a flatrate etc., that's your own risk)) In my example, one update produces 15kb of data traffic. Check various templates with less traffic (maybe less weather info).
With runnig Picowebserver and WeatherUpdater in the background, you can now Update SpbWeather every hour.
What do do next:
-----------------
a. It would be fantastic to integrate the webserver functionality into WeatherDownloader. But i've to check out how to make a Webserver in C#. Maybe someone can help me
Please report any bugs or wishes for further versions.
b. automatic installation with a cab-file and AutoStart functionality
c. HowTo for other Weather Programs like HTC Weather and PocketWeather
d. and many many more features
Pfischi
P.S: Sorry for my English
------
Screenshots in Progress
Nice release Pfischi, something I was looking for quite some ti...........well, forever

WM65 (English/German) OS Builder Kitchen + ROMs for Typhoon based on Aleut's WM65 ROM

Final update: (diff from 20120408):
cleaned up some resource files (saving quite some space)
added icons to those which had none
made provxml tracing the same for all
added some small games (these eat the saved space from above)
added an option panel to setup the volume of VoiceTag (from my other kitchen)
made D3Demo an extra package
added the very latest NetCF 3.5 as modules in an own package
added a few more color schemes and backgrounds
patched the keyboard driver to not require a dedicated subdirectory "Keys" in \windows
patched the nk.exe to identify itself as "TYPH100" to allow better skin selection for remote access tools
renamed mtty to the correct name (was mmty.exe)
fixed the welcome.exe for the German Mui to correctly delete the welcome.lnk from autostart at first boot.
removed the _cabs folder form the kitchen. Get it from an older kitchen
Updated 2012 04 08: A new update to the kitchen folder. The older OS Builder stuff is moved to a dedicated subfolder. Now SDHC cards are supported and a later version of USBFN is bundled only with WM5torage (not recommended on Typhoon).
Updated: 2012 01 15: The old batch kitchen is moved to a dedicated folder in the Mediafire share. You find now a much improved OS Builder (see post 3) Kitchen as well as a set of ready-to-use builds to download. I have also updated the list of included programs below.
Here it is finally - another port of the batch kitchen I had once taken from Nitrogen for the Tornado and ported to Hurricane already - the simple kitchen for the Typhoon/Feeler/Amadeus.
The default settings were cooked to a ROM already, so you may want to try that first before you cook yourself (which is very easy, even for noobs).
It is completely localized for German keeping the English from Aleut's original WM65 ROM. He already had published a kitchen for that device here at XDA, however only as a side-note in an existing thread asking for WM65.
I have updated some applications to the last available version, added some OEM packages from the Tornado kitchen and merged some from the Ginza MS100 kitchen - also a device with QQVGA and a WM65 kitchen.
As this device has a limited ROM size of 27MB (x'1b00000), the tweaking of size and available applications was a major activity. All changes done to the original files are left in a separate folder in the kitchen.
The default settings for cooking are containing the following applications:
20MB base package (all options off in OSBuilder), leaving 7MB of additional ingredients to push in, my choice for you:
.NET CF 3.5 already on-board
T9 English and German
WM6.5 Menus (skinned) (selectable in the kitchen, not in builds anymore)
full Media Support:
Arcsoft MMS 3.5.2.15C
HTC Camera (as it always was)
Media Codecs (common filetypes, also midi works as ringtones)
Cyberon Voice Dial
WM-player supports the additional keys for the Amadeus (SDA Music)
More Entertainment:
Kevtris 2.0, a great Tetris clone with nice additional options (sliders, weird blocks etc.) - keeps your joystick busy. (*)
several Bluetooth profiles (updated from S740 aka Rose):
Bluetooth SAP (Sim Access Profile)
Bluetooth FTP Client (HTC BT Explorer)
Bluetooth A2DP included (with settings) but it only works on lowest quality due to HW limitations (removed now)
GPS Intermediate drivers (from WM5&6) including setup program. This allows to share one BT GPS receiver for several applications at the same time.
HTC Comm Manager. This allows to set the Radio really OFF if you have no or no valid SIM Card. After 3 minutes the radio gets back on otherwise even if shut off with MS-wrlsmgr. Once after 3 minutes off-time it stays off even after reboot. [Edit 20120324:] It is not necessary to have HTC CommManager do this - the normal MSWrlsmgr can do the same, provided that you do not leave it with "done" but keep it running for these 3 minutes in background.
Many other tools:
Total Commander 2.5ß3 (*)
WM5torage 1.9 [Edit 20120324:] The usbfn.dll which can handle the WM5torage driver is creating problems with parallel Music Playback and any USB connection (also AS via RNDIS or Serial) It seems that some I/O ports are used the same. You better avoid using that when cooking.
maniac's Autokeylock
MortScript 4.2 (*)
Easter Uninstaller (*)
Oxios Memory
Vito Copy/Paste
FEADIE (managing file extension for Internet Explorer) (*)
Modaco NoData
Clear Type Power Toy (adjust the Gamma for CT)
Mobile Config: an XML based registry tweaker (only in the kitchen)
Caller Location core (vibrate on connect)
Multi Flashlight
Safe Inbox Extender
* (in the non sliding panels build only)
The pagepool used is now 4MB to give a suitable performance (was only 2MB in previous setup - very slow). However you can adjust this with tools included in the kitchen if you want to change it. ROM size and Storage is fixed on the device, so you have 27.97 MB total storage and free are 24.64. Mind that packages you save from the ROM are not giving you gain in storage space, so keep the ROM filled to the 27MB with what you consider useful.
RAM is tight here anyway, best gain is if you don't use the sliding homescreen and disable the Camera Driver.
I have also added some options regarding key definition to the Tweaks settings. This allows to select the keyboard driver for Typhoon/Feeler/Amadeus and also to activate the additional WMP plugin for the Amadeus.
So finally here is the share to get all: http://www.mediafire.com/?3tt15dyp4mbuu
Please hover the mouse over the download links to see their description.
Finally you may want to look at the Beginners Guide for Cooking which you find linked in my signature - this give some insight of what is happening.
Some more info on available memory (RAM) which is really tight on this device. You can roughly save RAM in the following order:
> 2MB: Don't use the sliding panels homescreen. Unfortunately this is the nicest visible sign of WM6.1/6.5 - but if you just use the "Windows Standard" Homescreen there is more than 2MB gain in RAM!
> 1MB: De-activate the Camera driver, all SDA Business users (without camera anyway) should do that!
~ 500kB: De-activate the Date/Time save driver. If you don't mind setting the date/time by hand after battery removal or have the device connected to the PC anyway with AS.
I have not noticed a gain when de-activating the Carkit driver.
For clean conditions when testing, please always reboot the device after changing settings. I noticed that even unchanged settings will not produce identical values after reboot. Tests were done with clean reboot, full initialisation of the Homescreen and then starting Oxios Hibernate.
Nobody seems to care about this old stuff anymore :-(
Mediafire has logged 19 downloads of the built ROM and 15 of the kitchen, but not a single "thanks" in the thread - if you use it, just say thanks for my motivation, please.
Anyway I have migrated the kitchen to OSBuilder which has more tweaking options regarding Kernel parameters and also gives more other control over the build.
Is anyone interested in getting the relevant OS Builder package?
You need to install OSBuilder first and can then start cooking right away after you have the package that I could publish.
In the process of dealing with the very limited amount of RAM especially for the Typhoon I had to reverse on 2 things I did in the past for the sake of squeezing ROM and RAM space. Both have adverse effects to what is initially intended. I had published and discussed this in detail in this thread. So you must avoid the following:
Cutting down the Paging Pool to the bear minimum (so the device still boots). This gets you free RAM, true - but it will cut you off the space in RAM where the code of the programs goes! So a small paging pool will actually prevent that you can run many programs, despite of the free RAM. So it is advisable NOT to cut the paging pool below 4 MB in my experience.
Using UPX to squeeze ROM space. While it works to get more data stuffed to the ROM, the resulting executable will no more be able to utilize the paging pool for its execution. The whole code goes to the free RAM and not just the currently used part in the paging pool. So by saving ROM space (or filesystem space in general) with UPX you are wasting actually RAM a lot!
Because of 2.) above I have reverted to all original packages - so no UPX anywhere in the ROM build or any related package. I had to remove a few things from the default package selection, but nothing that cannot be installed later anyway. Due to non working A2DP I have also removed that again completely.
Another find related to fixing the problem that System Volume gets reset when changing the profiles, see here: http://forum.xda-developers.com/showthread.php?t=1407883
Kitchen Updated to OS Builder, new example builds included
To those who want to get the fastest and most advanced kitchen and builds available for Typhoon. You can pick from Mediafire:
a 7Z with 4 builds to flash the device with, 2 sorts with either English or German as default language (you can change in the regional settings anyway).
a 7Z with the OS Builder Kitchen setup. Install OS Builder first (See post 3 pointing to the OSB thread), unpack the kitchen to any folder convenient, then double-click on the .osb file to fire up the kitchen.
Cooking is pretty much self-explanatory - in the end you get a OS.BIN file that can be uploaded to the device via MTTY.exe. All tools are included in the kitchen 7Z and can either be used directly from the folder or via the Tools Menu in OSB.
I have added two folders to the kitchen. One for most of the packages in their original distribution files; so if these are not in your build, just in stall them manually. The other to trace the provxml execution - which is something you may never need to do.
For the packages to select, the OSB allows to group packages to switch-groups. One of the important switch groups is the one for .NetCF. This package is the most storage hungry and so there are several ways how to deal with this in the context of the 27MB limit of the ROM:
Include the whole package to ROM: this puts all to the imgfs which is compressed with LZX - and so the total cost is ~2.9MB
Exclude the whole package and gain ROM space for any other stuff to include. You should then also exclude all .NetCF dependant tools or install .NetCF later from a CAB to get them working again. As there is one basic program (the calculator) which depends on .NetCF I have replaced this with the old WM2k3 calc.exe in case you select this package - saving another 120k. So in total you gain 3 MB in the ROM. Mind however that a later installation will eat ~1.2 MB on the FATFS in the device (Program Storage) and another 5 MB on either SD card or again on FATFS - depending on what you choose to install it to.
Include only the files that go to the device mandatory anyway, but not on FATFS when installed later but on the IMGFS, hence compressed and eating only 750k in ROM. The rest of files (the 5MB *.GAC) go then to either FATFS on the device or to the SD card. You can select this in the kitchen when building the ROM. Later you must copy these *.gac files manually to the right place. The package with these files is in the _packages folder of the kitchen.
I have done the final works on that kitchen and will not further do anything to it. You find the updated kitchen in the mediafire share of the first post. Download the file "Typhoon-OSB-kitchen-20120306.7z" there. Recent fixes are:
MMS dialogs use a smaller resource file for 176x220
Kernelflags are set to ...02 now to keep the MMS dialogs readable when you change the folders
CallerLoc is replaced by a dedicated tool (with understandable dialogs) CallVibrate
Sliding Panel background is fixed (was offset on the top-bar)
Some more tools added and instructions how to get back to WM2003 if needed
Mind that the created builds fit for any Typhoon/Feeler/Amadeus as you can switch/reboot the keyboard drivers.
Have fun and give some feedback if you created your own builds.
Candy-bar forever
SDHC on Typhoon (and Hurricane)
Hard to believe - but it is there: SDHC support on the Typhoon
No magic actually but just good luck that the Tornado driver (which is actually one form the StartTrk) for SDHC works as well on the Typhoon and Hurricane (which share the same drivers in their original builds).
You need to re-cook to get this. Related modules are attached, including the advice what to do (just 3 modules and related .rgu entries).
To get SDHC support in a cooked new build for Typhoon and Hurricane, do the following:
1.) remove the 3 modules in the ..-original folder from your OEMDRIVERS folder
2.) remove the entries from the contained original.rgu from the one in your OEMDRIVERS folder
3.) copy the 3 modules from the ..-sdhc folder to your OEMDRIVERS folder
4.) copy the entries from the contained sdhc.rgu to the one in your OEMDRIVERS folder
re-cook and enjoy
Click to expand...
Click to collapse
I have not done much testing yet, but some obvious checks have worked well.
So if there is anyone out there still owning these oldtimers: time to get them off the drawer and put some fresh fuel in - Typhoon and Hurricane make perfect music players.
Latest updated (the real final one).
Uploaded a new complete Kitchen including SDHC support and new USBFN bundled with WM5torage only (see first post). I do not recommend to use WM5torge with Typhoon - it is too slow anyway, you better get the card out and fill it external from the device with an USB reader.
now the real final one
20121003 Update (since no new posts allowed anymore):
Just to let you know: The SDHC lets the device also read FAT32 formatted SDXC cards (e.g.64 GB). It even reads more than one partition (I have 2 on my Android) and mounts both of them (32k Cluster size used).
Not sure how well the performance will be when managing data there - but reading a large music collection should be ok
So after I sold all my Typhoon devices (except a few you just cannot sell due to their physical state) - the latest small update to the kitchen.
What I have changed (diff from 20120408):
cleaned up some resource files (saving quite some space)
added icons to those which had none
made provxml tracing the same for all
added some small games (these eat the saved space from above)
added an option panel to setup the volume of VoiceTag (from my other kitchen)
made D3Demo an extra package
added the very latest NetCF 3.5 as modules in an own package
added a few more color schemes and backgrounds
patched the keyboard driver to not require a dedicated subdirectory "Keys" in \windows
patched the nk.exe to identify itself as "TYPH100" to allow better skin selection for remote access tools
renamed mtty to the correct name (was mmty.exe)
fixed the welcome.exe for the German Mui to correctly delete the welcome.lnk from autostart at first boot.
removed the _cabs folder form the kitchen. Get it from an older kitchen
Hi all, just got my O2ZPhone II (Feeler) out of the pile of goodies, would like to use it for my second phone.
The OS on it is still wm2003, trying to go for this WM65 ROM, I found that the SPL is on 1.01.0139 on this phone, which I try to go for the 109 with no luck, and mtty report error in bootloader too...
Anyone any idea on how should I get this WM65 ROM flashed to this great phone?
Thanks.
If the phone is still original, then you have to go all steps which you find in either the kitchen-tools menu or the tools folder directly:
application unlock old OS (SDA Application unlock)
apply Super CID to the phone (lokiwiz.bat, "C")
load new SPL to the phone
create new ROM (get OS Builder from the referenced thread)
upload with mtty.exe
Steps 1-3 need to be done only once per device.
I would not use the old os.bin I had uploaded as the latest kitchen can produce better ones and you have the choice what to put in or out. The default settings deliver a running build (you may want to remove the "German default" though).
thanks tobbbie, for some reason I downloaded the wm61 one, and yes with your great instructions I was able to flash that to the device and now happy using it!
(Will try the kitchen during the weekend)
Great thanks!

Weloop Tommy Smartwatch (FAQ/Updates/Hacks)

The purpose of this thread is to have all information regarding the Weloop Tommy, gathered, fresh and to the point.
(i am not affiliated with Weloop)
Please read both post number 1, 2 and search thread before asking questions thank you.
FAQ
Q:What is the latest firmware?
[Release] black watch v3.19 firmware update notifications [Copy link]
This update to the firmware update, the client does not update the current firmware version v3.18 firmware watches friends can try to use the old client detects the firmware update.
Update:
Solve watches restart, restore factory settings watches language will change.
Download Link:
iOS client 2.079: http://fir.im/iosobt
Android client 1.29.3702b: http://fir.im/andobt
Unofficial file archive of WeLoop Tommy. APK-Files with ending "b" are BETA http://www.wtf.li/
Q: When is the next app update
A: Weloop v. 3.0 will be released as closed beta 7the of March 2015 we don't know when there will be an open english release....
the extensive update 3.0 have,
better health monitoring
profiles
sleep monitoring
more alarms weekdays/weekend
and more.
(see attached pictures for app version 3.0 UI improvements
Q: What does the settings do?
- Backlight
24H: Backligth always turns on when button is pressed
Nite: Backligth turns on when button is pressed at night time (from 17–8)
Off: Backligth Always Off
- Motion
24H: Motion detection always on (backlight turns on when motion is detected)
Nite: Motion detection on at night time (from 17-8)
Off: Motion detection Off
- Night
On: Notification vibration disabled at night (from 23–8)
Off: Notification enabled at night
- O Clock
On: every whole hour the watch will vibrate. 12'O'clock etc.
Off: Off
- Fitness
On: Fitness functionality on
Off: Off
- Language
Chinese
English
- Anti Loss
On: Alarm when Phone is out of BT range
Off: Off
Q: Is there Cyrillic support
A: Yes
Q: The GoClever Ecos Chronos is the same watch right?
A: Yes it is on the hardware side, and you can with a "hack" install the firmware from the ECOS on the Tommy. (see next post for How to.!)
Awesome Weloop Review by VECTRON
http://forum.xda-developers.com/smartwatch/other-smartwatches/weloop-tommy-smartwatch-looks-best-t2864444
Troubleshooting
Q: i can not update my watch/its stuck/acting weird
Have you tried to reset the watch? there are 3 ways to do it
Restart watch from app. under update there is a restart button (it says reset but it restarts and keeps all your settings)
Reset from watch (Last menu point, this resets everything)
Hard reset (connect charge cable and press up and down button to reset)
Force OTA update:
Connect your watch to the charger. (watch must be charging)
Press all 3 buttons on the side simultaneously
Release the 2 side buttons, and keep the middle button pressed until you get the upgrade connecting display. (this might take some seconds)
Delete connection from phone
Connect and pair from app and upgrade
If you are on an Android device and it cannot connect, try an ios device, and vice versa
Q: The watch keeps switching back to chinese
More people have experienced that if the language is non english the watch will reset to chinese. Changing the phone OS to english stops the watch from switching to Chinese.
"Hacks"
How to make your own watchfaces:
user fcsabika has created a cool tool to create your own watchfaces
WeLoop Tommy Watchface Creator
attached are also some watchfaces made by user ruicoel filename "project rui.zip"
How To install GoClever Chronos ECO firmware on Weloop tommy (android only)
Download latest ECO firmware to phone
Disconnect Watch from phone, install ECO app
Go to “Check For Upgrade”
Tap on the middle circle six times
“Select a firmware file___ [Browse]”
Watch must be in forced OTA
Update watch.
You can flash between weloop and Goclever firmware (always be careful and follow instructions when flashing, i take no responsibility for bricked or exploding watches...)
To install weloop firnware, follow same instructions but use weloop app instead.
PROJECT OPEN FIRMWARE (please make sure you understand what this is and what it does before you attemtp to flash your watch)
Make a Weloop Tommy an open source sport watch that can be used without a mobile phone. Want to see a heart rate when running, cycling speed and cadence when cycling or number of laps while swimming? Help to make it possible! LINK
This project is divided into six phases:
Phase 1: find out and document watch pinout so it will be possible to communicate with screen, accelerometer and a flash memory from a custom firmware. DONE
Phase 2: write a custom firmware that will print sample text on a screen and expose a BLE service. Firmware will be flashed using SWD connector. DONE
Phase 3: make it possible to upload a custom firmware using OTA. This will save the waterproof case from destruction. DONE
Phase 4: update softdevice to the newest version (S110 8.0.0). Add possibility to switch to other softdevice (S120/S130) DONE
Phase 5: create a "terminal" firmware that allows to control what is displayed on a watch from an android/iOS app. IN PROGRESS
Phase 6: create a "standalone" firmware using S130 softdevice that can connect to external sensors (HRS, CSCS etc) without a phone. TODO
Go support developer Krzysiek
Goclever APK & FW file is attached to this post.
Latest Chronos ECO firmware 3.18
http://www.chronos.goclever.com:8080/fileServer/firmware/CHRONOSECO_V3.18_1.bin
Chronos ECO app (android)
https://play.google.com/store/apps/details?id=com.yf.foreign.goclever
Chronos ECO IOS app
https://itunes.apple.com/th/app/goclever-chronos-eco/id955306578?mt=8
BUGS & Annoyances
Notification not always deleted from phone when deleted on watch
Watch freezes sometimes
Being able to set the night time manually would be great (This can be done with the Goclever fw)
I'm no Dev so I'm not sure if this is of any help. While updating the watch I wanted to ensure my screen stayed on so I was tapping the screen.
If you tap the center of the percentage 6 times a pop up appears for you to select your update file. If you select browse it gives you access to a bunch of folders that appear to be inside the app or maybe the watch itself. I tried it several times and 6 is the magic number to make the option appear or disappear. It doesn't work if the watch isn't upgrading it's firmware.
Hope it can be of some use
skiiermike said:
I'm no Dev so I'm not sure if this is of any help. While updating the watch I wanted to ensure my screen stayed on so I was tapping the screen.
If you tap the center of the percentage 6 times a pop up appears for you to select your update file. If you select browse it gives you access to a bunch of folders that appear to be inside the app or maybe the watch itself. I tried it several times and 6 is the magic number to make the option appear or disappear. It doesn't work if the watch isn't upgrading it's firmware.
Hope it can be of some use
Click to expand...
Click to collapse
Thanks was this working on ios or android?,
will add to FAQ
taleboblen said:
Thanks was this working on ios or android?,
will add to FAQ
Click to expand...
Click to collapse
Android.
Thx
Thnx for the information, all working ok on my samsung s4, get the last version v3.18.
thx again
backlight
first of all thanks for this thread :good:
the nite backlight on my tommy watch actually comes on after 5PM (17:00)
i am from Slovakia, phone language is English, time zone CET (GMT+1)
interesting to see that yours turns on after 23:00
chsustik said:
first of all thanks for this thread :good:
the nite backlight on my tommy watch actually comes on after 5PM (17:00)
i am from Slovakia, phone language is English, time zone CET (GMT+1)
interesting to see that yours turns on after 23:00
Click to expand...
Click to collapse
Thanks for the update. i decrypted some of the information from the official Weloop FAQ. and yes i can now confirm that you are right. it turns on from 17-8 thanks again. I have now updated the FAQ with the correct time for all Night settings. :good:
Hello! Can someone make last CHRONOS ECO apk link to download? I cant download it from google play.
k0ra said:
Hello! Can someone make last CHRONOS ECO apk link to download? I cant download it from google play.
Click to expand...
Click to collapse
Hi , the chronos eco app is not compatible with the Weloop Tommy.
Brand new Tommy, it was paired with my phone but the connection was unstable, so I tried and forced an OTA update, watch is "Updating... 0 pct" but now the phone cannot detect the watch any more
Resetting the watch will restart it in ota update mode again!
Any help appreciated...
l.capriotti said:
Brand new Tommy, it was paired with my phone but the connection was unstable, so I tried and forced an OTA update, watch is "Updating... 0 pct" but now the phone cannot detect the watch any more
Resetting the watch will restart it in ota update mode again!
Any help appreciated...
Click to expand...
Click to collapse
Happened to me also, try to delete connection under bluetooth settings on device. now connect to to weloop and pair from Weloop app. keep trying and then go to update. again persistence is key. keep trying to update suddenly it will connect and update.
Whas the watch on latest firmware when you tried the force OTA?
are you on android or ios see if there is an updated App for you phone. see link on OP for beta APK.
let me know if it works.
watch was not on latest firmware, cant' remember which version it had.
I'm on android, also v1.24 does not help as check for updates does not go beyond "Checking version...".
k0ra said:
Hello! Can someone make last CHRONOS ECO apk link to download? I cant download it from google play.
Click to expand...
Click to collapse
l.capriotti said:
watch was not on latest firmware, cant' remember which version it had.
I'm on android, also v1.24 does not help as check for updates does not go beyond "Checking version...".
Click to expand...
Click to collapse
Try to update the Weloop app, latest is 1.27.
kill weloop app
delete bt connection from phone.
Open weloop app
conmect and update. Keep trying it can take a couple of times.
If all fails if possible try with other device and or ios device
update: I used an iphone and after a few retries I got it on v3.18.
back to android, but the pairing and the sync is problematic, to say the least, on my Huawei P7...
skiiermike said:
I'm no Dev so I'm not sure if this is of any help. While updating the watch I wanted to ensure my screen stayed on so I was tapping the screen.
If you tap the center of the percentage 6 times a pop up appears for you to select your update file. If you select browse it gives you access to a bunch of folders that appear to be inside the app or maybe the watch itself. I tried it several times and 6 is the magic number to make the option appear or disappear. It doesn't work if the watch isn't upgrading it's firmware.
Hope it can be of some use
Click to expand...
Click to collapse
If it's allowing you to select an update file, surely it is showing you the file system of the phone? Otherwise, you'd have no way to put a firmware update file there to select. My understanding would be this allows you to install a firmware update file stored on your phone, although I can't test this for sure as my Android phone is currently being repaired. There's some discussion about this here and that thread also contains a very small amount of analysis on the firmware file (VERY small amount, basically just analysing the name of the binary file), and another app that is apparently in some way related (link).
For what I can glean from the description of that app (seemingly made by the manufacturer of the SoC [System on a Chip] used in the WeLoop Tommy), it would appear that devices using the SoC (including the Tommy) have three firmwares: "bootloader", "soft device" and "application". The one embedded within the WeLoop app apk has the name "ble_app_ancs.bin"; ble stands for bluetooth low energy and ancs apparently stands for apple notification centre services. That leaves "app" - my guess would be this is the "application firmware". I'm not entirely sure the roles of the "bootloader" and "soft device" firmwares, but my guess is the one or other allows the device to get into "DFU mode" (or "OTA mode" as it seems to be referred to also), meaning in theory it should perhaps be possible to recover from any bricks arising from flashing dodgy application firmwares.
So potentially there is the option of reverse engineering the firmware (easily obtained from here: http://wtf.li/ - mirror of the APKs of the app [each of which contain a version of the firmware], and also one version of the firmware (the .bin file) separately), and creating a custom/modified one, while still being able to recover (because bootloader & soft device should be untouched). However, I have neither the expertise nor the time to look into that.
Without an Android phone with which to run either of the apps right now, I can't poke about too much (I only received my Tommy today), but once I get my phone back I'll maybe try and see if I can find anything else interesting. I'd like to see if I can figure out any way to get access to the watch faces, and see if they can be reverse engineered in any way, for example.
EDIT: Here is the output of strings run on the firmware binary from the latest version of the app on http://wtf.li : http://pastebin.com/X7TQXTb3 - nothing particularly interesting, a few filenames of the source files and a few other strings seen in the watch interface and stuff.
EDIT: A couple of URLs accessed by the app (seemingly related to updating):
http://au.umeng.com/api/check_app_update
http://www.yfsmart.com/weloopInterface/getFirmware.do
I can't see anything on these sites, my guess would be they need query strings parameters or something (not really sure what, some way of identifying that the app is accessing the site) to actually do anything.
EDIT: Hmm... http://www.yfsmart.com/weloopInterface/firmware_Upload.jsp - this site seems to allow you to upload a firmware. I wonder if it allows anyone to upload a firmware, which would then be downloaded by everyone when they check for updates? Certainly seems rather insecure...There's a bunch of other pages at http://www.yfsmart.com/weloopInterface/ haven't looked through them all yet.
EDIT: From what I can glean from this page ("SoftDevices" section under the "Development Tools and Software" tab), it seems like the "soft device" firmware is essentially a bit like a library, it's a precompiled binary supplied by Nordic (company that makes chip inside Tommy) which provides all the networking functions etc. which the "application" firmware uses. So:
Code:
application = front end UI (basically, the part WeLoop made)
soft device = "library" via which application can access hardware etc.
bootloader = initial part of firmware that loads SD + app firmwares
So the only really interesting part is probably the application firmware, the part that is in the WeLoop app. That's the code that actually "matters", the rest is just low level stuff. For actually changing the interface or whatever, modifying the app firmware would be all that's needed (for example, to increase the font size or the back light duration etc.).
SifJar said:
If it's allowing you to select an update file, surely it is showing you the file system of the phone? Otherwise, you'd have no way to put a firmware update file there to select. My understanding would be this allows you to install a firmware update file stored on your phone, although I can't test this for sure as my Android phone is currently being repaired. There's some discussion about this here and that thread also contains a very small amount of analysis on the firmware file (VERY small amount, basically just analysing the name of the binary file), and another app that is apparently in some way related (link).
For what I can glean from the description of that app (seemingly made by the manufacturer of the SoC [System on a Chip] used in the WeLoop Tommy), it would appear that devices using the SoC (including the Tommy) have three firmwares: "bootloader", "soft device" and "application". The one embedded within the WeLoop app apk has the name "ble_app_ancs.bin"; ble stands for bluetooth low energy and ancs apparently stands for apple notification centre services. That leaves "app" - my guess would be this is the "application firmware". I'm not entirely sure the roles of the "bootloader" and "soft device" firmwares, but my guess is the one or other allows the device to get into "DFU mode" (or "OTA mode" as it seems to be referred to also), meaning in theory it should perhaps be possible to recover from any bricks arising from flashing dodgy application firmwares.
So potentially there is the option of reverse engineering the firmware (easily obtained from here: http://wtf.li/ - mirror of the APKs of the app [each of which contain a version of the firmware], and also one version of the firmware (the .bin file) separately), and creating a custom/modified one, while still being able to recover (because bootloader & soft device should be untouched). However, I have neither the expertise nor the time to look into that.
Without an Android phone with which to run either of the apps right now, I can't poke about too much (I only received my Tommy today), but once I get my phone back I'll maybe try and see if I can find anything else interesting. I'd like to see if I can figure out any way to get access to the watch faces, and see if they can be reverse engineered in any way, for example.
EDIT: Here is the output of strings run on the firmware binary from the latest version of the app on http://wtf.li : http://pastebin.com/X7TQXTb3 - nothing particularly interesting, a few filenames of the source files and a few other strings seen in the watch interface and stuff.
EDIT: A couple of URLs accessed by the app (seemingly related to updating):
http://au.umeng.com/api/check_app_update
http://www.yfsmart.com/weloopInterface/getFirmware.do
I can't see anything on these sites, my guess would be they need query strings parameters or something (not really sure what, some way of identifying that the app is accessing the site) to actually do anything.
EDIT: Hmm... http://www.yfsmart.com/weloopInterface/firmware_Upload.jsp - this site seems to allow you to upload a firmware. I wonder if it allows anyone to upload a firmware, which would then be downloaded by everyone when they check for updates? Certainly seems rather insecure...There's a bunch of other pages at http://www.yfsmart.com/weloopInterface/ haven't looked through them all yet.
EDIT: From what I can glean from this page ("SoftDevices" section under the "Development Tools and Software" tab), it seems like the "soft device" firmware is essentially a bit like a library, it's a precompiled binary supplied by Nordic (company that makes chip inside Tommy) which provides all the networking functions etc. which the "application" firmware uses. So:
Code:
application = front end UI (basically, the part WeLoop made)
soft device = "library" via which application can access hardware etc.
bootloader = initial part of firmware that loads SD + app firmwares
So the only really interesting part is probably the application firmware, the part that is in the WeLoop app. That's the code that actually "matters", the rest is just low level stuff. For actually changing the interface or whatever, modifying the app firmware would be all that's needed (for example, to increase the font size or the back light duration etc.).
Click to expand...
Click to collapse
Thank you for the insights and findings its all very promising. :good:
On a sidenote:
I talked to one of my colleagues who is an engineer (i'm not a dev but a Designer), it seems like we in the office are playing around with the exact same SOC from NordicSemiconducter. we tried one of the apps from the google play store and it connects to the weloop(see attached pic). The app was called "nRF Master Control Panel", tried the other apps from NordicSC but no luck.
Hopefully there will be some sort of SDK with the v3.0 release on the 30th...
I got my Android phone back today, and haven't tinkered too much with Tommy just yet, but I can confirm that the file system you are browsing when you tap the percentage 5 times during an update is just the phone file system. It browses from root (i.e. /), rather than /sdcard or whatever, which is the standard, user accessible partition, hence there are some folders etc. you may not recognise, but amongst them will be "sdcard" which will take you to your regular storage (note: this is the case on phones without a micro SD card as well), where you could easily place an update file.
SifJar said:
I got my Android phone back today, and haven't tinkered too much with Tommy just yet, but I can confirm that the file system you are browsing when you tap the percentage 5 times during an update is just the phone file system. It browses from root (i.e. /), rather than /sdcard or whatever, which is the standard, user accessible partition, hence there are some folders etc. you may not recognise, but amongst them will be "sdcard" which will take you to your regular storage (note: this is the case on phones without a micro SD card as well), where you could easily place an update file.
Click to expand...
Click to collapse
Thanks for the confirmation. :good:
taleboblen said:
Troubleshooting
Force OTA update:
Connect your watch to the charger.
Press all 3 buttons on the side simultaneously
Release the 2 side buttons, and keep the middle button pressed until you get the upgrade connecting display. (this might take some seconds)
Delete connection from phone
Connect and pair from app and upgrade
If you are on an Android device try an ios device, and vice versa
Click to expand...
Click to collapse
I tried to use the OTA update to go from 3.17 to 3.18 (on Android) but Tommy stuck on screen "WeLoop ... Udating 0%", my smartphone (HTC M8) with its APP (latest version) dont find the Tommy and it remains bricked, how do I restart it? I tried all combinations, but remains on the screen, help me!

Categories

Resources