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.