So ändern Sie Bluetooth-Stacks unter Android für eine deutlich verbesserte Bluetooth-Audioqualität

Warnung: Dies ist ein hochentwickelter Leitfaden zum Ändern Ihrer Bluetooth-Stacks unter Android. Lesen Sie diesen Leitfaden vollständig und befolgen Sie alle Anweisungen genau wie angegeben.

Trotz der Tatsache, dass Bluetooth-Headsets und Bluetooth-Audio mittlerweile recht beliebt sind, ist es für Audiophile ein Problem, da Bluetooth nachweislich die Audioqualität verringert, da über Bluetooth-Streaming Teile der Audioinformationen und -frequenzen in der Luft verloren gehen.

Aus diesem Grund verwenden einige Hersteller die Codecs aptX und LDAC, um die Klangqualität gegenüber dem standardmäßigen SBC-Bluetooth-Codec zu verbessern, der von allen Kopfhörern und den meisten Bluetooth-Geräten unterstützt wird. Geräte mit den Codecs aptX und LDAC sind jedoch aufgrund dieser Codecs viel teurer Lizenzgebühren verlangen, die der Verbraucher langfristig bezahlt.

Die geringe Audioqualität des SBC-Bluetooth-Codecs wird durch künstliche Einschränkungen aller aktuellen Bluetooth-Stacks und der Kopfhörerkonfiguration verursacht. Diese Einschränkung kann auf allen vorhandenen Geräten umgangen werden.

Wenn Sie an Bluetooth-Audio interessiert sind, zeigen wir Ihnen am Ende dieses Handbuchs, wie Sie einen Bluetooth-Audio-Log-Dump erstellen und überprüfen, welche Art von Audioqualität und -frequenz Sie von Ihrem Android-Bluetooth-Empfänger erhalten.

Der Großteil dieses Handbuchs konzentriert sich auf ein paar einfache Änderungen und Möglichkeiten zum Lesen Ihrer Bluetooth-Audioausgabe, um die Ausgabequalität von Standard-SBC-Bluetooth-Codecs erheblich zu verbessern. Lesen Sie das gesamte Handbuch sorgfältig durch, da es sehr lehrreich ist und es viele verschiedene Dinge gibt zu blinken oder zu optimieren, je nach Gerätemodell.

Am Ende dieses Handbuchs finden Sie eine Liste der vorinstallierten Bluetooth-Stacks für viele gängige Android-Geräte. Diese können bei der Wiederherstellung wie jedes andere flashbare ZIP-Format geflasht werden. Wenn keines der Geräte Ihnen gehört, verfügen Sie über Folgendes: Befolgen Sie die Anleitung zum Ändern von Bluetooth-Stapeln unter Android.

Kurze technische Informationen zum SBC-Codec

SBC hat viele verschiedene Parameter, die während der Verbindungsaufbauphase ausgehandelt werden:

  • Audiokanaltyp und -nummer: Joint Stereo, Stereo, Dual Channel, Mono;
  • Anzahl der Frequenzbänder: 4 oder 8;
  • Anzahl der Audioblöcke in einem Paket: 4, 8, 12, 16;
  • Quantisierungs-Bitzuweisungsalgorithmus: Loudness, SNR;
  • Maximaler und minimaler Bitpool, der im Quantisierungsprozess verwendet wird: normalerweise 2-53.

Der Decoder muss eine beliebige Kombination dieser Parameter unterstützen. Der Encoder kann nur einen Teil davon implementieren.

Bestehende Bluetooth-Stacks handeln normalerweise das folgende Profil aus: Joint Stereo, 8 Bänder, 16 Blöcke, Loudness, Bitpool 2..53. Dieses Profil codiert 44, 1-kHz-Audio mit einer Bitrate von 328 kbit / s.

Bitpool-Parameter wirken sich direkt auf die Bitrate innerhalb desselben Profils aus: Je höher sie ist, desto höher ist die Bitrate und damit die Qualität.

Der Bitpool-Parameter ist jedoch nicht an ein bestimmtes Profil gebunden. Die Bitrate wird auch erheblich von anderen Parametern beeinflusst: Audiokanaltyp, Anzahl der Frequenzbänder, Anzahl der Audioblöcke. Sie können die Bitrate indirekt erhöhen, indem Sie nicht standardmäßige Profile aushandeln, ohne den Bitpool zu ändern.

