Greetings,
If you buy a Yun that needs upgrading, as mine did, there are a host of issues that might happen, but the documentation dealing with them is scattered across pages and forum posts.
It might be helpful to consolidate this in one place - most likely on, or one jump from, http://www.arduino.cc/en/Tutorial/YunSysupgrade.
Respectfully, I did find everything needed to make it happen. And Kudos for the good documentation! But I had to hunt a fair amount to get the upgrade to work - seems a bit bumpy for something as significant as blowing in new firmware.
E.g how do I find out which version I have? And are we talking about the Linux version, or just the openWRT stuff? (Was unclear to me at first.)
Say from an SSH into the board:
- uname -a
- cat /etc/arduino/openwrt-yun-release
Well - oops - uname shows only the linux version, but openwork-yun-release is only a date, not a version number - so the doc perhaps should say that the latest is the one dated "xx-xx-xxxx," or at least link there to change logs so we can determine which is the latest - or may be better, tell us the +svn number (see below). As of 5June15, the download page clearly says openwrt version 1.5.3, but where and how do we query that number from the board itself?
Ahh … you have to do this - but from the Web Console:
- http://arduino.local (replace 'arduino' with whatever you've named yours --- also not so clear).
- click configure,
- enter pswd,
- then click advanced configuration panel (luci)
and * viola * the page / tabs come up as "Status" and "Overview" - well done - but it would be lovely to read that at the very beginning of the YunSysUpgrade page!
Mine shows:
- Firmware Version OpenWRTYun Attitude Adjustment 1 / LuCI 0.11 Branch (0.11+svn10537)<-- but there's no date nor a version number! (I know mine was +svn9964)
- Kernel Version 3.3.8 <-- that'd be Linux kernal, of course, not the wrt version.
If you've already set up and run your Yun before upgrading, there are other things that can happen, immediately after the upgrade. I think I'm not the only one who would like to try out their new Yun before dorking with its firmware innards :))
The suggestion of loading up the YunSerialTerminal sketch before doing the upgrade is wise - at least you can see what it is doing. [ (*1) BTW, the WLAN LED didn't blink once during the upgrade. ]
I'm OS agnostic, using Mac, Linux, Winderz all day long. But I like doing these tasks on my Mac, so I encountered a problem after the upgrade, trying to SSH in, similar to what this user posted:
Most Mac users have RSA set to strict, so the known_hosts file (Located in a hidden folder at /Users/{YourUserID}/.ssh/known_hosts) will contain the key previously set in place when you first connected to your Yun via SSH --- when you tell it to say "yes" to an unknown key.
The upgrade resets your board as if it were new - but does not necessarily reset your computer's data about the board that it knew before! The basic routers most of us use will (re)assign the same IP address. And most of us would (re)name our Yun to the same name, so we don't loose our minds. BUT now, on the Mac at least, that dang known_hosts file has a mismatch … and when you try to SSH into the board, using ssh root@myNamedArduino.local, or even directly like ssh root@192.168.1.78 (my specific case only), you will not get in because the keys don't match.
You have to either manually delete the entire line in the known_hosts, or use the cumbersome key replacement tool - but the user has to know how and where to find that file (see forum link above).
I assume most Mac users who would like to work with the Yun would already know some unix/Linux - including hidden files - but this particular thing is sort of obscure.
(*1) The WLAN LED on my board has never flashed once at all, not during boot, not while connecting or connected via any W/LAN, SSH, nor during or after the upgrade. (Maybe that part of my board is just faulty?)
Thanks so much for all your hard work!
Arduino Rocks!
- Howard in Florida