Howto update to 01.01

mattjm
Posts: 3
Joined: Thu Sep 29, 2016 1:33 am

Re: Howto update to 01.01

Postby mattjm » Mon Sep 18, 2017 12:28 am

My hub bricked on the last update. It was rooted at one point, but I started updating via the app and gave up on root somewhere around version 3.4 But...I tried to update a couple months ago and it bricked. The symptoms were it would boot normally, then the LED would go solid yellow (not a documented state). I was able to regain access via serial and restore it to version 2.68 using a cf_url and cf_cert file I found online. But updates via the app continued to result in the bricked, solid yellow state. Looking at the logs from updating via the app, it seems the error was "failed to format flash" or something like that.

I found out that when I trigger updates via the app, it updates cf_url and cf_cert to the contents needed to update to the latest version. I was able to get the contents of these files and then update via the command line. I've outlined the steps below, in case someone else has experienced this. This procedure doesn't maintain root--you may or may not be able to maintain it by following some of the other instructions on rootwink.com. This will work from version 2.68 and get you to 3.9.4. It will probably work for other versions, too. (Test from 2.68 because that's what I was able to find a cf_url and cf_cert for to get it back to a working state)

This was the procedure to fix:

1. re-establish root through UART pins. Set a root password or authorized_keys file.

2. Reboot normally and log in as root.

3. command line:

Code: Select all

sed -i 's/reboot/#reboot/g' /root/platform/*.sh


(command borrowed from rootwink.com post). This just stops the scripts from rebooting automatically after they run.

4. Put the following contents in /database/cf_url:

Code: Select all

sw_pkg_url=https://hub-updates.winkapp.com/wink-hub/3.9.4-0-gc59efe4ee8-hub-app-7c6bb7d1-d7d5-114a-c368-5c4d14a3185e/upgrade_manifest.txt
md5_manifest=3311d5788940a4ad76fd0e585533d7b0


5. Put the following contents in /database/cf_cert:

Code: Select all

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAumZE0qsNgtTQNCOhqx8+
+3DQG33HIvgqdPJ9qa4A9rdtuTADJ3FUnO53+EQYFuZaZ8RK76DQddtqCUzRyra7
JI9RTXxYX4VWxTMEfKMoi2R79BFPOXg61Q3ZCZ4RP2gz1Mkso59ULNziLmeSQwSK
udeTSmkcLUql9Ygtx8iro+JiFBr6wwyLFm+KblkRvk7aYjctdJvGOGUfoYKyKQJz
5mXQiHoCqpkqdNL436paQjsxIdcEqu+iRl8n2BIgDqxHg1ZTdiNe6NIyohkaG97r
Rfzv2LZQ9zgfdQfGArwc9B+AGyKFJ4FgW0SdCmZSNrpqoEVCS1Xuw8QLe6oraMuC
MwIDAQAB
-----END PUBLIC KEY-----


6. Note cf_url and cf_cert don't generally exist unless you've triggered an update through the app. If you want a newer version, you can log in as root and trigger the update through the app (first run the sed command above to prevent reboot)--you can cat cf_url and cf_cert to get the contents, then run this procedure again. If you trigger an update through the app you'll have to let it fail and then start this procedure over.

7. command line:

Code: Select all

/root/platform/upgrade.sh

You should see the standard update stuff scrolling by

8. Manually reboot

9. On reboot some additional updating should happen. Then you should get the solid blue light with version 3.9.4


Return to “Upgrade to current firmware maintaining root”

Who is online

Users browsing this forum: No registered users and 1 guest