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
It was created to conveniently respond to events such as donation, follow, and hosting using the Alert Box provided by twip to streamers

This library is not an official library of twip. It was created to conveniently respond to events such as donation, follow, and hosting using the Alert Box provided by twip to streamers.

junah201 8 Nov 19, 2022
PyPIContents is an application that generates a Module Index from the Python Package Index (PyPI) and also from various versions of the Python Standard Library.

PyPIContents is an application that generates a Module Index from the Python Package Index (PyPI) and also from various versions of the Python Standar

Collage Labs 10 Nov 19, 2022
Python pyside2 kütüphanesi ile oluşturduğum drone için yer kontrol istasyonu yazılımı.

Ground Control Station (Yer Kontrol İstasyonu) Teknofest yarışmasında yerlilik kısmında Yer Kontrol İstasyonu yazılımı seçeneği bulunuyordu. Bu yüzden

Emirhan Bülbül 4 May 14, 2022
My solutions to Advent of Code 2021 (written in Python)

Advent of Code 2021 This repository contains my solutions for the 2021 edition of Advent of Code. Please do not expect perfectly polished solutions, m

Nils 2 May 29, 2022
Is a util for xferring skinning from one mesh to another

maya_pythonplugins skinTo: Is a util for xferring skinning from one mesh to another args: :param maxInfluences: is the number of max influences on the

James Dunlop 2 Jan 24, 2022
A script that convert WiiU BotW mods to Switch

UltimateBoTWConverter A script that convert WiiU BotW mods to Switch. It uses every resource I could find under the sun that allows for conversion, wi

11 Nov 08, 2022
Awesome Cheatsheet

Awesome Cheatsheet List of useful cheatsheets Inspired by @sindresorhus awesome and improved by these amazing contributors. If you see a link here is

detailyang 6.5k Jan 07, 2023
适用于HoshinoBot下的人生重来模拟器插件

LifeRestart for HoshinoBot 原作地址 python版原地址 本项目地址 安装方法 这是一个HoshinoBot的人生重来模拟器插件 这个项目使用的HoshinoBot的消息触发器,如果你了解其他机器人框架的api(比如nonebot)可以只修改消息触发器就将本项目移植到其他

黛笙笙 16 Sep 03, 2022
A project to find out all the words in a crossword.

A project to find out all the words in a crossword.

Kalpesh Dhoundiyal 1 Feb 06, 2022
Would upload anything I do with/related to brainfuck

My Brainfu*k Repo Basically wanted to create something with Brainfu*k but realized that with the smol brain I have, I need to see the cell values real

Rafeed 1 Mar 22, 2022
A python script providing an idea of how a MindSphere application, e.g., a dashboard, can be displayed around the clock without the need of manual re-authentication on enforced session expiration

A python script providing an idea of how a MindSphere application, e.g., a dashboard, can be displayed around the clock without the need of manual re-authentication on enforced session expiration

MindSphere 3 Jun 03, 2022
General tricks that may help you find bad, or noisy, labels in your dataset

doubtlab A lab for bad labels. Warning still in progress. This repository contains general tricks that may help you find bad, or noisy, labels in your

vincent d warmerdam 449 Dec 26, 2022
「📖」Tool created to extract metadata from a domain

Metafind is an OSINT tool created with the aim of automating the search for metadata of a particular domain from the search engine known as Google.

9 Dec 28, 2022
Keep your company's passwords behind the firewall

TeamVault TeamVault is an open-source web-based shared password manager for behind-the-firewall installation. It requires Python 3.3+ and Postgres (wi

//SEIBERT/MEDIA GmbH 38 Feb 20, 2022
rTorrent Crash Prevention

rTorrent Disk Checker This program is capable of the following when: - a torrent is added by any program (autodl-irssi, RSS Downloader et

16 Dec 14, 2022
Curso de Python 3 do Básico ao Avançado

Curso de Python 3 do Básico ao Avançado Desafio: Buscador de arquivos Criar um programa que faça a pesquisa de arquivos. É fornecido o caminho e um te

Diego Guedes 1 Jan 21, 2022
Data Structures and Algorithms Python - Practice data structures and algorithms in python with few small projects

Data Structures and Algorithms All the essential resources and template code nee

Hesham 13 Dec 01, 2022
An extensive password manager built using Python, multiple implementations. Something to meet everyone's taste.

An awesome open-sourced password manager! Explore the docs » View Demo · Report Bug · Request Feature 🐍 Python Password Manager 🔐 An extensive passw

Sam R 7 Sep 28, 2021
Uproot - A script to bring deeply nested files or directories to the surface

UPROOT Bring deeply nested files or folders to the surface Uproot helps convert

Ted 2 Jan 15, 2022
Shared utility scripts for AI for Earth projects and team members

Overview Shared utilities developed by the Microsoft AI for Earth team The general convention in this repo is that users who want to consume these uti

Microsoft 38 Dec 30, 2022