Beispielsweise codiert Dual Channel die Kanäle separat unter Verwendung des gesamten Bitpools für jeden Kanal. Wenn Sie das Gerät zwingen, Dual Channel anstelle von Joint Stereo zu verwenden, wird die Bitrate bei demselben maximalen Bitpool von 617 kbit / s fast verdoppelt.

Für mich sollte Bitpool eine interne Variable sein. Es ist ein Entwurfsfehler der A2DP-Spezifikation, dass der Bitpool-Wert nicht an andere Codec-Parameter gebunden und nur als globaler Wert definiert ist.

Diese festen Bitpool- und Bitratenwerte stammen von den empfohlenen Werten für qualitativ hochwertiges Audio. Die Empfehlung ist jedoch keine Entschuldigung, um das Profil auf diese Werte zu beschränken.

Die A2DP-Spezifikation v1.2, die von 2007 bis 2015 aktiv war, erfordert, dass alle Decoder korrekt mit Bitraten von bis zu 512 kbit / s arbeiten:

Der Decoder des SNK soll alle möglichen Bitpool-Werte unterstützen, die nicht zu einer Überschreitung der maximalen Bitrate führen. Dieses Profil begrenzt die verfügbare maximale Bitrate auf 320 kb / s für Mono und 512 kb / s für Zweikanalmodi.

In der neuen Version der Spezifikation gibt es keine Bitratenbeschränkung. Es wird davon ausgegangen, dass moderne Kopfhörer, die nach 2015 auf den Markt kommen , Bitraten von bis zu 1000 Kbit / s unterstützen .

Aus irgendeinem Grund gelten für alle derzeit getesteten Bluetooth-Stacks (Linux (PulseAudio), Android, Blackberry und macOS) künstliche Beschränkungen des maximalen Bitpool-Parameters, die sich direkt auf die maximale Bitrate auswirken. Dies ist jedoch nicht das größte Problem. Fast alle Kopfhörer beschränken den maximalen Bitpool-Wert auf 53.

Die meisten Geräte funktionieren problemlos auf einem modifizierten Bluetooth-Stack mit einer Bitrate von 507 KBit / s, ohne Unterbrechungen und Knistern. Eine solche Bitrate wird jedoch niemals unter normalen Bedingungen mit Standard-Bluetooth-Stacks ausgehandelt.

*** Erforderlich zum Testen unter Verwendung der folgenden Anleitungen: bluetooth-dualchannel-test-ubuntu-18.04.1-desktop-amd64.iso.torrent

So testen Sie auf einem PC

Der SBC-Kopfhörer-Kompatibilitätstest mit hoher Bitrate ist mit einem Bluetooth-Adapter am einfachsten auf dem PC durchzuführen. Ich habe Ubuntu-Image mit einem modifizierten Bluetooth-Stack vorbereitet, der wie in einer virtuellen Maschine ausgeführt werden kann (durch Anschließen des Bluetooth-Adapters als USB-Gerät in der virtuellen Maschine funktioniert er auch mit den in den Laptops integrierten Adaptern) oder durch Booten von das USB-Flash-Laufwerk. Dieses Bild verwendet das folgende Profil: Dual Channel, 8 Bänder, 16 Blöcke, Loudness, Bitpool 2..41, 44.1 kHz, das eine Bitrate von 485 kbit / s bereitstellt.

Laufen in einer VM

  • Laden Sie Virtualbox und Virtualbox Extension Pack herunter: //www.virtualbox.org/wiki/Downloads;
  • Installieren Sie Virtualbox und starten Sie es.
  • Installieren Sie das Extension Pack über Datei → Einstellungen → Erweiterungen.
  • Erstellen Sie eine neue virtuelle Maschine: Linux, Ubuntu (64-Bit), 1024 RAM. Erstellen Sie keine Festplatte.
  • Navigieren Sie zu den Einstellungen der virtuellen Maschine und wählen Sie unter Speicher die Option Controller: IDE, Leer. Drücken Sie das CD-Symbol. → Wählen Sie die Datei für die virtuelle optische Festplatte.
  • Wählen Sie die heruntergeladene Datei bluetooth-dualchannel-test-ubuntu-18.04.1-desktop-amd64.iso aus.
  • Einstellungsfenster speichern und schließen, virtuelle Maschine starten;
  • Klicken Sie mit der rechten Maustaste auf das USB-Kabelsymbol unten rechts und wählen Sie Ihren Bluetooth-Adapter aus.

Laufen auf einem PC

Das Image unterstützt das Booten von BIOS / CSM und UEFI.

  • Brennen Sie das Image mit Etcher: //etcher.io/ auf einen USB-Stick. Dieser Vorgang löscht alle vorhandenen Dateien auf einem USB-Laufwerk.
  • Schalten Sie den PC aus.
  • Stecken Sie den USB-Stick ein, schalten Sie den PC ein und drücken Sie die Startreihenfolge-Taste (normalerweise Esc oder F12).
  • Wählen Sie Ihr USB-Flash-Laufwerk.

Test durchführen

  • (Optional, aber empfohlen) Doppelklicken Sie auf dem Desktop auf das Skript "Btsnoop Dump". Die Bluetooth-Datenerfassung wird für eine spätere Analyse gestartet. Terminalfenster nicht schließen.
  • Schalten Sie die Kopfhörer in den Pairing-Modus.
  • Klicken Sie auf den Pfeil in der rechten oberen Ecke und wählen Sie Bluetooth-Symbol → Bluetooth-Einstellungen.
  • Wählen Sie Ihre Kopfhörer aus, warten Sie, bis die Kopplung abgeschlossen ist, und schließen Sie das Fenster.
  • Stellen Sie die Ubuntu-Lautstärke auf ungefähr 2/3 ein. Verringern Sie die Lautstärke auch mit den Headset-Tasten, da sie nach dem Pairing sehr laut sein kann.
  • Öffne den Ordner "music" und spiele "testrecord1.flac" ab.
  • (optional, aber empfohlen) Player schließen, Terminalfenster schließen. Dies stoppt die Datenerfassung.
  • (optional, aber empfohlen) Öffnen Sie den Firefox-Browser und laden Sie den Datendump (btsnoop_hci.btsnoop auf dem Desktop) auf //btcodecs.valdikss.org.ru/ hoch.

Sie können andere Musik im Musikordner anhören oder eigene Musik hochladen.

Die Kopfhörer dürfen keine Knackgeräusche, Audiounterbrechungen oder andere Klangverzerrungen aufweisen. Wenn Sie eine gute Klangqualität hören, bedeutet dies, dass Ihre Kopfhörer Audio mit einer Bitrate von 485 kbit / s unterstützen.

So testen Sie auf einem Android-Gerät

Zum Testen von Android-Smartphones oder -Tablets müssen Sie einen geänderten Bluetooth-Stack verwenden, für den Root-Berechtigungen erforderlich sind.

Erfassen von Bluetooth-Daten auf Android

  1. Bluetooth ausschalten;
  2. Aktivieren Sie in den Entwicklereinstellungen den Schalter "Bluetooth-HCI-Snoop-Protokoll aktivieren".
  3. Schalten Sie Bluetooth ein und stellen Sie über das Bluetooth-Menü eine Verbindung zu Ihrem Headset her (dies ist wichtig! Automatische Verbindung nicht zulassen!).
  4. Spielen Sie ein kurzes Hörbeispiel ab.
  5. Öffnen Sie die Entwicklereinstellungen und deaktivieren Sie den Schalter "Bluetooth-HCI-Snoop-Protokoll aktivieren".
  6. Es sollte /storage/emulated/0/btsnoop_hci.log oder /data/misc/bluetooth/logs/btsnoop_hci.log erstellt werden. Wenn es fehlt, öffnen Sie /etc/bluetooth/bt_stack.conf mit einem Texteditor und überprüfen Sie den Pfad in der Option BtSnoopFileName.

Die Kopfhörer dürfen keine Knackgeräusche, Audiounterbrechungen oder andere Klangverzerrungen aufweisen. Wenn Sie mit der gepatchten Bibliothek eine gute Klangqualität hören, bedeutet dies, dass Ihre Kopfhörer Audio mit einer Bitrate von 512 kbps unterstützen.

Bitte befolgen Sie den obigen Algorithmus sorgfältig. Insbesondere wenn Sie die Kopfhörer ausschalten oder nach dem Pairing die Verbindung trennen, ist es wichtig, dass Sie die Verbindung über die Bluetooth-Einstellungen manuell herstellen. Erlauben Sie keine automatische Verbindung!

