Úprava UE capabilities cez súbor .binarybp pre Pixel zariadenia
Predtým, ako začneš robiť úpravy súborov, tak si vždy zálohuj originálne súbory a inštaluj len dôveryhodné moduly z renomovaných zdrojov. Všetko robíš na vlastné riziko!
Čo je to binarybp?
V celom tomto príspevku / návode budem hovoriť o súbore s koncovkou .binarybp. Preto budem už iba používať skratku "binarybp" a budem odkazovať na tento súbor. Je to súbor, ktorý má v sebe zakódované UE capabilities. A práve veľká výhoda Shannon modemov, ktoré sú v Pixel zariadeniach je, že si tento súbor môžeme upravovať a tým ovplyvňovať UE capabilities. Tento súbor sa nachádza v každom zariadení Pixel. Podľa toho akého operátora používaš, tak taký súbor binarybp sa používa. Lebo vo firmware sa nachádzajú binarybp pre všetkých operátorov, ktorých Google podporuje. Cieľom tohto návodu je lokalizovať tieto súbory v mobile, zistiť ktorý binarybp mobil používa, dekódovať súbor aby sme mohli robiť úpravy, znova zakódovať a poslať do mobilu. Ak ťa zaujíma ako vyzerá obsah binarybp, tak tu je príklad, kde som si vložil vlastnú EN-DC kombináciu 3x DL NR NSA bandy, čo nepodporuje žiadny terminál bez manuálnej úpravy.
Čo na to budeš potrebovať?
- odblokovaný bootloader (návod som napísal tu)
- root v mobile (návod som napísal tu)
- aplikáciu Magisk (ak máš root tak už ju máš v mobile), Termux
- Magisk module - MDS
- súbory protoc (Pozor, je nutné stiahnuť správnu verziu. Pre WINDOWS musí mať koncovku win32 alebo win64.) a šablónu ShannonNrUeCap.proto
- webová stránka - https://nxij.github.io/pixel-pb/
- upravený Magisk modul ako vzor
Ako prvé odporúčam nainštalovať aplikáciu Termux do mobilu. Potom si rozbaľ "protoc" súbory a vlož do tohto adresáru šablónu .proto a upravený vzorový súbor.
Ako zistíš aký .binarybp používa môj mobil?
Na celom postupe je najdôležitejšie zistiť, ktorý binarybp mobil presne používa, jeho lokalizácia v adresári "system" v mobile a skopírovanie do PC, aby si s ním mohol pracovať. Takže ideme na to.
Skopíruj si MDS module .zip súbor do mobilu, ktorý si si stiahol z odkazu vyššie. Choď do aplikácie Magisk => Moduly (vpravo dole) => Inštalácia z úložiska => vyber MDS module a postupuj podľa toho čo ti napíše aplikácia Magisk. Nakoniec reštartuj mobil. Toto je prvá časť inštalácie MDS. Teraz musíš spustiť aplikáciu Termux a postupne píš tieto príkazy (čo riadok, to príkaz):
am start -n com.google.mds/.startup.HomeActivityk
Týmto si dokázal spustiť aplikáciu MDS, ale teraz potrebuješ zapnúť ikonu na ploche, aby si toto nemusel robiť za každým. Takže klikni na Menu (tri čiarky vľavo hore) => Settings => zapni možnosť Show app icon. Možno si si všimol, ale v aplikácií MDS boli rôzne políčka, ale u nich chýbali údaje, ktoré sú pre teba doležité. Teba konkrétne zaujíma posledná položka "CA combo category" U tohto políčka sa musí nachádzať informácia o použitom binarybp súbore.
Na to, aby si zobrazil túto informáciu musíš najskôr vynútiť vypnutie aplikácie MDS. Podrž prst na ikone MDS, vyber možnosť "Informácie o aplikácii" a vyber možnosť "Vynútiť zastavenie". Teraz znova spusti aplikáciu Termux a začni postupne písať tieto príkazy. Keď ich napíšeš, tak znova spusti aplikáciu MDS a už by si tam mal vidieť údaje, ktoré potrebuješ.
setenforce 0
/vendor/bin/vcd
Malo by to vyzerať nejako takto. Toto je prípad, že sú používané obidve SIM karty. Ak je v mobile iba jedna, tak tam bude iba jeden záznam:

Ak chceš robiť iba nejaké malé zmeny, tak odporúčam si stiahnúť daný .binarybp súbor do PC a vytvoriť si z neho kópiu, ktorú budeš úpravovať. Nájdeš ho v tomto adresári v mobile - system\vendor\firmware\uecapconfig (na to, aby si sa tam dostal, tak potrebuješ súborový prehliadač s podporou root, napr. ZArchiver). Ja osobne odporúčam, zmeniť tento aktuálne používaný binarybp súbor (závislý na tom čo povoľuje operátor) za všeobecný binarybp označovaný ako PLATFORM binarybp, ktorý odblokuje mnohé nové a zaujímavé CA kombinácie. Jedná sa viac-menej o niečo ako HW CA combo. Na to, aby si zmenil binarybp použi nasledovný Magisk module. Ten si skopíruj do mobilu a rovnakým spôsobom akým si inštaloval MDS do mobilu, nainštaluj aj tento module.
Tento Magisk module zruší priradenie všetkých PLMN a vráti ich späť na PLATFORM binarybp, odkiaľ telefón použije požadované pásma vašou sieťou na odfiltrovanie tých, ktoré potrebuje. Toto nebude fungovať, ak váš operátor nepožaduje žiadne pásma.
U mňa to vyzeralo nejako takto. Odporúčam zapísať si niekde názov toho súboru - PLATFORM_xxxxxx.binarybp (je predpoklad, že pre EU Pixely sa ten súbor bude volať rovnako).

Výhoda prechodu na PLATFORM je tá, že na GitHub je vždy dostupná aktuálna verzia pre Magisk vo forme .zip súboru. Táto "databáza" je pravidelne aktualizovaná a vylepšovaná.
Chcem používať aktuálnu verziu PLATFORM z GitHub, ako na to?
Na internete sa nachádza veľká skupina ľudí, ktorí sa venujú rôznym úpravám a testovaniu týchto nových zmien a celkovo sa zaujímajú o modemy Shannon od firmy Samsung. Jedným z nich je aj môj kamoš Henrik, ktorý pre túto komunitu spravil veľa veci, programov a robí najmä aktualizácie Magisk modulov s aktuálnou konfiguráciou.
Každý binarybp je špecifický a to znamená, že keby ti niekto poslal svoj binarybp, tak si ho nemôžeš vložiť do mobilu. V binarybp sa nachádzajú 3 položky, ktoré sú dôležité a musia tam vždy zostať. Všetko ostatné sa môže zmeniť. Sú to položky "version:", "id:" a "integrity:". Na to aby si poznal tieto 3 položky, tak najskôr musíš dekódovať svoj binarybp.
Teraz prichádzajú na radu tzv. protoc súbory. Predpokladám, že si rozbalil daný .zip súbor z odkaz na začiatku návodu. V adresári sa nachádzajú ďalšie dva podadresáre "bin" a "include". Do podadresáru "bin" vlož svoj binarybp súbor (skopírovaný z mobilu) a súbor ShannonNrUeCap.proto. Spusti si príkazový riadok, choď do adresáru kde sú protoc súbory a napíš nasledovný príkaz (je to jeden dlhý príkaz). Pred tým ako ho potvrdíš, tak na konci sa nachádza časť kódu "decoded.txt". Môžeš zmeniť tento názov .txt súboru, ktorý vznikne, na to čo potrebuješ, aby si ho dokázal rozlíšiť od iných. Predtým je ešte časť kódu, kde je napísaný názov binarybp (PLATFORM_xxxxxxxx.binarypb), ktorý budeš dekódovať. Musí byť totožný s tým, ktorý si nakopíroval do adresáru "bin".
Týmto sa ti vytvoril nový .txt súbor, ktorý reprezentuje dekódovaný binarybp. Na prvom, druhom a poslednom riadku sa nachádzajú dôležité údajte, ktoré si niekde skopíruj a ulož. Vo vnútri súbora to vyzerá nejako takto:
Aby to bolo ešte zložitejšie, tak teraz si stiahni aktuálnu upravenú verziu binarybp, kde sú zapnuté všetky dostupné CA combo a plus niektoré zaujímavé kombinácie navyše (download). Sprav rovnaký proces dekódovania ako si to spravil so svojím binarybp. Odporúčam použiť iný názov výsledného .txt súboru. Pozor, na rovnaké mená binarybp súborov!
Vo finálne máš teda dva súbory .txt, ktoré sú výsledkom dekódovania. Ako som v úvode napísal, každý binarybp má svoje unikátne číslo pre "version", "id" a "integrity". Takže teraz z .txt súboru, ktorý vznikol z tvojho binarybp, odstráň všetky riadky okrem prvého, druhého a posledného. Potom skopíruj riadky z .txt súboru (znova okrem prvého, druhého a posledného), ktoré vznikli z dekódovania binarybp z GitHub. Svoj binarybp následne ulož cez Save.
Teraz budeš musieť tento .txt súbor znova zakódovať, aby si ho mohol flashnúť do mobilu a používať. Takže v príkazovom riadku, kde si písal príkaz na dekódovanie, tak použi tento príkaz na zakódovanie. Nový .txt súbor sa samozrejme musí nachádzať v adresári, kde sú proto súbory. Odporúčam ti, z daného adresáru presunúť všetky súbory, ktoré nebudeme potrebovať (najmä .binarybp súbory). Teraz napíš tento príkaz. Nezabudni, že najpodstatnejšie je to, aby sa nový binarybp volal presne rovnako ako tvoj binarybp v mobile. Preto si uprav v tom príkaze časť "PLATFORM_xxxxxxxx.binarypb", ktorú nahradíš svojím názvom. Na konci sa nachádza "decoded.txt", ktorý si uprav podľa názvu .txt súboru, ktorý chceš zakódovať.
Vytvoril si nový binarybp súbor a teraz ho musíš nejako flashnúť do mobilu. Súbor s touto príponou samozrejme nemôžeš flashovať. Musíš si ho upraviť na .zip súbor, aby sa mohol flashnúť cez Magisk aplikáciu. Na to bude slúžiť práve webová stránka, ktorá je napísaná v úvode. Otvor si ju vo webovom prehliadači a vlož tam súbor binarybp, ktorý si si práve vytvoril. Potom vpravom hornom rohu klikni na tlačidlo ".zip" a tým sa automatický binarybp pretransformuje na .zip súbor a stiahne do PC.

Skopíruj si novovytvorený .zip súbor do mobilu. Spusti aplikáciu Magisk a klikni na záložku Moduly (vpravo dole) => Inštalácia z úložiska => vyber .zip súbor a postupuj podľa toho čo ti napíše aplikácia Magisk. Nakoniec reštartuj mobil.