Blueforcer / awtrix3

Custom firmware for the Ulanzi Smart Pixel clock or self made awtrix. Getting started is easy as 1-2-3
https://blueforcer.github.io/awtrix3/
Other
1.24k stars 106 forks source link

[BUG] Error when trying to flash my Ulanzi clock: "Failed to initialize." #341

Closed Jonas-Sander closed 11 months ago

Jonas-Sander commented 11 months ago

Bug report

I'm trying to flash my lanzi TC001 Smart Pixel Uhr 2882 via https://blueforcer.github.io/awtrix-light/#/flasher.
This error occures:

grafik

I'm using a windows pc and tried it with:

I already tried to reset my ULANZI clock via "Logs & console" > "Reset device" and by pressing the reset button at the back of the device. Nothing helped.

When I press "Install" the device beeps and turns off for a brief moment but after that it turns back on and nothing changed.

Additional information

To Reproduce

  1. Connect the ULANZI pixel clock via USB to my PC
  2. Try using the flashing tool at https://blueforcer.github.io/awtrix-light/#/flasher (+ check erase device button)

Expected behavior

The device should be flashed.

Screenshots

https://github.com/Blueforcer/awtrix-light/assets/29028262/45ff7e26-b2fd-4c5d-95dc-50ef2e4a85b5

Logs

----------------BOOTING INFO----------------
------ESP SDK Version : v3.3.5-1-g85c43024c
------Dot2d Version : dot2d-0.1.0
------Firmware Version : 1.7.3.385ae1
------SPIFFS File System init succeed.
------Global Device Data init succeed.
------Global Config Data init succeed.
------Global User Data init succeed.
------Global App Switch Data init succeed.
------Global System Data init succeed.
------Dot2d Director init succeed.
------Screen And Canvas init succeed.
------App Manager init succeed.
------Device init succeed.
connect-221663ff.js:485 Initializing Improv Serial
connect-221663ff.js:810  Improv initialization failed. Error: Improv Wi-Fi Serial not detected
    at connect-221663ff.js:485:1200
_initialize @ connect-221663ff.js:810
await in _initialize (asynchron)
firstUpdated @ connect-221663ff.js:810
_$AE @ connect-221663ff.js:1
performUpdate @ connect-221663ff.js:1
scheduleUpdate @ connect-221663ff.js:1
_$E_ @ connect-221663ff.js:1
await in _$E_ (asynchron)
requestUpdate @ connect-221663ff.js:1
o @ connect-221663ff.js:1
de @ connect-221663ff.js:1
ce @ connect-221663ff.js:1
ba @ connect-221663ff.js:512
_a @ connect-221663ff.js:867
await in _a (asynchron)
(anonymous) @ install-button.js:1
connect-221663ff.js:485 Try hard reset.
connect-221663ff.js:485  Error: Couldn't sync to ESP. Try resetting.
    at pa.sync (connect-221663ff.js:485:58250)
    at async pa.initialize (connect-221663ff.js:485:53144)
    at async connect-221663ff.js:485:65392
Jonas-Sander commented 11 months ago

Okay, I solved by connecting to the Ulanzi clock via the IP address shown on the device, then tapping "About" (the button at the very bottom of the page), selecting update firmware, and choosing "ulanzi_TC001_0.88.bin" that is at the "releases" tab here on GitHub. Since I already added the wifi before updating the clock it connected directly to my wifi after flashing it with the AWTRIX firmware.

Jonas-Sander commented 11 months ago

This process is not documented though and the original way (the quickstart at https://blueforcer.github.io/awtrix-light/#/quickstart) didn't work for me.

Blueforcer commented 11 months ago

You need to use a high quality cable and probably another USB port. The ulanzi hardware is bad. But glad it works now.

Jonas-Sander commented 11 months ago

You need to use a high quality cable and probably another USB port. The ulanzi hardware is bad. But glad it works now.

I tried it with 2 other USB cables and 2 more USB ports, still didn't work :/

Blueforcer commented 11 months ago

Sorry there is nothing I can do. Some users reported that it works on another PC for any reason. There are also users where serial connection doesn't work at all due a hardware failure. But this belong to less than 1%. For most users the webflasher works as expected

Jonas-Sander commented 11 months ago

No worries, thanks for your help :)

There is one thing that was annoying though because of this issue: When I had issues with the IP settings (I changed something and couldn't connect to the web interface afterwards) I had troubles resetting the device. The reset button at the back of the device didn't function properly. If you press it nothing happens. I tried pressing, holding, turning the device on and off several times etc. and it didn't work. After a while I got lucky and it somehow went back to the access point mode. I think it was when pressing the reset button while the device is booting up? I tried to reset it again afterwards once and it didn't work. Is there a special way or time when the reset button has to be pressed?

pzzz commented 10 months ago

Okay, I solved by connecting to the Ulanzi clock via the IP address shown on the device, then tapping "About" (the button at the very bottom of the page), selecting update firmware, and choosing "ulanzi_TC001_0.88.bin" that is at the "releases" tab here on GitHub. Since I already added the wifi before updating the clock it connected directly to my wifi after flashing it with the AWTRIX firmware.

Can confirm, this also was the way to go for me (y)

GitGudin commented 9 months ago

Okay, I solved by connecting to the Ulanzi clock via the IP address shown on the device, then tapping "About" (the button at the very bottom of the page), selecting update firmware, and choosing "ulanzi_TC001_0.88.bin" that is at the "releases" tab here on GitHub. Since I already added the wifi before updating the clock it connected directly to my wifi after flashing it with the AWTRIX firmware.

Worked for me, too. Thanks for sharing!

coalfield commented 7 months ago

Thank you, really helped me after trying numerous cables!

wAuner commented 7 months ago

I can confirm that using a better cable helped. When I switched to a very short (about 50cm) Thunderbolt 4 cable I was able to successfully flash the firmware with my Macbook.

mbnn6 commented 6 months ago

I would like to confirm that changing the cable helped! It's because of the way the clock will connect to your mac, choosing serial connection as the connection method (important to make it work, don't choose bluetooth) was only possible then.