Geräte, die mindestens 512 kbit / s SBC unterstützen

  • 1Mehr iBFree
  • JBL Everest 310
  • JBL Everest 700
  • Schädelbonbon HESH 3
  • Sony WI-C400
  • Sony MDR-1ABT
  • Sony MDR-ZX770BT
  • Sony MDR-XB650BT
  • Sony MDR-XB950B1
  • Sony SBH50
  • Bluedio T4s (Bitpool max 39. Reagieren Sie, um Dual Channel nicht zu unterstützen, aber arbeiten Sie, wenn erzwungen, 462 kbit / s. Entspricht nicht der A2DP-Spezifikation.)
  • Bluedio T5 (Reagiert darauf, Dual Channel nicht zu unterstützen, funktioniert aber, wenn erzwungen wird. Entspricht nicht der A2DP-Spezifikation.)
  • Bluedio T6 (Reagieren Sie, um Dual Channel nicht zu unterstützen, aber arbeiten Sie, wenn Sie dazu gezwungen werden. Entspricht nicht der A2DP-Spezifikation. Übernehmen Sie den Max 97220-Chip.)
  • Marshall Major II Bluetooth
  • RealForce D1 übersteuern
  • Edifier W830BT
  • DEXP BT-250
  • Logitech BT Adapter
  • Noname Automotive Head Unit (CSR8645 Chip)
  • Sony DSX-A400BT Kfz-Headunit

Geräte, die SBC mit mehr als 512 kbit / s unterstützen

  • JBL Everest 310 (617-660 kbit / s)
  • Sony WI-C400 (576 kbit / s)
  • Sony MDR-ZX770BT (617-660 kbit / s)
  • Marshall Major II Bluetooth (617-660 kbit / s)
  • Overdrive RealForce D1 (730 kbit / s, Zweikanal, 4 Subbänder)

Geräte, die nicht mit höheren Bitraten oder Dual Channel arbeiten

  1. Harper HB-202 (Knistern; Beken BK3256 Chip)
  2. Sony Ericsson MW600 (Hochfrequenzverzerrung, Knistern; Gerät von 2009)

Warum das wichtig ist: SBC 328k und 485k vs aptX

Entgegen der landläufigen Meinung, dass die aptX-Tonqualität in einigen Fällen schlechter ist als die von SBC mit einer Standard-328k-Bitrate.

SBC weist den Frequenzbändern dynamisch Quantisierungsbits zu, die von unten nach oben arbeiten. Wenn die gesamte Bitrate für die unteren und mittleren Frequenzen verwendet wurde, werden die oberen Frequenzen abgeschnitten (stummgeschaltet).

aptX quantisiert Frequenzbänder mit der gleichen Anzahl von Bits konstant, was es zu einem Codec mit konstanter Bitrate macht: 352 kbit / s für 44, 1 kHz, 384 kbit / s für 48 kHz. Es kann keine Bits auf Frequenzen „übertragen“, die in ihnen am häufigsten benötigt werden. Im Gegensatz zu SBC „schneidet“ aptX die Frequenzen nicht, sondern fügt ihnen Quantisierungsrauschen hinzu, verringert den Dynamikbereich von Audio und führt manchmal zu Knistern. SBC hingegen „frisst die Details“ - wirft die leisesten Bereiche weg.

Im Durchschnitt macht aptX im Vergleich zu SBC 328k weniger Verzerrungen bei Musik mit einem weiten Frequenzbereich, aber bei Musik mit einem engen Frequenzbereich und einem weiten Dynamikbereich gewinnt SBC 328k manchmal.

Betrachten wir einen Sonderfall, eine Klavieraufnahme. Hier ist ein Spektrogramm:

Die meiste Energie liegt in den Frequenzen 0-4 kHz und dauert bis zu 10 kHz.

Das Spektrogramm der Datei aptX file sieht folgendermaßen aus:

Hier ist SBC 328k:

Es ist ersichtlich, dass der SBC 328k den Bereich über 16 kHz regelmäßig vollständig abschneidet und alle verfügbaren Bitraten für Bereiche unter diesem Wert verwendet. AptX führte jedoch mehr Verzerrungen in das vom menschlichen Ohr wahrnehmbare Frequenzspektrum ein, was auf dem vom aptX-Spektrogramm subtrahierten Originalspektrogramm zu sehen ist (je heller, desto stärker die Verzerrung):

Während der SBC 328k weniger Verzerrung eingeführt hat, liegt das Signal im Bereich von 0 bis 10 kHz, und der Rest wurde abgeschnitten:

Bitrate 485k für SBC reichte aus, um den gesamten Frequenzbereich zu speichern, ohne die Bänder abzuschneiden.

SBC 485k ist in diesem Audio-Sample viel besser als aptX im Bereich von 0-15 kHz und mit einem kleineren, aber immer noch spürbaren Unterschied - bei 15-22 kHz (je dunkler, desto weniger Verzerrung):

Wenn Sie zu einem SBC mit hoher Bitrate wechseln, erhalten Sie die meiste Zeit über Kopfhörer einen Klang, der aptX überlegen ist.

  • original_and_aptx.zip
  • sbc.zip

So ändern Sie die Bluetooth-Stacks unter Android 5 - 7

Diese Änderungen sollten angewendet werden, um Android Bluetooth-Stacks Bluedroid (Android 5) und Fluoride (Android 6-7) zu speichern. Qualcomm-modified Stack wird nicht unterstützt.

Ersetzen Sie Joint Stereo durch Dual Channel in der Standard-SBC-Konfiguration

android / plattform / extern / bluetooth / bluedroid / btif / co / bta_av_co.c: 99

Code:

 const tA2D_SBC_CIE btif_av_sbc_default_config = {BTIF_AV_SBC_DEFAULT_SAMP_FREQ, / * samp_freq * / A2D_SBC_IE_CH_MD_JOINT, / * ch_mode * / A2D_SBC_IE_BLOCKS_16, / * block_len * / A2D_SBC_IE_SUBBAND_8, / * num_subbands * / A2D_SBC_IE_ALLOC_MD_L, / * alloc_mthd * / BTA_AV_CO_SBC_MAX_BITPOOL, / * max_bitpool * / A2D_SBC_IE_MIN_BITPOOL / * min_bitpool * /}; 

Ersetzen Sie A2D_SBC_IE_CH_MD_JOINT durch A2D_SBC_IE_CH_MD_DUAL.

Erhöhen Sie die Zweikanalpriorität

android / plattform / extern / bluetooth / bluedroid / btif / co / bta_av_co.c: 4

Code:

 if (src_cap.ch_mode & A2D_SBC_IE_CH_MD_JOINT) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_JOINT; sonst wenn (src_cap.ch_mode & A2D_SBC_IE_CH_MD_STEREO) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_STEREO; sonst wenn (src_cap.ch_mode & A2D_SBC_IE_CH_MD_DUAL) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_DUAL; sonst wenn (src_cap.ch_mode & A2D_SBC_IE_CH_MD_MONO) pref_cap.ch_mode = A2D_SBC_IE_CH_MD_MONO; Bewegen Sie if mit A2D_SBC_IE_CH_MD_DUAL nach oben. 
  1. Deaktivieren oder erhöhen Sie die Bitratenbeschränkung

Der Android-Bluetooth-Stack hat nicht nur ein Bitpool-Limit, sondern auch ein Bitraten-Limit von 328 kbit / s. Wenn der Kopfhörer beispielsweise Bitpool 53 für 48 kHz unterstützt, verringert Android den Bitpool auf 328 kbit / s. Dies geschieht, nachdem die Codec-Aushandlung in der Codierungsphase den Bitpool-Wert im Bluetooth-SetCapabilities-Paket nicht berücksichtigt hat.

android / plattform / extern / bluetooth / bluedroid / btif / src / btif_media_task.c: 172

Code:

 #define DEFAULT_SBC_BITRATE 328 

Ersetzen Sie durch 512.

  1. (nur für Experimente) Deaktivieren Sie das MTU-Limit.

Dies ist für Bitraten über ~ 580 kbit / s erforderlich.

btif / src / btif_media_task.c: 174

Code:

 / * 2DH5-Nutzdatengröße von 679 Byte - (4 Byte L2CAP-Header + 12 Byte AVDTP-Header) * / #define MAX_2MBPS_AVDTP_MTU 663 

Ändern von Bluetooth-Stapeln unter Android 8 - 9

Diese Modifikationen wurden nicht getestet, sollten aber funktionieren.

Fügen Sie der A2DP SBC Source Dual Channel-Unterstützung hinzu

/platform/system/bt/stack/a2dp/a2dp_sbc.cc:55

