blogy logo
login PRIHLÁS SA
BLOG deadawp
ČLÁNKY
DISKUSIE
2
SLEDOVAŤ BLOG
martinius96 (at) gmail.com
deadawp



MFD1 - zmena kódu pre odomknutie rádia
pridal deadawp 27.9. 2026 o 14:41 (naposledy upravené 5.10. 2026 o 20:25)

Rádio MFD1 RNS (Radio Navigation System) bolo hojne používané v autách koncernu VW, najmä v 90-tich rokoch až 200X roku výroby. Šlo o príplatkové rádio, ktoré v tej dobe stálo zhruba 10 až 15% ceny vozidla a tak si ho nemohol každý dovoliť. Dnes ho na Bazoši kúpite za desiatky eur v neznámom stave, či niečo cez stovku a je to fajn vylepšenie starého 1DIN (Gamma, Monsoon, Premium, Beta), alebo 2DIN rádia (MCD) za originálne 2DIN s farebným displejom, pokiaľ nejdete do Android rádii.


RNS MCD rádio

Rádio pasuje presne do stredového panela auta, ktoré má k tomu uspôsobené aj plasty pre lícovanie s rádiom. V spojitosti s plastami s imitáciou dreva môže vyzerať dosť luxusne aj vzhľadom na vek auta. Túto generáciu rádii využívali modely ako Golf IV, Leon 1M, Passat B5 / B5.5, Sharan, Bora, Jetta, Beetle, Transporter T4, Octavia 1, Superb 1, Toledo, Alhambra, Galaxy.


Škoda RNS MFD DX rádio

Lákadlom na rádiu bol predovšetkým farebný LCD displej s uhlopriečkou 5" a pomerom strán 4:3 (oproti monochromatickému na MCD s uhlopriečkou niečo cez 3"), ale tiež aj vizuálna navigácia a systém Blaupunkt DX s mapovými podkladmi na CD-čkach (MCD ponúkalo len informačný displej s vizualizáciou vzdialenosti ku križovatke a smeru bez mapových podkladov). Rádio malo aj mechaniku na CD a tiež podporu s CD changerom na 6 CD-čiek, ktorý býval štandardne skrytý v bočnom paneli v kufri. Dnes je už možné k rádiu pripojiť aj rôzne Bluetooth moduly, ktoré umožňujú streamovanie hudby, alebo hands-free telefonovanie. Bluetooth modulom často získate aj USB port, do ktorého viete dať USB kľúč s hudbou, alebo skrz neho dobíjať telefón.


RNS MFD rádio

Po kúpe z druhej ruky môžete naraziť na to, že vám predajca k rádiu nedal kód pre odomkutie rádia, ani na ňom nie je napísaný. Tento kód treba zadať vždy potom, čo je odpojená batéria a prídete nato až doma, kedy u predajcu rádio môže normálne fungovať. V horšom prípade na to príjdete po montáži do auta, kedy budete pokračovať demontážou a po získaní kódu / odomknutí rádia aj opätovnou montážou.


Ak predajca už nereaguje, máte niekoľko riešení. Zájsť do originálneho servisu / dealera značky, kde vám zhruba za cenu rádia dajú kód na rádio, ktorý malo z výroby. Ak už niekto v minulosti prehrával EEPROM pamäť s kódom pre odomknutie rádia, alebo ju dokonca vymenil, je možné, že nebude fungovať s kódom, ktorý získate. Rovnako je možné, že už dnes u dealera nepochodíte, nakoľko ide o staré rádio a nebudete vedieť uviesť VIN vozidla z ktorého to rádio je, prípadne nemáte technický preukaz od daného auta, ktorý preukáže vlastníctvo rádia vo vzťahu ku konkrétnemu autu.

Alternatívou k tomuto môže byť aj využitie online služieb, ktoré vám za poplatok tento kód vystavia, no opäť pôjde iba o továrenský kód, ktorý už tiež nemusí byť v platnosti, ak bolo do rádia zasahované a tak vyhodíte desiatky eur von oknom.


Príklad vyčítanej pamäte 24C32 z rádia MFD1 cez obslúžny softvér CH341 programátora

Preto sú tu aj iné možnosti a to napríklad vyčítať obsah EEPROM pamäte rádia skrz programátor, napríklad CH341 s obslúžnym softvérom CH341 Programmer. Špecializovaným softvérom, napr. Martech dokážete zistiť kód pre odomknutie rádia, alebo je tu aj možnosť prehratia určitej sekcie pamäte rovnakým programátorom, čím si nastavíte kód vlastný z už známych reťazcov, ktoré odpovedajú určitým kódom pre odomknutie rádia.

