MIB2 STD ZR Firmware Upgrade

Overview

Upgrade MIB2 STD ZR Firmware (without Navigation)

About

This repository contains some scripts and documentation how to upgrade the MIB2 firmware to a different HW train (e.g.: 02xx -> 03xx, 04xx). The documentation is for the Technisat MIB2 STD unit without navigation. It describes how to patch the swdownload binary, that the unit accepts updates for a higher HW train.
In addition to this repository it's required to have access to the MIB Solutions folder on MEGA.nz (Link can be found in various forums and is changing from time to time. Just google for it). There you find the firmware updates and tools to patch the swdownload binary. Such an update is was not intended by the manufacturer.
You will loose your warranty and there is a chance to brick your device. Everything you do is by your own risk.

Limitations of the MIB2 STD without navigation

For MIB2 without navigation it's currently not possible to patch the swdownload binary with the Update-Approval_SOP4_signed method, because of the different CPU (cpuplus instead of cpu). To patch the swdownload you have to dump the eMMC, exchange the binary and write everything back to the unit.
The eMMC of the MIB2 with navigation can be read with an adapter from the second SD card reader. For the model without navigation the only way to read the eMMC is to connect to the through-hole plating on the PCB. This can be done by soldering very thin wires to the holes or contact them with probes.

Upgrade procedure

  1. Connect a SD card reader to the eMMC through-hole plating (soldering or probes). For me the connection was only stable with DATA0 connected and DATA1-3 unconnected (-> slow read & write)

    • eMMC pinout:
      alt text
    • See this image for a SD card pinout
    • example of probes soldered to a USB SD card reader (alternative pinout) alt text
  2. Dump the eMMC content to your Linux Host and convert it to a *.vmdk file. Execute this script to do it.

  3. Start your QNX VM (image can be found in the MEGA folder) and add the vmdk file as virtual hard disk.

  4. Copy the swdownload binary from the vmdk file to your host. In the QNX VM you find it under following path /fs/hd1-qnx6/tsd/bin/swdownload/tsd.mibstd2.system.swdownload. You can use SSH to copy it from QNX VM to your host.

  5. Patch the swdownload binary with the python scripts or SWDLPatcher.exe from the MIB Solutions folder on MEGA.

  6. Rename the patched swdownload binary to the origin name, copy it the QNX VM and overwrite the origin one in the vmdk.

  7. Shutdown the QNX VM.

  8. Convert the vmdk file back to a raw disk dump and write it to the eMMC. Execute this script to do it.

  9. Get the CPU ID of your MIB2 unit.

    • Power it up, press menu button for 10 sec., select FW -> version -> current version -> cpu or cpuplus.
    • The CPU ID is the number in braces.
  10. Take the firmware to which you like to update and patch the metainfo2.txt file.

    • In this file you have to add links to your CPU ID and set RequiredVersionOfDM to RequiredVersionOfDM = "0"
    • Find a section which starts with cpu and get the used CPU ID in that firmware (e.g.:[cpu\audioservice\36\default\Application] --> CPU ID: 36)
    • Execute this python script to patch the metainfo2.txt file. (e.g.: your CPU ID: 18; target firmware CPU ID: 36 --> python3 metainfo_parser.py metainfo2.txt metainfo2_patched.txt 36 18
  11. Rename the patched metainfo2.txt file to the origin name and overwrite the one in the firmware folder.

  12. Format a SD card with FAT32 and copy the firmware to it (metainfo2.txt must be in top level on the SD card).

  13. Put the SD card in your MIB2 card reader and start the update.

Maybe you will get a SVM Error after the update. Follow this instructions to remove it with VCDS or OBD11.

Useful References

Owner
Fabian
Fabian
Monitoring of lake dynamics

slamcore_utils Description This repo contains the slamcore-setup-dataset script. It can be used for installing a sample dataset for offline testing an

10 Jun 23, 2022
Twikoo自定义表情列表 | HexoPlusPlus自定义表情列表(其实基于OwO的项目都可以用的啦)

Twikoo-Magic 更新说明 2021/1/15 基于2021/1/14 Twikoo 更新1.1.0-beta,所有表情都将以缩写形式(如:[ text ]:)输出。1/14之前本仓库有部分表情text缺失及重复, 导致无法正常使用表情 1/14后的所有表情json列表已全部更新

noionion 90 Jan 05, 2023
LSO, also known as Linux Swap Operator, is a software with both GUI and terminal versions that you can manage the Swap area for Linux operating systems.

LSO - Linux Swap Operator Türkçe - LSO Nedir? LSO, diğer adıyla Linux Swap Operator Linux işletim sistemleri için Swap alanını yönetebileceğiniz hem G

Eren İnce 4 Feb 09, 2022
A Way to Use Python, Easier.

PyTools A Way to Use Python, Easier. How to Install Just copy this code, then make a new file in your project directory called PyTools.py, then paste

Kamran 2 Aug 15, 2022
This python code will get requests from SET (The Stock Exchange of Thailand) a previously-close stock price and return it in Thai Baht currency using beautiful soup 4 HTML scrapper.

This python code will get requests from SET (The Stock Exchange of Thailand) a previously-close stock price and return it in Thai Baht currency using beautiful soup 4 HTML scrapper.

Andre 1 Oct 24, 2022
An attempt at furthering Factorio Calculator to work in more general contexts.

factorio-optimizer Lets do Factorio Calculator but make it optimize. Why not use Factorio Calculator? Becuase factorio calculator is not general. The

Jonathan Woollett-Light 1 Jun 03, 2022
Script em python, utilizando PySimpleGUI, para a geração de arquivo txt a ser importado no sistema de Bilhetagem Eletrônica da RioCard, no Estado do Rio de Janeiro.

pedido-vt-riocard Script em python, utilizando PySimpleGUI, para a geração de arquivo txt a ser importado no sistema de Bilhetagem Eletrônica da RioCa

Carlos Bruno Gomes 1 Dec 01, 2021
It is a personal assistant chatbot, capable to perform many tasks same as Google Assistant plus more extra features...

PersonalAssistant It is an Personal Assistant, capable to perform many tasks with some unique features, that you haven'e seen yet.... Features / Tasks

Roshan Kumar 95 Dec 21, 2022
The only purpose of a byte-sized application is to help you create .desktop entry files for downloaded applications.

Turtle 🐢 The only purpose of a byte-sized application is to help you create .desktop entry files for downloaded applications. As of usual with elemen

TenderOwl 14 Dec 29, 2022
A simple Python script for generating a variety of hashes from safe urandom entropy.

Hashgen A simple Python script for generating a variety of hashes from safe urandom entropy. For whenever you need a random hash (e.g. generating an a

Xanspie 1 Feb 17, 2022
Final Fantasy XIV Auto House Clicker

Final Fantasy XIV Auto House Clicker

KanameS 0 Mar 31, 2022
A collection of python exercises to help your learning path!

How to use Step 1: run this command git clone https://github.com/TechPenguineer/Python-Exercises.git Step 2: Run this command cd Python-Exercises You

Tech Penguin 5 Aug 05, 2021
A simple language for new programmers and a toy language ;)

Yell An extremely simple, yet powerful language for new programmers, as well as a toy language ;) Explore the docs » Report Bug · Request Feature Yell

