Instructions for updating i-Telex boards using the Ethernet board
It’s hard to mess this up as very little skill is needed. Only the Ethernet board is able to reprogram the other boards. The Ethernet board itself has to be updated using the serial port.
When updating, the firmware will be downloaded from the internet. If you have a “non-standard board” and want to update it using the method described here, you need an http server where the according software is saved on.
All stable and beta releases for “standard boards” are saved on a public server.
Preparing a cable
The most difficult part is making the cable needed for programming the boards. This cable needs to have a 10-pole socket on both ends, wired like shown below: 1-1, 2-4, 3-7, 4-2, 5-5, 6-6, 7-3, 8-8, 9-9, 10-10 This might look confusing at first but the reason behind this is that the pin header on the Ethernet board was/is intended for a different use. The cable can easily be made with a common 10-wire ribbon cable (about 50 cm in length) and two 10-pole crimp sockets. You will have to twist wires 2 and 4 on one end as well as wires 3 and 7 on the other end. It should look like this when done correctly:
The cable is electrically symmetric; thus it does not matter which end you insert into the pin headers.
- Insert one end of the cable into the pin header labelled “Debug” on the Ethernet board.
- Insert the other end into the pin header on the target board (the board you wish to update). You may connect the target board while it is connected and powered.
- The Ethernet board needs to be connected to the Internet and powered on.
- Open a browser and enter the following address: 192.168.111.222/isp.cgi. Replace 192.168.111.222 with the local IP of your Ethernet board.
- Enter your configuration password if you have it set.
- In the field “Path to server for binaries” enter the address of the server which has the binary data needed for the update. For the stable versions, the address is www.telexupdate.de/stab_binaries. Beta versions can be found at www.telexupdate.de/beta_binaries. If the update succeeds, the address entered will be saved.
- Leave the field “What to program” blank (for special cases see below)
- Click on “Start programming”. While programming, the following will happen:
- The ID of the target board’s current software will be read.
- A .txt file corresponding the ID will be downloaded from the update server, the correct hardware ID of the target board’s chip checked and some basic settings will be made (so called “fuses”).
- A .bin file corresponding the ID will be downloaded from the update server and the target board’s chip programmed.
- As long as one of the LEDs on the Ethernet board is lit or flashing, programming is still not finished.
- If something is not working correctly during the early phases, error messages will be displayed, e.g.:
- “ISP program enable failed. Check connection to target board.”: Cable not connected properly.
- “No identification on connected target found. Select program manually.”: Chip on the target board is new or doesn’t have a valid ID.
- “Download xxx.txt socket open failed code -1“: Wrong path set to update server (most likely)
- “Download xxx.txt Fileserver error code 404“: Wrong path set to update server or a file matching the ID is not saved on the server.
- If a message with “Click here after all LED on i-Telex board went off again.” is displayed, the programming sequence has been started; an ID has been detected on the target board’s chip and the necessary data is available on the update server. After all LEDs on the Ethernet board are off (this can take between 30 seconds and 2 minutes) you should click on the button labelled “here”. Afterwards the programming menu is shown together with the last results:
- “Success: XXX bytes written to flash, no failures.”: Programming successful.
- "Failed: XXX nominal size, YYY bytes written to flash, ZZZ failed.": Something went wrong, try again.
- "Signature mismatch: byte X is Y should be Z”: Chip type mismatch. If this message starts with “Warning”, then this is not a critical error (e.g. Mega168P instead of Mega168 chip)
- A board with two ports needs to be updated two times (one time per module). Connect the cable to the “other half” of the board (you may do so while it is powered) and repeat from step 8.
Programming new chips or repair a failed attempt
If the message “No identification on connected target found. Select program manually” is shown, you have to select the software you wish to program manually. To do so, you have to enter the correct ID into the field “What to program” (step 7). More info by request. You may also use this function to program brand new chips.