Najčastejšie sa pripojenie na EEPROM pamäť rieši naspájkovaním vodičov na signály 2-wire zbernice I2C, konkrétne SDA (dátová linka), SCL (hodinový signál) a tiež zem, prípadne sa využívajú pogo piny s jigom. Pri takomto zapojení sa ale vyžaduje externé napájanie rádia, ktoré musí zahŕňať +12V privedených na vodiče UB+, SAFE, S-kont a samozrejme musí byť pripojená aj zem zo zdroja. V opačnom prípade rádio nemusí kód akceptovať. Identický postup viete aplikovať aj na MCD rádio, napájacia časť ako aj návod nižšie preň tiež plne pasuje.

EEPROM pamäť je najčastrejšie typu 24C16, alebo 24C32. Líšia sa medzi sebou veľkosťou pamäťového priestoru a to 2 kB u 24C16, alebo 4 kB u 24C32. Menšia je štandardne na starších rádiách a 24C32 pokrýva väčšinu rádii, ktoré zakúpite. Samotný typ zistíte veľmi jednoducho a to vyčítaním obsahu pre typ 24C32, kde následne v binárnej reprezentácii potrebujete sledovať riadky adries 00000020, 00000040, 00000060, prípadne 00000010, 00000020, 00000030 (reprezentácie sú v HEX, rovnako ako adresácia riadkov t.j. nadobúdajú sa hodnoty 0 až F). Vyčítanie sa realizuje s programátorom v paralélnom operačnom režime, nato je treba tiež dávať pozor, nakoľko v sériovom režime programátor nebude detekovať obslúžny softvér.

Po vyčítaní obsahu EEPROM pamäte odporúčam výsledný .bin dump uložiť v počítači, aby ste sa k nemu mohli neskôr vrátiť v prípade, že rádio po akejkoľvek zmene v pamäti nenabehne. Rovnako tak je dobré uložiť si tento dump viac krát a porovnať si ich medzi sebou, či náhodou nedošlo k rozdielnému načítaniu obsahu pamäte, čo by mohlo indikovať rušenie, ktoré sa môže prejaviť pri dlhých vodičoch, či z dôvodu externého rušenia, napr. z napájacieho trafa a podobne.

Ak sú rovnaké riadky 20, 40, 60, ide o pamäť 24C32. Pokiaľ sú rovnaké riadky 10, 20, 30, ide o pamäť 24C16. Preto, ak v tomto bode zistíte, že ide o 24C16, zmeňte si cieľovú EEPROM pamäť v obslúžnom softvéri programátora. Obdobne to takto vyskúšajte aj pre prípad, ak sa nezhoduje ani jedna z trojice riadkov, nakoľko 24C16 využíva inú adresáciu ako 24C32. V prípade, že pamäť nie je vyčítaná správne, alebo nie je pripojená, môžete získať plný výstup znakov FF alebo 00. Programátor má pinout, ktorý odpovedá 24C16, alebo 24C32 pamäti, je uspôsobený aj pre pamäte typu 25, ktoré už využívajú SPI zbernicu, tzv. 3-wire interface. 

Pozor ale nato, že pinout v ZIF sockete programátora neodpovedá tomu, ktorý ukazuje CH341 Programmer obslúžny softvér! Povšimnite si, že na PCB doskách CH341 programátorov je bielym písmom (silkscreenom) označenie, ktorý pri ZIF sockete na programátore ukazuje pamäte typu 24, či 25 a ich orientáciu, ktorá je presne opačná voči tomu, čo ukazuje oblúžny softvér CH341 Programmer.


Pinout standalone EEPROM pamäte 24C32

Červená gulička na obrázkoch indiukuje pozíciu 1. pinu, teda guličku, ktorú na sebe nesie čip, čím sa zabezpečuje jednotná orientácia, alternatívne iné puzdrá majú v hornej časti výkrok, teda tiež odpovedajú danej orientácii. Vyčítanie pamäte robte vždy až vtedy, čo rádio nabehne do stavu, kedy je možné zadávať kód.


Pinout CH341 programátora vs. vizualizácia ZIF socketu v CH341 Programmer softvéri

Prepólovaním môže dôjsť k poškodeniu pamäte, či samotného programátora. Istá verzia čierneho prevedenia CH341 programátora má aj resetovateľnú poistku, avšak na lacnejších verziách býva najčastejšie nahradená za lacnejší 5 ohmový odpor. Zmenou týchto spomenutých riadkov dokážete modifikovať kód pre odomknutie rádia. Ak máte druhé rádio ku ktorému viete kód, prečítate si obsah pamäte a príslušné zrkadlené riadky prekopírujete a .bin dump nahráte do EEPROM, resp. FIS.


Po modifikácii riadkov je nutné rádio reštartovať, napr. vypnúť, zapnúť, alebo odpojiť od napájania a opäť pripojiť na napájanie, nakoľko po práci s EEPROM pamäťou a pripojeným programátorom nemusí reagovať na vstup z ovládacích tlačidiel.

Tiež pred opäťovným spustením už odpojte programátor. Toto odomknutie zmenou kódu funguje aj v prípade, že máte rádio už v SAFE móde. U SAFE módu treba počkať hodinu pre možnosť zadania kódu, avšak ste počkali už skôr a dostali sa na obrazovku zadávania kódu, tak po obnovení napájania budete môcť priamo zadať kód a nebudete musieť znova hodinu čakať.

Po zadaní správneho kódu a odomknutí rádia dostávate opäť príslušný počet pokusov pre zadanie kódu pred uzamknutím rádia do SAFE módu. Vzhľadom nato, že k rádiám a obsahu EEPROM pamäte neexistujú dostupné materiály, išiel som aj cestou reverzného inžinierstva pre porovnanie, čo je vo flash pamäti, resp. aké sú rozdiely vo flash pamäti, pokiaľ je rádio uzamknuté v SAFE móde a čo tam bude po odomknutí. Rovnako tak aj pre prípad, čo bude v pamäti, ak už na odomknutom rádiu raz zadáme zlý kód.

Očakával som, že bude pozmenený len nejaký jeden bajt, ktorý nadobúda hodnoty povedzme 03 až 00, no rozdiely sú značné. Pozmenené sú celé riadky, no v mnohých prípadoch ide o posun, nie o samotnú zmenu. Vidieť to aj na ASCII reprezentácii obsahu pamäte, kde sú viditeľné uložené rádiové stanice, ktoré sú poposúvané medzi adresami. Preto analýza toho, čo sa skutočne zmenilo nie je taká jednoduchá.


Posunuté riadky v pamäti EEPROM po odomknutí rádia

Pre rádio v SAFE režime a odomknuté rádio s vynulovaným počítadlom je rozdiel modifikovaných 640 bajtov v rozsahoch adries 00000168 až 000005FC, zhodnosť bajtov predstavuje 84.38% vzhľadom na pamäť 24C32 s kapacitou 4 kB. Pre odomknuté rádio s vynulovaným počítadlom a raz zadaným zlým kódom je rozdiel 13 bajtov v rozsahoch adries 000004C0 až 000008A6, zhodnosť bajtov pamäte 99.68%. Ani u týchto 13-tich bajtov to nie je tak, že by ste v nich vypozorovali jednoduchú zmenu, čo sa zmenilo.


Časť z pozmenených bajtových reprezentácii - rádio v SAFE režime vs odomknuté (resetované počítadlo)


Kompletné pozmenené bajtové reprezentácie - odomknuté rádio vs. raz zle zadaný kód

Niektoré bajty sa prestavujú na max. hodnotu FF (teda 255), alebo minimálnu 00, prípadne 01. Niektoré bajty ale nadobúdajú aj hodnoty napríklad 05, 09, či 39, kde teda nevidím jednoznačnú súvislosť so zadaním jedného zlého pokusu. V tomto prípade pri rozdieloch medzi odomknutým rádiom a raz zadaným zlým pokusom nevidieť žiadne posuny uložených staníc v pamäti, všetky zmeny sa dejú mimo týchto pamäťových oblastí.

Testované na rádiu MFD1 s typovým označením 3B0 035 191 C / D, BNO 881, VWZ1Z7, 7 612 XXX XXX. Obdobný spôsob sa používa aj pre modifikáciu kódu rádii MFD2 (novšia generácia), napríklad 1K0 035 198 B / C. Táto generácia rádii sa objavuje napríklad v Golfe V, Jetta, Passat B6, Touran, Transporter T5, Caddy, Eos, Leon 1P, Altea. Pri práci s rádiami typu MFD2 (CD i DVD) treba počítať aj s možným použitím pamäte 24C64, ktorá sa u nich početne vyskytovala.

Samotný spôsob adresácie je identický s 24C32, ale je potrebné overiť aj pamäťové sektory za adresou 00000FFF, teda začínajúc s adresou 00001000, končiac 00001FFF pre 8 kB pamäť. Pokiaľ bude na týchto sektoroch zrkadlená 4 kB pamäť a uvidíte opäť zrkadlené riadky 20 40 60, prípadne tam budú v adresnom priestore iba bajty FF, či 00, ide o 24C32 (4 kB).

