firmware downgrade support

Hi,
Is there any way to downgrade the firmware from 1.7.3 to 1.4.4 to MMRL sensor?

Thanks
SrinivasaRao Ladi.

Comments

  • @Srinivasa,
    We don't support firmware downgrading from 1.4.4 from 1.7.3 because they use different bootloaders.

  • How can we downgrade from 1.7.3 back to 1.5.1? Since I upgraded 2 sensors they no longer stay connected to my app?

  • edited May 2022

    Luckily 1.5.1 does use the same bootloader as 1.7.3. If you download the MetaBase iOS App you can use the Advanced menu to downgrade:


  • When I click on the advanced button the app crashes. I reinstalled the app from the app store and it still crashes when I click on the advanced button.

  • What's the sensor model/firmware/hardware version you are trying to downgrade?

  • Model: MetaMotionR
    Hardware: .4
    Firmware: 1.7.3

  • Do the other functions in the menu like put to sleep work?

  • I tried this using the Android app and when I enter the version 1.5.1 I get the following error: No value for 0.3.2

  • Yes, that's the bootloader issue from the other thread.

  • So, how do I downgrade the firmware if the IOS app crashes when I click on the advanced options and the Android app wont recognize the 1.5.1 firmware

  • Laura,

    In order to get the Advanced button to work on my IOS device I had to change the advancedPressed code in the Controller --> DiagnosticViewController to: basically I added the code for iPad specific code below and now it works great.

    @IBAction func advancedPressed(_ sender: Any) {
        let alertController = UIAlertController(title: "Advanced Options", message: nil, preferredStyle: .actionSheet)
        alertController.addAction(UIAlertAction(title: "DFU from File", style: .default) { _ in
            self.getFirmwareFile()
        })
        alertController.addAction(UIAlertAction(title: "DFU from Version", style: .default) { _ in
            self.getFirmwareVersion()
        })
        if !device.isMetaBoot {
            alertController.addAction(UIAlertAction(title: "Put to Sleep", style: .default) { _ in
                self.putToSleep()
            })
            alertController.addAction(UIAlertAction(title: "Reset", style: .default) { _ in
                self.resetDevice()
            })
        }
        alertController.addAction(UIAlertAction(title: "Cancel", style: .cancel))
    
        // iPad specific code
        alertController.popoverPresentationController?.sourceView = self.view
        let xOrigin = self.view.bounds.width / 2
        let popoverRect = CGRect(x: xOrigin, y: 0, width: 1, height: 1)
        alertController.popoverPresentationController?.sourceRect = popoverRect
        alertController.popoverPresentationController?.permittedArrowDirections = .up
    
        present(alertController, animated: true)
    }
    
Sign In or Register to comment.