Git Product home page Git Product logo

Comments (9)

Zixim avatar Zixim commented on July 18, 2024

have you tried the full image flash ?

from homebuttons.

FLeXO21 avatar FLeXO21 commented on July 18, 2024

have you tried the full image flash ?

Yes i have flashed v2.4.0 full:
esptool.exe --port COM4 --after no_reset write_flash 0x0 fw_v2.4.0_original_full_image.bin

The device gives a HW init problem after unable to read the preferences?

ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:2
load:0x3ffe6100,len:0x129c
load:0x4004c000,len:0xaf4
load:0x40050000,len:0x2f2c
entry 0x4004c1b8
[ 353][I][APP ] starting...
[ 354][I][APP ] woke up.
[ 354][I][APP ] cpu freq: 240 MHz
[ 354][I][APP ] SW version: v2.4.0
[ 356][I][HW ] migrating factory params from nvs to efuse
[ 811][E][Preferences.cpp:50] begin(): nvs_open failed: NOT_FOUND
[ 368][E][HW ] failed to read factory params from nvs
[ 372][I][HW ] read efuse factory params: SN=, RID=, M=, HW=
[ 378][E][HW ] factory params empty
[ 382][E][APP ] HW init failed! Going to sleep.
E (388) sleep: Not an RTC IO: GPIO22
[ 392][I][APP ] deep sleep... z z z

If i flash fw_v2.3.0:

esptool.exe --port COM4 --after no_reset write_flash 0x0 fw_v2.3.0_original.bin
I get this from the console:

invalid header: 0x746165β–’ESP-ROM:esp32s2-rc4-20191025
Build:Oct 25 2019
rst:0x10 (RTCWDT_RTC_RST),boot:0x8 (SPI_FAST_FLASH_BOOT)
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
invalid header: 0x74616572
etc

from homebuttons.

Zixim avatar Zixim commented on July 18, 2024

I think the failure to load prefs is because you flashed 2301-112_v2.0.4_full_image.bin. That file contains specific info for device number 2301-112, which would make it incompatible with any other device. Flashing that put your device into some kind of factory mode, which isn't accessible to the user.

I suppose that , when @nplan reads this, he will send you the base firmware specific to your device (2301-048).
If you have an "old" full backup from device 2301-048, you could try flashing that.

from homebuttons.

FLeXO21 avatar FLeXO21 commented on July 18, 2024

The firmware from 2301-048 was a last resort, and is the only one that booted
All the other firmware's reported the invalid header messages prior to flashing the 2301-048 firmware

from homebuttons.

nplan avatar nplan commented on July 18, 2024

@FLeXO21 what fw version did you try to update from?

from homebuttons.

FLeXO21 avatar FLeXO21 commented on July 18, 2024

@FLeXO21 what fw version did you try to update from?

i try'd to update: fw_v2.3.0_original.bin, from this version: Firmware: v2.0.3

from homebuttons.

nplan avatar nplan commented on July 18, 2024

Versions 2.0.6 and earlier have factory parameters saved to flash. If you overwrite this section of the flash by flashing the firmware image at the wrong offset, the device won't boot. This is fixed in v2.1.0 and later by transferring factory data to hardware eFuses.

Here are the steps to fix your device:

  1. Connect device with an USB-C cable to your computer
  2. Go to https://nplan.github.io/HomeButtonsFlasher/
  3. Put device to programming mode by holding BOOT button and pressing RST button. Boot LED should light up.
  4. Select Home Buttons, V2.4.0 and Full Image
  5. Click Connect, select ESP32-S2 from the list and click Connect
  6. Click Install V2.4.0 ORIGINAL FULL IMAGE
  7. Check Erase device and click Next
  8. Confirm installation
  9. Wait about 2 minutes for installation to complete
  10. Close the browser tab and go to https://adafruit.github.io/Adafruit_WebSerial_ESPTool/
  11. On device hold BOOT button and press RST button. Boot LED should light up.
  12. Select 921600 Baud and click Connect
  13. Select ESP32-S2 from the list & click Connect
  14. In the first offset field enter 9000 and choose the provided NVS bin file
  15. Click Program and wait a few seconds
  16. On device press RST button. Home Buttons will show welcome screen.
  17. Set up the device again according to the guide https://docs.home-buttons.com/original/setup/

After this procedure, the factory data is transferred to hardware eFuses. Erasing flash will not brick the device anymore, but it has to be programmed with the full image firmware afterwards.

Please send an email with your serial number to [email protected], so I can send you the correct NVS bin file. I don't want to upload it here, since I don't want other users flashing it. It's specific to the device serial number.

from homebuttons.

FLeXO21 avatar FLeXO21 commented on July 18, 2024

Wonderful! Thank you for providing such detailed information. I will make sure to follow the procedure you've outlined.

Update: After updating the device with the correct NVS file it's working again

from homebuttons.

Zixim avatar Zixim commented on July 18, 2024

case closed 😝

from homebuttons.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    πŸ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. πŸ“ŠπŸ“ˆπŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❀️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.