SimonKai22 commented 5 months ago

ulanzi_TC001_0.88.bin

I have the same problem. Can you tell me where I can find the file "ulanzi_TC001_0.88.bin"?

many thanks for the help

Blueforcer commented 5 months ago

https://github.com/Blueforcer/awtrix3/releases

SimonKai22 commented 5 months ago

Many thanks for the link. If I have managed to install this version on the Ulanzi, what do I have to do afterwards?

Blueforcer commented 5 months ago

Many thanks for the link. If I have managed to install this version on the Ulanzi, what do I have to do afterwards?

What do you mean? I think there must be a reason why you're flashing awtrix. You should read the documentation for further steps

SimonKai22 commented 5 months ago

oh ok, I think I misunderstood that. Is "ulanzi_TC001_0.88.bin" the same version as the one via the web flasher? Finally, I would like to have Awtrix on the watch so that I can use it via MQTT

SimonKai22 commented 5 months ago

That worked! Thank you How do I switch off the temperature and humidity display? Unfortunately I don't understand the instructions

noizee2k commented 5 months ago

Yep. It worked that way, had the same problems on my mac. Already bought your app, worth the money!

MeisterPiffer commented 5 months ago

I just want to add that I had the same issue. I even flashed the firmware via commandline esptool, but even though reporting success, it didn't came up again. However I was able to reflash the original firmware and use the about->update method to flash the very same file I tried before and this worked. I feel like there should be a hint to this procedure as alternative to the Online Flasher, as I tested several combinations including 3x USB A to C cables, 3x USB C to C cables, 2x Linux computers, one Windows Laptop and 2 TC001 without success.

Jonas-Sander commented 5 months ago

I also think this should be highlighted / documented on the flasher site.

PtiDam27 commented 4 months ago

Okay, I solved by connecting to the Ulanzi clock via the IP address shown on the device, then tapping "About" (the button at the very bottom of the page), selecting update firmware, and choosing "ulanzi_TC001_0.88.bin" that is at the "releases" tab here on GitHub. Since I already added the wifi before updating the clock it connected directly to my wifi after flashing it with the AWTRIX firmware.

this work for me too big thank i try a lot solution i found on internet this solution only work and is so easy

Blueforcer commented 4 months ago

Flashing without changing the partitions, will results in less free Flash space. Sou you have less space available for Icons etc.

derdritte commented 4 months ago

I also cannot use the online flasher (ubuntu 22.04, chrome 124.0.6367.91). For safety I wanted to read/dump the base-firmware first using esptools, which initially also failed. Only after I removed all baud-settings, and dumped using esptool.py -c esp32 -p /dev/ttyUSB0 read_flash 0x0 0x400000 ulanzi_tc001_factory.bin would it work.

I only tried on the one PC so far, but I tried 3 cables, including a usb-c/usb-c one none of which worked for the online flasher, but did work with esptools.

My ulanzi just reset at the very beginning of the flashing-process (showing the logo in red again) and then just acted like it was reset. I would love a second route using locally installed esptools (in addition to the built-in online flashing, which other users already mentioned).

Raudi1 commented 3 months ago

I had the same issue. Tried all kinds of different cables (C to C, A to C, USB 2/3, short, long...) on different ports connected to different controllers on my computer (has no USB2 though). What worked for me immediately was to connect through the USB3 hub built into my monitor.

overtesters commented 2 months ago

I had the same issue, different USB cables und ports didn't work.

What worked in my case was to flash the firmware through the built-in webinterface of the clock. The online-flasher just didn't come through on my computer.

Blueforcer commented 2 months ago

What worked in my case was to flash the firmware through the built-in webinterface of the clock. The online-flasher just didn't come through on my computer.

You will loose lots of flashmemory with this method, becaue ulanzi use a different partition table.

dhuddle commented 2 months ago

I also think this should be highlighted / documented on the flasher site.

This bug report and resolution helped me with my issue. 4 different USB cables, 5 different computer ports, 2 different browsers (chrome and edge) and no luck. Once I went to the ulanzi stock firmware update and hit enter, it was cake.

It should at least be documented on the official flasher site as an alternative method.

overtesters commented 2 months ago

I had the same issue, different USB cables und ports didn't work.

What worked in my case was to flash the firmware through the built-in webinterface of the clock. The online-flasher just didn't come through on my computer.

A little update to my original post: After Blueforcer's Post I continued to try getting Awtrix 3 on my Ulanzi with the online Flasher. Installing through my Ubuntu PC didn't work either. In the End it worked with a Barebone PC where a minimal Installation of Windows 10 was running. Took about 2 minutes, only strange thing was that the Ulanzi was beeping through the whole update process. Aside from that, it worked liked described in the online manual.

Blueforcer commented 2 months ago

Beeping while flashing is normal because it's a active low buzzer.