Im stuck in firmware update?

@nimble99 thanks for posting your fix using tcptrace, the problem is that I am not sure how to make the DNS changes you mentioned. Is there any page anywhere that shows the steps for a tcp-dummy like me? Thanks in advance for your help!

I am having the same problem with one of my Imp. Firmware update was triggered. The light blink green for a while, then went off. No confirmation on whether the update was successful. I assumed the light stopped blinking indicated that the update was done.
Reboot the imp and it got into the firmware update loop again.

Update:
After about a dozen tries. Plugging and unplugging the Imp and wait for about 5 minutes on each attempt, my Imp finally gave a message that it successfully updated firmware.

Solid red should never be seen (outside of some factory procedures for commercial users) - if you have an imp behaving like this then we’ll replace it and analyze the returned one.

If you have one misbehaving like that, then please email us at info@electricimp.com

@Hugo, thanks a lot for your answer. Indeed the imp I tried on 3 different wireless networks shows solid red on each network after it gets connected, while trying to download the firmware. I will email as you requested.

However, as I mentioned before, I got several imps in the same order so before I will email, I will open a couple more and see if they behave the same - just thinking that somehow I ended up with some imp that were destined like you said for commercial use.

Thanks a lot for your reply, I thought there is nothing I can do about this imp, I really appreciate your help!

Can you tell me the mac address of the one you have confirmed you have problems with? I’d be surprised if you had problems with multiple ones, as solid red is sounding more like an imp issue than a network issue given you’ve tried several routers.

The mac address of this one is 0C:2A:69:02:31:5F

Hi Merlin - sorry for the late reply.
If you want to hijack the domain name for the imp update server, there are two ways to go about it.

  1. If you have a router where you can edit the DNS, something like Tomato with DNSmasq, you can edit the config in there. Basically you are telling your router to send everyone on your network (who requests the update server host name) to the IP address of a computer on your network. There are so many routers out there I can’t possibly cover them all - you should be able to find tutorials on the net.

  2. (this is probably easier) Connect your computer to your router with ethernet, then “share” your internet connection from your computer over Wi-fi. Then connect your Imp to your computer’s WIFI, instead of your router’s. Now your computer is acting as a router. All you need to do now is reconfigure your computer’s local DNS. If you are on a Mac, then edit the file “/etc/hosts” (you will need to be root), and add a line like

192.168.1.5 upgrades.electricimp.com

Obviously, change the “192.168.1.5” with the ip address of your computer where you are running your tcp relay tool.

If you are on Windows, then edit (I think, from memory) c:\windows\system32\drivers\etc\hosts
and add a similar line.

basically, your imp will connect to your computer’s WIFI - and ask for the IP address of upgrades.electricimp.com, you computer will look in the HOSTS file that you just edited to see if the IP has been overridden, if so, it returns a local ip address.
The Imp will then connect to your local computer and try to grab the firmware.

You should have a TCP relay tool running on that target computer, listening on port 80, and relaying to upgrades.electricimp.com - port 80.

And that fixed it for me.

We’ve replicated the issue in-house now, by simulating a very slow network (which I know not all the users seeing this have had, but…), so that’s a good first step on the road to fixing it.

Thanks a lot, @nimble99 for this awesome post.