Updating to firmware 1.50 bricks Tangara
#1
Exclamation 
When I update to 1.50 from 1.41 I get this error:

[Image: pic9170932.png]

Resetting with 'esptool.py run' wakes up the Tangara but it's likely in some inbetween state firmware-wise, so I've downgraded to 1.41.

This is repeatable behaviour too, so likely not some one off glitch. I am using an older version of Tangara Companion (0.43) as that's the last version with a Mac release, but hopefully that's not a factor.
  Reply
#2
With the Tangara Companion (also using 0.4.3 from Flatpak, my fault), the device will not power up after the firmware upgrade. It also failed at the `Generic.LC_COLLATE` partition. I used the `esptool` method to flash manually and that actually worked with 1.50.

To put the device back on its feet, a manual upgrade worked for me:

Code:
unzip tangarafw-v1.5.0.tra
esptool --port /dev/serial/by-id/usb-cool_tech_zone_Tangara_5fb7344131200f22-if00 write_flash 65536 tangara.bin 11599872 lua.bin

After that, updating Tangara Companion to 0.5.2 allows the firmware to be reflashed to 1.5.0 without issues. So it might all be related to a fix in https://github.com/haileys/tangara-companion/pull/29, which was merged in 0.5.0? That would mean that for anyone who is getting the same issue to first try upgrading Tangara Companion if possible, or use an alternative upgrade method otherwise.
  Reply
#3
Ahhhh, I bet Generic.LC_COLLATE could be flashed manually too and get past this error. Yes, turns out it can!

For anyone else in this situation, you can flash the tangara.bin and lua.bin files as normal, then manually flash the rest of the firmware package thusly:

Code:
esptool.py --port /dev/tty.usbmodem201 write_flash 4096 bootloader.bin 32768 partition-table.bin 53248 ota_data_initial.bin 8454144 Generic.LC_COLLATE 15794176 repl.bin


I got the flash address numbers from:
Code:
% more tangaraflash.json
    {
        "version": 0,
        "data": {
            "firmware": {
                "version": "1.5.0",
                "images": [
                    { "addr": 4096, "name": "bootloader.bin" },
                    { "addr": 32768, "name": "partition-table.bin" },
                    { "addr": 53248, "name": "ota_data_initial.bin" },
                    { "addr": 65536, "name": "tangara.bin" },
                    { "addr": 8454144, "name": "Generic.LC_COLLATE" },
                    { "addr": 11599872, "name": "lua.bin" },
                    { "addr": 15794176, "name": "repl.bin" }
                ]
            }
        }
    }

And the serial port number on macOS presents as a tty device:

Code:
% ls /dev/tty.*        
/dev/tty.Bluetooth-Incoming-Port    /dev/tty.usbmodem201

The ESP doco has some good tips about serial port stuff here: https://docs.espressif.com/projects/espt...ort-port-p
  Reply
#4
Hello, I'm also having this issue but I'm not super familiar with using the CLI. Could you explain in simple terms how to run the process that worked to fix this? I've followed along enough to know I need esptool so I've installed that using Homebrew, but when I run this:
Code:
esptool.py --port /dev/tty.usbmodem201 write_flash 4096 bootloader.bin 32768 partition-table.bin 53248 ota_data_initial.bin 8454144 Generic.LC_COLLATE 15794176 repl.bin

I get this error: 
Code:
╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Invalid value for '<address> <filename>...': [Errno 2] No such file or directory: 'tangara.bin'                  │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

So I'm unsure where to get the location specific to my setup. Thanks in advance! It sounds like a lot of people are having the same issue right now  Dodgy
[Image: tackyvillain_web_button.png]
  Reply
#5
I've added an updated macos build of tangara companion to the releases (for arm only at the moment): https://github.com/haileys/tangara-compa...tag/v0.5.2

This update should prevent this issue of the flash failing, though I'm not sure if it's able to recover a failed flash (that might still need manual flashing to fix). The issue seems to be caused by using an older version of the companion, so please make sure that you're using the latest release for your OS.
  Reply
#6
(2025-11-01, 01:25 PM)villain Wrote: Hello, I'm also having this issue but I'm not super familiar with using the CLI. Could you explain in simple terms how to run the process that worked to fix this? I've followed along enough to know I need esptool so I've installed that using Homebrew, but when I run this:
Code:
esptool.py --port /dev/tty.usbmodem201 write_flash 4096 bootloader.bin 32768 partition-table.bin 53248 ota_data_initial.bin 8454144 Generic.LC_COLLATE 15794176 repl.bin

I get this error: 
Code:
╭─ Error ──────────────────────────────────────────────────────────────────────────────────────────────────────────╮
│ Invalid value for '<address> <filename>...': [Errno 2] No such file or directory: 'tangara.bin'                  │
╰──────────────────────────────────────────────────────────────────────────────────────────────────────────────────╯

So I'm unsure where to get the location specific to my setup. Thanks in advance! It sounds like a lot of people are having the same issue right now  Dodgy

Hopefully you can use the new version of Tangara Companion to fix this, but in case you're on an old Intel Mac like me, here's what I did:
1. install homebrew and esptool (you're done this already)
2. download the Tangara firmware from https://codeberg.org/cool-tech-zone/tangara-fw/releases (it's the .tra file)
3. the Tangara firmware is just a zip file, so you can unzip it to create a folder that contains tangara.bin, bootloader.bin, etc (you might have to rename it from .tra to .zip to unzip it, and to do that you might need to show file extensions)
4. in the Mac Finder, right click on that folder and choose New Terminal at Folder to open a CLI where your files are
5. in the Terminal run more tangaraflash.json to see the flash address numbers, then press any key to exit and return to the command line
6. connect your Tangara and power it on
7. in the Terminal run ls /dev/tty.* to see your Tangara's serial port address (it's the one with usbmodem in it)
8. you should now be able to run the esptool command above (the flash address numbers should be the same but the usbmodem port number might be different from mine)

Bonus useful thing to know: if your Tangara is connected to your Mac and powered on, running esptool.py run in the Terminal usually reboots it even if it appears to be bricked (but it won't fix incomplete firmware upgrades so you should still do the steps above)

If none of those things work, esptool might not be installed or in your path. To confirm it's properly installed run which esptool.py in the Terminal and if it's properly installed you should get a result like /Users/villain/.local/bin/esptool.py

Otherwise you can try which esptool and if that works then just take the .py off the end of the esptool.py commands mentioned above.
  Reply


Forum Jump: