===== How to Update a Command Hub Plus ===== The Command Hub Plus is a small WiFi router than runs the OpenWRT software. We customise it so that it can host its own versions of Scratch, some learning resources, and some other useful tools for Marty. We do some initial configuration, and we put a bunch of Marty specific files on a microSD card which goes into the command hub. To update your command hub, you will normally just need to update the files on this SD card. If you're creating a command hub from scratch, or if it's a serious update, there are a couple more steps. Also, if your hub is running an older pre-version 2 release, you'll need to do a complete reinstall to update. The version will be at the bottom of the hub page if you have v2.0.0 or more-recent, and on the older hubs isn't shown. We'll walk through both processes here! ===== Simple Update (from v2 or newer) ===== ==== Step 1: ==== **Get the microSD card from the Command Hub** Make sure the command hub is turned off, and take the microSD card out by carefully pushing it inwards and letting it spring back out. {{ :martyv1:support_faqs:technical:command-hub-sdcard-800x600.jpg?600&direct }} ==== Step 2: ==== **Put the microSD card into your computer** You may need an adapter to convert to full-size SD card, depending on what slots your computer has. If you don't have an SD card reader at all on your computer you can pick them up off Amazon for a pretty reasonable price. ==== Step 3: ==== **Download the most recent Command Hub files** All releases for the command hub will appear on the Robotical GitHub site at [[https://github.com/robotical/OpenWRT-HubPlusConfig/releases]]. For an update, you need ''hub-update.zip'' and ''hub-update.zip.sig''. For example: {{ :martyv1:support_faqs:technical:selection_213_hsmsm1.png?600&direct }} You can also downgrade your hub by picking an older release. ==== Step 4: ==== **Copy the files onto the SD card** Copy across the hub-update.zip and hub-update.zip.sig files to the top-level of the SD card. Don't extract the zip. If you have an older version of software on the card already you'll see it there, it's fine to leave this in-place. ==== Step 5: ==== **Eject the SD card and put it back in the Command Hub** Once copying has finished, safely eject the SD card like you would with a USB drive, and then put it back in the command hub. Be careful with the micro SD card, it only goes into the command hub one way. If it doesn't feel like it wants to go in, don't force it! ==== Step 6: ==== **Done!** Power the hub up - it'll take longer to boot than it usually does, as it applies the update. you can check that the update was successful by checking that the version number at the bottom of the Hub home page has changed. If you're a developer, go to [[https://github.com/robotical/OpenWRT-HubPlusConfig]] for more technical info and the most recent source code. ===== Full Re-Install / Update to v2.0.0 ===== This process can be necessary if there has been a major new feature added, or if you've bought an OpenWRT router off the shelf and want to turn it into a command hub. For instructions on Factory Resetting a Command Hub [[https://userguides.robotical.io/martyv1/support_faqs/technical/reset_command_hub|read this guide]] ==== Step 1: ==== **Get the files onto an SD card** The process is similar to the one above. Instead of the ''hub-update.zip'' and ''hub-update.zip.sig'' files, you need just the ''OpenWRT-HubPlusConfig-vN.N.N.zip'' file. Extract it on to the SD card, making sure that the SD card's top-level folder looks like this (the version on the folder can change): {{ :martyv1:support_faqs:technical:selection_215_1wfdj93.png?600&direct }} Make sure you don't have the contents of the ''2.0.0'' folder extracted in to the top-level of the SD card, which won't work - you need the whole folder. Put the card in to the router and turn it on, waiting for it to finish booting. ==== Step 2: ==== **Make sure you have an SSH client** If you know what an SSH client is, you probably already have one. If you don't, it's very straightforward to get one! If you're on Windows we'd recommend the PuTTY SSH client. If you're on a Mac or Linux (including on a Raspberry Pi), you'll already have one built in to your terminal. ==== Step 3: ==== **Connect to the Command Hub WiFi** Turn on the command hub and wait for it to finish booting (three white lights will be on on the front) If you're updating a command hub, this will mean connecting to one of the "RoboticalHubPlus" networks as normal. If this is a new command hub, you will see a GL-AR750 network - the password for that will be ''goodlife'' ==== Step 4: ==== **SSH to the Command Hub** The address will be the Command Hub's IP, usually 192.168.8.1, the username will be root, and if you're asked for a password it should be martyrocks If you're using Linux, in a terminal window type ''ssh root@192.168.8.1'' If you're using PuTTY in Windows, put the IP (192.168.8.1) as the address, click connect, and enter the username and password as prompted. If a Window appears saying The server's host key is not cached in the registry... then just click **No** ==== Step 5: ==== **Run the Install Scripts** First, change directory to the SD card, by typing cd /mnt/sda1/2.0.0 # replace 2.0.0 with the correct version number and then press **enter**. Then type ./install.sh Press Enter, which will run the install script! === Setting a Password === If the Command Hub already has a password, there's no need to do this step! If this is a new Command Hub, it's a good idea to set a root password. This is the system password, not the WiFi password. Type passwd root -d martyrocks And press Enter. You can change ''martyrocks'' for a different password if you'd like, but make sure you don't forget it as you'll need it to log into the command hub in the future! ==== Step 6: ==== Reboot the Command Hub Type reboot && exit into the terminal and hit Enter. Wait for booting to finish (so the three white lights on the front are on), then look for WiFi networks called "RoboticalHubPlus-2G" and "RoboticalHubPlus-5G". Connect to one of those, using the password ''martyrocks'', and check that everything has worked by loading up the command hub page in the usual way and trying it out. And that's it done! Any questions, let us know at support@robotical.io and we'll get back to you!