Nateraz neviem, či by bolo možné zameniť aj riadky z rádia MFD1 na rádio MFD2, alebo opačne pre použitie identického kódu na oboch rádiách pre potvrdenie, či obe rádia využívajú rovnaký algoritmus pre dešifrovanie obsahu. Nemám k dispozícii 2 dumpy z oboch rádii, ktoré by mali rovnaký kód pre porovnanie obsahu.

Isté označenia na štítku majú tieto rádia zhodné, napríklad BNO 881, 7 612 XXX XXX, časť označenia z Radio Navigation System: 035, či pod tým VWZ1Z7. Sú tu ale aj odlišné časti a to prefix z Radio Navigation System označenia: 3B0 (MFD1) vs. 1K0 (MFD2) a koncové trojčíslie 191 (MFD1) vs 198 (MFD2), samozrejme sa bavíme o Blaupunkt verzii a VW (ak by sme šli do Škoda MFD1 rádia DX, prefix by bol napr. 1U0). Pripojenie na I2C zbernicu u MFD2 rádia je jednoduchšie, kontakty sú bližšie seba a ide priamo o vyvedené body, teda káble nemusíte dopájkovavať k SMD rezistorom ako u MFD1 rádia. 


Štítky rádii MFD RNS Blaupunkt
MFD1 (naľavo) vs. MFD2 (napravo)

Pri analýze .bin dumpu je vidieť, že štandardne dump z MFD2 rádia má posledných 8 bajtov riadka nastavených na 00. Pre MFD1 rádio toto vôbec nie je typické, tak som to videl iba u jedného (už skôr modifikovaného) dumpu, teda v štandardnom dumpe EEPROM na ktorý sa ešte nesiahalo som to nevidel. Na druhú stranu by ale samotný kód mal byť v oboch prípadoch mimo tejto oblasti, no aj tak som skeptický k tomu, žeby mohli byť obe generačné verzie identické z hľadiska šifrovania kódu. Taktiež som u MFD2 rádia zahliadol vec, ktorú som u MFD1 nikdy nepostrehol a to, že MFD2 na jednu hexadecimálnu reprezentáciu riadka dokáže prijať aj viac kódov, ktoré sa najčastejšie líšia zmeneným dvojčíslim na rôznej pozícii.


Príklad hexadecimálnych reprezentácii riadkov s rôznymi kódmi MFD rádii oboch generácii

V prípade práce s EEPROM u MFD2 rádia treba počítať s možným použitím pamäte 24C64. Spôsob adresácie je identický s 24C32 a tak ho viete vyčítať aj ako 4 kB pamäť. Overte si preto pamäťové sektory za adresou 00000FFF, teda začínajúc s adresou 00001000, končiac 00001FFF pre 8 kB pamäť 24C64. Pokiaľ bude na týchto sektoroch zrkadlená 4 kB pamäť a uvidíte opäť zrkadlené riadky 20 40 60 (adresy 00001020, 00001040, 00001060), prípadne tam budú v adresnom priestore iba bajty FF, či 00, ide o 24C32 (4 kB).



Prístupov 1384
Kvalita článku
hlasov 0

PRÍSPEVKY
SLEDOVAŤ
Prosím prihláste sa pre možnosť pridania komentáru.
Prihláste sa, alebo použite facebook login facebook login
ĎALŠIE ČLÁNKY V BLOGU
UPS s čistým a modifikovaným sínusom
[ 8.10.2026] (príspevkov 0)
MFD1 - zmena kódu pre odomknutie rádia
[ 27.9.2026] (príspevkov 0)
CH341 programátor - inštalačný návod
[ 14.9.2026] (príspevkov 0)
Nastavenie AI request nodu - ThingsBoard...
[ 21.8.2026] (príspevkov 0)
Integrácia Watmonitora do Power BI
[ 20.6.2026] (príspevkov 0)
PTUS 1 A1 vs PTUS 1 B2
[ 30.5.2026] (príspevkov 0)
Ako monitorovať hladinu vody v IBC konta...
[ 4.5.2026] (príspevkov 0)
MQTT-to-HTTPS router cez ThingsBoard
[ 5.4.2026] (príspevkov 0)
Zvuková analýza videa II. - benzín, LPG
[ 2.4.2026] (príspevkov 0)
AR Watmonitor s triggerom cez NFC / RFID...
[ 31.3.2026] (príspevkov 0)