Updating TCS WiFi Devices Using JMRI PanelPro
This page will teach you how to use JMRI PanelPro to manually update the firmware on a TCS WiFi-enabled Throttle. This procedure is the same for any operating system, but currently applies primarily for users who are on Mac or Linux which currently do not have support for TCS D.E.P.O.T.
Prerequisites
- The firmware file for your device must be available on the computer you will be using to update.
- JMRI must be installed on the computer, and should be the current version, or at the least reasonably recent.
- You will need a WiFi access point connected and paired to the computer and the device you are updating.
To search for and download a firmware file for your product, CLICK HERE.
Note: It is recommended that you copy or move the firmware file into the JMRI profile, since this is where PanelPro will default to when looking for firmware files. For example:
Windows - C:\Users\[yourusername]\JMRI\[yourJMRIprofilename.jmri]
MAC - [yourusername]/Library/Preferences/JMRI/[yourJMRIprofilename.jmri]
Procedure
- Ensure that there is no TCS/LCC command station connected to the same WiFi network you are using to update your throttle. There must be no openmrn hubs running on that network (either on the current computer, or in a Virtual Machine, or on another computer on your network) -- if you don’t know what these words mean, you are probably fine. It is recommended that you also shut down any active JMRI WiThrottle servers. Your computer must be connected to the WiFi network you want to use for updating your throttle. If you are already controlling your layout via this WiFi and JMRI, you can skip to Step 3.
- If your device is NOT connected to the same network:
- Boot the throttle normally
- Navigate to the Network Settings menu
- Connect the throttle to the correct network
- Power down the throttle
- Once your device is connected to the same network, simply power on the throttle and press 7 at the startup prompt (instead of 2) to enter Bootloader mode.
- Wait to connect to WiFi. Do not do anything during the following phases (about 30 sec).
- Connecting to LCC (a)
- Connecting to LCC (m)
- Connecting to LCC (h)
- The throttle should report “No LCC server connection”
- Start PanelPro.
- If this is your first time using JMRI to update a throttle, go through the section below for Setting up a New Profile in PanelPro.
- If you have configured a profile in the past, but received an error during the startup, click the Edit Connections button and skip to Step 9 of the section below for configuring a JMRI profile. In most cases the IP address of the throttle has changed and needs to be corrected.
- If you select the throttle update profile and JMRI connected without an error message and see that the LCC menu is displayed, you are good to go.
- From the main PanelPro window open the LCC menu and click Firmware Upgrade. The following window will pop up:
- In the Target Node ID field, select the Node ID for your throttle (also shown on the throttle screen)
NOTE:TCS devices will share the same preamble: 09.00.99.(…)
- To load the Firmware file, click the Select button, and choose the desired “.bin” file.
NOTE: This file may be located in your Downloads folder. If you copied the file into your JMRI profile folder, it should show up immediately without any need to go find it.
- Click the Load button and wait for the process to complete. You can see the progress bar in the dialog. The throttle will reboot automatically into the new firmware when done.
To flash another throttle, you MUST quit PanelPro and start over from Step 2.
Setting up a new PanelPro Profile for Your Device
- Start JMRI PanelPro
- When prompted to select a profile, click “New…”
- Enter a name for your profile, such as “UWT-100 Firmware Updater”
- On the profile selection window, select your new profile name and click “Ok”
- The Preferences window will open since there are no options configured (shown below):
- Under “System Manufacturer” select LCC
- Under “System Connection” select CAN via GridConnect Network Interface
- “Settings” field will appear
- Set the IP address to match what is displayed by the throttle
- Set the port number to 12021
- Make sure the Connection Protocol is set to OpenLCB
- You may leave the other fields at the default settings
- When finished, your Preferences window should look like this:
- Press Save and tell PanelPro to Restart
- NOTE: If your throttle is powered on in bootloader mode and PanelPro fails to connect, exit PanelPro, restart your throttle, then start PanelPro again.
Alternate Procedure - Access Point Mode
TCS WiFi-enabled devices such as the UWT-100 have options to switch from a "receiver" into a "transmitter" in a sense. Once you have entered the bootloader state by pressing Button 7 during startup, you will also be prompted at the bottom of the screen to enter "AP Mode" by pressing Button 8.
If you do this, the [throttle] will disconnect from the current SSID/WiFi (if any) and begin broadcasting its own SSID/WiFi. This new SSID will be discoverable by any WiFi device such as a laptop of USB WiFi adapter. The SSID of the WiFi the device creates will end in the ID number of the device it is being broadcast from, preceded by "tcs_thr_" for throttles, or "tcs_cs_" for command stations. As an example, a TCS throttle with the ID "01:11" would create the SSID name "tcs_thr_0111" Note that if the device is equipped with a screen, this information will be shown on the screen.
If your PC/MAC/Linux computer has the ability to connect over WiFi directly, you can connect to the throttle directly. Doing so will eliminate the need to verify the IP address and Port Number since they are hard-coded to always be the same. Any TCS WiFi-enabled device will broadcast in AP mode an IP address of 10.0.0.1 on port number 12021; therefore, when using this method, you are only required to set up a JMRI profile one time for ANY TCS WiFi-enabled device using this IP and port.
Here are the instructions to follow to set up a JMRI PanelPro profile to connect to a TCS WiFi-enabled device in Access Point Mode:
- Start JMRI PanelPro
- When prompted to select a profile, click “New…”
- Enter a name for your profile (whatever you want), such as “UWT-100 Firmware Updater” or "TCS AP Mode Updater"
Note: if you have another profile configured via the previously-described method, make sure you use a DIFFERENT NAME!
- On the profile selection window, select your new profile name and click “Ok”
- The Preferences window will open since there are no options configured (shown below):
- Under “System Manufacturer” select LCC
- Under “System Connection” select CAN via GridConnect Network Interface
- “Settings” field will appear
- Set the IP address to 10.0.0.1
- Set the port number to 12021
- Make sure the Connection Protocol is set to OpenLCB
- You may leave the other fields at the default settings
- Press Save and tell PanelPro to Restart
In order for PanelPro to successfully connect to your TCS WiFi-enabled device, it needs to be A) ON B) In Bootloader Mode C) In Access Point (AP) Mode, and D) your computer MUST be connected to the TCS device's WiFi BEFORE PanelPro starts.
- Once connected successfully, PanelPro will open without errors. If an error is displayed showing that the connection could not be made, review all of the steps above, especially 9A, 9B, 9C, and 9D.
- Proceed as normal with the update:
- Open the tab labeled "LCC"
- Select "Firmware Update"
- Select the input file
- Select the device to be updated
- Click "Load"
- Close PanelPro once the update has completed. If necessary, reconnect to your normal WiFi (this may happen automatically once the TCS device reboots).