Code:

 / * SBC-SRC-Codec-Funktionen * / statische Konstante tA2DP_SBC_CIE a2dp_sbc_caps = A2DP_SBC_IE_SAMP_FREQ_44, / * samp_freq * / (A2DP_SBC_IE_CH_MD_MONO; 

Fügen Sie A2DP_SBC_IE_CH_MD_DUAL in ch_mode hinzu.

Ersetzen Sie Joint Stereo durch Dual Channel in der Standardkonfiguration

/platform/system/bt/stack/a2dp/a2dp_sbc.cc:82

Code:

 / * Standard-SBC-Codec-Konfiguration * / konst tA2DP_SBC_CIE a2dp_sbc_default_config = {A2DP_SBC_IE_SAMP_FREQ_44, / * samp_freq * / A2DP_SBC_IE_CH_MD_JOINT, / * ch_mode * / A2DP_SBC_IE_BLOCKS_16, / * block_len * / A2DP_SBC_IE_SUBBAND_8, / * num_subbands * / A2DP_SBC_IE_ALLOC_MD_L, / * alloc_method * / A2DP_SBC_IE_MIN_BITPOOL, / * min_bitpool * / A2DP_SBC_MAX_BITPOOL, / * max_bitpool * / BTAV_A2DP_CODEC_BITS_PER_SAMPLE_16 / * bits_per_sample * /}; 

Ersetzen Sie A2DP_SBC_IE_CH_MD_JOINT durch A2DP_SBC_IE_CH_MD_DUAL.

Erhöhen Sie die Zweikanalpriorität

/platform/system/bt/stack/a2dp/a2dp_sbc.cc:1155

Code:

 static bool select_best_channel_mode (uint8_t ch_mode, tA2DP_SBC_CIE * p_result, btav_a2dp_codec_config_t * p_codec_config) {if (ch_mode & A2DP_SBC_IE_CH_MD_JOINTD_C> {pBC_IE_CH_IE_ p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO; return true; } if (ch_mode & A2DP_SBC_IE_CH_MD_STEREO) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_STEREO; p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO; return true; } if (ch_mode & A2DP_SBC_IE_CH_MD_DUAL) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_DUAL; p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_STEREO; return true; } if (ch_mode & A2DP_SBC_IE_CH_MD_MONO) {p_result-> ch_mode = A2DP_SBC_IE_CH_MD_MONO; p_codec_config-> channel_mode = BTAV_A2DP_CODEC_CHANNEL_MODE_MONO; return true; } falsch zurückgeben; } 

Verschieben Sie if mit A2DP_SBC_IE_CH_MD_DUAL nach oben.

Erhöhen Sie das Bitratenlimit

/platform/system/bt/stack/a2dp/a2dp_sbc_encoder.cc:42

Code:

 #define A2DP_SBC_DEFAULT_BITRATE 328 

Ersetzen Sie durch 512.

  1. (nur für Experimente) Deaktivieren Sie das MTU-Limit

Dies ist für Bitraten über ~ 580 kbit / s erforderlich.

/platform/system/bt/stack/a2dp/a2dp_sbc_encoder.cc:47

Code:

 #define MAX_2MBPS_AVDTP_MTU 663 

Gepatchte Bluetooth-Stacks (Flashable)

  • Le Max 2 Oreo Patched.zip
  • LeEco Cool Changer S1 EUI_5.8.19S.zip
  • Leeco LE2 (EUI 5.9.26s, Android 6) .zip
  • Xiaomi Mi Note (Miui 9 Miui.su usnkreal v8.4.12, Android 6.0.1) .zip
  • Xiaomi mi note 3 (MIUI 9, Android 7) .zip
  • Xiaomi Mi4c (Android 7.0 NRD90M, MIUI-9.5 9.5.1.0 (NXKCNFA))
  • Xiaomi MI5s (MIUI Global 9.6.1.0, Android 7) .zip
  • Xiaomi Redmi 3s (android 6.01, mmb29m, miui global 9.6.1.0) .zip
  • Xiaomi Redmi 4 (MiuiPro 10 8.8.2, Android 6.0.1, MMB29M) .zip
  • Xiaomi Redmi 4 Prime.zip
  • Xiaomi Redmi 4 pro (MIUI 9, miuipro 8.4.26) .zip
  • Xiaomi Redmi Note 3 (Auferstehung Remix Android 7.1.2_r36) .zip
  • Redmi Note 4x (Masik Premium, Android 7.0) .zip
  • Asus Zoom (Android 5, 2.26.40.108_20160520) .zip
  • Le Max 2 Oreo Patched.zip
  • Huawei P9 (Android 7) .zip
  • Samsung Galaxy S4 LTE GT-I9505 (Android 7.1.2; LineageOS 14.1-20180615-NIGHTLY-jfltexx) .zip
  • Postleitzahl
  • Le Max 2 Oreo Patched.zip

Interessante Artikel