Yell 4 Dec 28, 2021
Markov Chain Composer

Markov Chain Composer Using Markov Chain to represent relationships between words in song lyrics and then generating new lyrics.. ahem interpretive po

Kylie 85 Dec 09, 2022
Our Ping Pong Project of numerical analysis, 2nd year IC B2 INSA Toulouse

Ping Pong Project The objective of this project was to determine the moment of impact of the ball with the ground. To do this, we used different model

0 Jan 02, 2022
A Python simple Dice Simulator just for fun

Dice Simulator 🎲 A Simple Python Dice Simulator 🧩 🎮 💭 Description: That program make your RPG session more easy and simple. Roll the dice never be

Lauro Brant 17 May 14, 2022
Tools for teachers and students using nng (Natural Number Game)

nngtools Usage Place your nngsave.json to the directory in which you want to extract the level files. Place nngmap.json on the same directory. Run nng

Thanos Tsouanas 1 Dec 12, 2021
InverterApi - This project has been designed to take monitoring data from Voltronic, Axpert, Mppsolar PIP, Voltacon, Effekta

InverterApi - This project has been designed to take monitoring data from Voltronic, Axpert, Mppsolar PIP, Voltacon, Effekta

Josep Escobar 2 Sep 03, 2022
Webcash is an experimental e-cash (electronic cash)

Webcash Webcash is an experimental new electronic cash ("e-cash") that enables decentralized and instant payments to anyone, anywhere in the world. Us

Mark Friedenbach 0 Feb 26, 2022
It really seems like Trump is trying to get his own social media started. Not a huge fan tbh.

FuckTruthSocial It really seems like Trump is trying to get his own social media started. Not a huge fan tbh. (When TruthSocial actually releases, I'l

0 Jul 18, 2022