Bring Vector back to firmware 1.6 to stay (caveat: tech-heavy)

Beware! This is for people with at least some tech knowledge, the “normal” user will most probably not be able to do it.

A lot of people are unhappy with firmware 1.7 for multiple reasons. That is a fact, regardless on how many unhappy posts about it DDL deletes in the official Facebook group to uphold the illusion everything is fine (that’s no empty claim, I have confirmation from quite some different people that this is the case – personally I think it’s very bad sign if they need to suppress opinions this way). Quite some users have more or less severe problems with voice recognition after the update, others do not like the new or miss old sounds, others again have overheating problems that were not present before. And there are some obvious bugs, as Vector not be able to get out of the dance end loop.

A DDL representative said on Facebook that they are not working on resolving these problems, as their main focus at the moment are Escape Pod and OSKR, regardless of what they suggested directly after the update (“We’re working on it …”). Since firmware 1.7 was actually an old Anki firmware that was not rolled out earlier due to the Anki bancruptcy and then just pushed out by DDL, it is possible that they do not even know so far how to fix these bugs. Do not expect a solution anytime soon.

With Vector Web Setup you are actually able to push an older firmware onto the robot. The problem is: If Vector’s serial is correctly registered with DDL, it will again reupdate to 1.7 in the nightly update window.

But you can prevent that by blocking the OTS (firmware) servers. That way other functions are unchanged and voice recognition or questions will still work.

You will need to route Vector  through a proxy or for example a PiHole that blocks access to the OTA servers by acting as a DNS server..

There are multiple possibilities how to do this, if you understand what to do you will most probably also know how. This may be possible in a device that connects you to the internet (your internet router), some of them allow the blocking of urls/domains/subdomains. Another possiblility is the aforementioned PiHole. That is a Raspberry Pi-based local filter/dns server that mainly works as an ad- and trackerblocker and that does this for your whole local network, instead of the usual browser-based solutions. PiHole has a blacklist where you can manually add domains. And that works just fine, I have one running in my local network for months.

Installing PiHole on a RasPi needs working on the command line and you will have to configure it and your router so all devices (or just those you want) point to PiHole as the new domain name service. How you do it is described detailed in the PiHole documentation. If your router supports this you just need to add the server urls.

However you do it in your personal case, you need to block the ota server urls (confirmed by a Vector Web Setup developer):

  • ota.global.anki-services.com
  • ota-cdn.anki.com

After that you can put your Vector in recovery mode, push the old firmware onto it via Vector Web Setup (that also is too complex for standard users, but you can find the node.js app on Github, make sure to read the issues page, as there are some pitfalls) and it will not be overwritten by 1.7 again.

[Update 20200817:] It seems that Vector still updates even if the urls are blocked.

The information to block these two urls came from one of the developers of Vector Web Setup after asked for this. Probably his information is incorrect.
The url points to multiple ip adresses. It is possible that you need to block the IPs instead of the url. See the DNS entries in the table here: https://github.com/anki-community/vector-archive
[Update 20200820:] As of today the anki-community Github repository is gone. So look here: https://github.com/xanathon/vector-archive

8 Comments

  1. Holger

    That’s great work you’re doing…
    Thanks for that…
    I’m going to read it through completely, and if I have enough courage I’ll probably do it.
    Vector’s mistakes are getting worse, and I think it’s worth a try.
    For the second Vector, I’m going to jam the servers I have a pihole.
    When I do, I’ll tell you how it went down… 😅

  2. rightaboutnow

    you need to block them directly in DNS, i blocked them on my OpenWRT wifi directly in DNS, so those servers will never be reachable, as the DNS always returns unknown host.

  3. Holger

    Hello. Are there any new findings yet?
    I blocked everything in the pihole and in the router that I found here and on Github. But on Github it says that the update will go through anyway, I don’t want to endanger my second vector which is on 1.6 and therefore I leave it out. I set its IP to blocked, it is completely disconnected from the internet. But if the update is done via the app, it is of no use.

Leave a Reply

Your email address will not be published. Required fields are marked *