Hello, everyone!
During setting up a booster, I tried to set it a static IP, to connect it via ethernet to the PC. After commands

write ip-address 10.0.0.43
write netmask 255.255.255.0
reset

booster entered a reboot cycle I can not stop. It starts its fans for a several seconds, after that it flashes yellow LEDs for a second or two and reboots.

Device info (taken from the another booster from the same shipping. The faulty one I can not get info from now):
Version: v0.4.0-175-g9ef1510
Hardware Revision: v1.6
Rustc Version: rustc 1.68.2 (9eb3afe9e 2023-03-27)
Features:
Detected Phy: Enc424j600

What I already tried:
1) Monitor any debugging info via USB. It failed, as the USB at booster is initialized after it fails (there are some issues about that on github, for example https://github.com/quartiq/booster/issues/229 ). I tested, that via "sudo dmesg | grep tty" there are no new device connections are logged while the connected booster reboots => I can not connect to it to monitor something.
2) Tried to reflash it via DFU. I tried the last release version from the github (https://github.com/quartiq/booster/releases , tried 0.6.0). It successfully flashed accordingly to the manual, but the result was more or less the same (maybe the LED blink became shorter).
3) Tried flashing with 0.4.0 from the github (also did not work). Following issue https://github.com/quartiq/booster/issues/242 (the symptoms are very similar, as well as a firmware version), tried flashing with a firmware from the 'feature/enc424j600-support' branch setting the correct phy_feature, as it seems that it must be it that was flashed there on shipping. No luck again.
4) As my theory is that somehow the ip-address/netmask parameters I've set are incorrect and it causes panic at startup, I supposed that during the flash I didn't erase sections of the memory which contain network parameters, so I tried to reflash it using

dfu-util -a 0 -s 0x08000000:mass-erase:force:leave --download booster-release.bin

No luck again.
5) Finally, I tried to dump the firmware from the working device to the faulty one by running the following commands with a working one in DFU mode:

dfu-util -a 0 -s 0x08000000 --upload b0.bin
dfu-util -a 0 -s 0x08010000 --upload b1.bin
dfu-util -a 0 -s 0x08020000 --upload b2.bin

And these with a faulty one:

dfu-util -a 0 -s 0x08000000 --download b0.bin
dfu-util -a 0 -s 0x08010000 --download b1.bin
dfu-util -a 0 -s 0x08020000 --download b2.bin

And I still have the same results.

It seems, now I am out of idea how to revive it. Any ideas what's wrong and how to fix it?

    Are there any logs from Booster?

    Please pay attention.

    Ilyich2011 I tested, that via "sudo dmesg | grep tty" there are no new device connections are logged while the connected booster reboots => I can not connect to it to monitor something.

    I don't know off hand whether the mass-erase dfu command is correct like that.
    Other than ensuring it is, the next step would be to connect a SWD debugger and have a look at the panic messages there.

    8 days later

    Finally, resolved the issue by modifying the 0.6.0 firmware making it to ignore the current eeprom mainboard settings, using the default ones, and storing them to the device. But without any debug info it was tough)

      2 months later

      Ilyich2011
      Hi, I think I have the same problem with our Sinara Booster.
      Reboot loop after I tried to change the IP address.
      All the same symptoms.
      I rewrote the firmware, but it did not help.
      Can you tell me how you you modified the firmware so it does not load the wrong IP settings?

        11 days later

        spaqin
        I have tried the mass erase, but it did not help.

        Thanks for the pointer to the problematic line in the source code.
        I am not versed in rust, but I will try to figure it out.
        Any hint how I have to change it to read defaults?

        2 months later

        Ilyich2011
        I still have the problem, unfortunately. How did you change the firmware?
        I have not been able to modify it to boot again.

          StefanK

          What you need is to clone a 0.6.0 firmware version for booster from https://github.com/quartiq/booster/tree/main , go to file src/settings/eeprom/main_board.rs and replace method "pub fn load(eeprom: &mut Eeprom)" in "impl BoosterMainBoardData" (line 209) with the following:

              pub fn load(eeprom: &mut Eeprom) -> Self {
                  let mut mac: [u8; 6] = [0; 6];
                  eeprom.read_eui48(&mut mac).unwrap();
           
                  let mut sinara_config: [u8; 256] = [0; 256];
                  eeprom.read(0, &mut sinara_config).unwrap();
           
                  //SinaraConfiguration::try_deserialize(sinara_config)
                  //    .and_then(|config| Self::deserialize(&mac, &config.board_data).map(|result| result.0))
                  //    .unwrap_or_else(|_| Self::default(&mac))
                  Self::default(&mac)
              }

          What it basically does is loading config from eeprom (mac address and other config) and instead of trying to deserialize it (commented section) immediately return a default version, basically ignoring what it has just read.