Prozkoumejte výhody členství v klubu a rozšiřte naše řady 😉

E39 kódování, sběrnice a úpravy modulů

Vše o E12, E28, E34, E39, E60/E61, F07, F10/F11, G30/G31
Zpráva
Autor
Michal-E39
Registrovaný
Příspěvky: 237
Registrován: úte 13.08.2013 00:00

#1 Příspěvek od Michal-E39 »

Nadělil jsem si novou hračku - diagnostický kabel, který se díky NCS Expert softu stává silným nástrojem. Ve spojení s možností upravovat software modulů to poskytuje neomezené možnosti.

Dlouho je známa úprava softu budíků, aby teploměr ukazoval lineárněji teplotu a ne střed až do téměř přehřátí: http://forum.e46fanatics.com/showthread.php?t=1013600

Můj cíl je překódovat jednotku volantu, aby tlačítka pro telefon (který nemám) ovládala rádio: Konkrétně aby tlačítko R/T přepínalo Rádio/CD(přesněji Dension MP3) a tlačítko Dial zapnutí/vypnutí rádia.
Vím že je to poněkud smělý cíl pro začátečníka, co má diagnostický kabel v ruce poprvé v životě, ale konstrukce různých řídících jednotek, sběrnice a přenosové protokoly jsou mým denním chlebem v práci, tak by to pro mě nemělo být až tak těžké jak to vypadá.

Začátečnické info, co jsem vygooglil:

Stručně obecná diagnostika, různá rozhraní ODB2 konektoru http://en.wikipedia.org/wiki/On-board_diagnostics
Základy sběrnic v BMW této generace http://www.e38.org/bussystem.pdf
Stručně o I-busu http://blog.jaroslavklima.com/2009/01/m ... rgbus.html
Podrobněji o I-busu http://web.comhem.se/mulle2/IBUSInsideDRAFTREV5.pdf
Seznam I-bus zpráv vysílaných všemožnými tlačítky http://web.archive.org/web/200705131313 ... index.html
Hledal jsem jen anglicky, protože německy téměř neumím a česky předpokládám nic není.

Moje snaha se bude soustředit na nahrazení sekvence v programové paměti volantu odpovídající zprávě R/T tlačítka za zprávu odpovídající tlačítku MODE rádia. Stejně tak s tlačítkem Dial.
Kdyby to nebylo možné, ubastlil bych si krabičku, co bude číst I-bus a když zachytí zprávy zmíněných tlačítek, vyšle zprávu požadovaného tlačítka. Nicméně to bych dělal nerad. Sice jsem už pár věcí ubastlil, ale vždy se tuze nerad se dělám s plošňákem.


Jsou tu nějací lidé, co mají zkušenosti se zasahováním do BMW jednotek a s vrtáním se ve sběrnicích?

Máte nějaké hodnotné zdroje informací k tématu?

Dá se přes K-line diagnostickou šňůru odposlouchávat I-bus a posílat tam nějaké zprávy?

Prosím ozvěte se.
jararak
Registrovaný
Příspěvky: 448
Registrován: ned 20.07.2008 00:00
Bydliště: Malacky

#2 Příspěvek od jararak »

Ibus mozes smirovat cez navcoder sikovna utilitka a funguje aj cez dcan/kline kabel

Nasledne je forum hacktheibus skus si to najst, mozno odtial nieco vycitas

Resslerov interface skus najst
starML Člen Klubu
Člen Klubu
Příspěvky: 2455
Registrován: čtv 11.05.2006 00:00
Bydliště: Mariánské Lázně
Klubové ID: 659

#3 Příspěvek od starML Člen Klubu »

To Michal-E39 - vytvořil jsi hezký přehled, tak něco přidávám:
http://www.reslers.de/IBUS/index.html
http://www.blafusel.de/obd/obd.html
mika_hakkinen
Registrovaný
Příspěvky: 530
Registrován: úte 18.03.2008 01:00
Bydliště: Brno/Znojmo
Klubové ID: 1487
Kontaktovat uživatele:

#4 Příspěvek od mika_hakkinen »

Kdyz se ti nechce delat s plosnakem, tak muzes vyuzit arduino, popr. jine devel desky.
Ja si ted aktualne tvorim neco podobneho. Nejake know-how kolem (i,k,p)-busu mam.
Ja ted tvorim novou elektroniku pro webasto. No presne na webasto, ktere nema k-bus ovladani a ma pouze zapni/vypni. Tak aby se to chovalo jako webasto s k-busem.
Pokud chces ovladat nejake periferie v aute, tak si to zjistuji tak, ze napojim diagnostiku pres INPU diagnostikuji a pak sleduji na sbernicich co to posila a co to vraci. Takze cool :) Musis mit diagnostiku a nejakej ibus -> usb.

Ten tvuj napad s krabickou vypada jako realizovatelny.
Michal-E39
Registrovaný
Příspěvky: 237
Registrován: úte 13.08.2013 00:00

#5 Příspěvek od Michal-E39 »

jararak píše:...
Nasledne je forum hacktheibus skus si to najst, mozno odtial nieco vycitas
...
Yahoo group HackTheIBus je nedobytné. I pro čtení je potřeba být registrovaným členem skupiny. Přístup musí schválit administrátor skupiny. Různá fóra jsou plná stížností na marné žádosti, administrátor nereaguje. Pokud tam máš přístup, jsi nejspíš mezi několika posledními, co se k těm informacím dostanou.
mika_hakkinen
Registrovaný
Příspěvky: 530
Registrován: úte 18.03.2008 01:00
Bydliště: Brno/Znojmo
Klubové ID: 1487
Kontaktovat uživatele:

#6 Příspěvek od mika_hakkinen »

Jasne ja na povoleni cekal aspon rok. Ono zase tech informaci tam moc neni. Az budes neco potrebovat dej vedet.
STEPANTT
Registrovaný
Příspěvky: 33
Registrován: ned 08.06.2014 00:00

#7 Příspěvek od STEPANTT »

myslíte že by byl problém udělat něco co by mohlo přes vstup I-bus vyslat signál do rádia z e46 aby se zaplo?
mika_hakkinen
Registrovaný
Příspěvky: 530
Registrován: úte 18.03.2008 01:00
Bydliště: Brno/Znojmo
Klubové ID: 1487
Kontaktovat uživatele:

#8 Příspěvek od mika_hakkinen »

Urcite neco takoveho by slo. Musis tomu radiu, po cele sbernici vyslat sadu prikazu na zapnuti. Minimalne ze je zapnut klicek.
Michal-E39
Registrovaný
Příspěvky: 237
Registrován: úte 13.08.2013 00:00

#9 Příspěvek od Michal-E39 »

Nevíš, jestli se zprávy o zmáčknutí tlačítka na I-busu potvrzují příjemcem?

Stepantt: já to hodlám udělat tak že rádiu podvrhnu jeho i-bus zprávu o zmáčknutí příslušného tlačítka na rádiu. Viz list zpráv. Nevím ale jestli rádio akceptuje zprávu, která obvykle pochází od něj. Nevím jak u E46, ale u E39 jde rádio zapnout i bez klíčku. Zapnutím klíčku se zapne také, pokud bylo zapnuté v okamžiku vypnutí klíčku.
mika_hakkinen
Registrovaný
Příspěvky: 530
Registrován: úte 18.03.2008 01:00
Bydliště: Brno/Znojmo
Klubové ID: 1487
Kontaktovat uživatele:

#10 Příspěvek od mika_hakkinen »

Zdar,
priklad:
na panelu MID jsou tri tlacitka (BC, TEL, RADIO). Kdyz jsi naposled zmackl tlacitko radio, bude MID panel akceptovat zpravy od radia to zaprve. Kdyz jsi naposled zmackl tlacitko BC, tak MID panel bude akceptovat zpravy od IKE. Jinak na sbernici je docela frkot.

Pokud mas "aktivovany mod radio" a zmacknes ze chces preladit stanici, tak posles do radia (RAD) prislusnou sekvenci. Tuto sekvenci radio panelu MID nepotvrzuje. Ale uz rovnou posila treba nazev stanice, popr. jakou mas frekvenci a pod.
Kdyz budes ovladat volantem hlasitost, tak radio nic zpet neposila a rovnou hlasitost upravuje.

dobra stranka je tato: http://web.comhem.se/bengt-olof.swing/IBus.htm
Zdenda530d
Registrovaný
Příspěvky: 464
Registrován: ned 18.08.2013 00:00

#11 Příspěvek od Zdenda530d »

Tak toto téma budu sledovat. Dej určitě vědět jak jsi dopadl, protože bych konkrétně o R/T tlačítko na změnu módu rádia měl zájem (za nějakou tu zlatku :) ).
Michal-E39
Registrovaný
Příspěvky: 237
Registrován: úte 13.08.2013 00:00

#12 Příspěvek od Michal-E39 »

mika> Děkuji, šlo mi o to, zda to není jako na CAN busu, kde příjemce každou zprávu potvrzuje a odesilatel 5x opakuje pokud nedostane potvrzení.
To by to trochu komplikovalo, protože bych musel změnit adresu odesilatele u tlačítka, což by ale zase mohlo vadit, pokud by příjemce význam nebo akceptování zprávy vázal i na adresu odesilatele. Bez potvrzení to nevadí.

Až teď jsem si všiml, že rádio a jeho tlačítkový panel mají rozdílnou adresu, takže jsou to samostatné logické jednotky. Tímpádem (snad) nevadí že zpráva o zmáčknutí tlačítka na rádiu přišla zvenčí. Doufám že to platí i pro obyčejné "Business Radio".

Zdenda> Jakékoliv výsledky, pozitivní i omyly zde samozřejmě zveřejním k volnému použití. Zlatky mě nezajímají, jsem dobře placen zaměstnavatelem.
mika_hakkinen
Registrovaný
Příspěvky: 530
Registrován: úte 18.03.2008 01:00
Bydliště: Brno/Znojmo
Klubové ID: 1487
Kontaktovat uživatele:

#13 Příspěvek od mika_hakkinen »

Taky po nejakem tom laborovani jsem prisel na to, ze vetsina jednotek akceptuje, kdyz jsem ibus src adresa 0x3F (od diagnostiky). Pak si muzes komunikovat jak chces.
Jen je doopravdy potreba zachovat BMW ibus standart. Po odeslani jakekoliv ibus datagramu, je potreba mit aspon 10ms sbernici v klidu. Pokud budes vysilat zpravy casteji, tak budes mit problem s celym vozem. Nefunkcni palubovka, svetla apod...
matiz
Registrovaný
Příspěvky: 4416
Registrován: ned 23.04.2006 00:00
Bydliště: Opava
Klubové ID: 3204
Kontaktovat uživatele:

#14 Příspěvek od matiz »

Nebyl by ten tistak uz hotovy? :)
mika_hakkinen
Registrovaný
Příspěvky: 530
Registrován: úte 18.03.2008 01:00
Bydliště: Brno/Znojmo
Klubové ID: 1487
Kontaktovat uživatele:

#15 Příspěvek od mika_hakkinen »

Zkus moduly arduino. Daji se to objednat z ciny. Jde vice o software.
Michal-E39
Registrovaný
Příspěvky: 237
Registrován: úte 13.08.2013 00:00

#16 Příspěvek od Michal-E39 »

K tlačítkům na volantu jsem se ještě nedostal, zatím se plácám v začátečnických krocích.

Konečně jsem přemohl NCS Experta k překódování teploměru.
Pár postřehů pro další začátečníky:
Ten scriptovej software z nepochopitelných důvodů neumí starší moduly nakódovat konfiguraci binárně zápisem dat na adresy tak jak je vyčetl, musí to parsovat z textových parametrů. Prostě pro všechny moduly aut E3x a některé moduly aut E6x nemá v API tuhle základní funkci. Má ji tam až pro novější moduly. Ani jeden z postupů dle NCS Dummy mi nefungoval. "custom value" nefunguje, protože se projeví jen v binárním manipulačním souboru, ze kterého to kódovat starší jednotky neumí. Rozkompilovat "DATEN", přidat parametr a zkompilovat pro tento parametr typu pole mi nefunguje, API mi to nesežralo. Jediné co mi prošlo je upravit původní hodnotu parametru a zakompilovat. Pozor, ať si v NCS Dummy vyberete a používáte modifikovaný .Cxx soubor který chcete, NCS Expert při kódování použije vždy defaultní dle coding indexu jednotky. Upraven musí být tedy ten, zapomeňte tedy na udržení pořádku v DATEN.

Co jsem googlil, většina lidí teploměr překóduje PA soft BMW Scannerem. Ten mě taky potrápil. PA soft jsou kurvy, jejich demoverze BMW Scanneru sice krásně funguje s libovolným K-line kabelem (zato nic neumí), ale plná verze jedině s jejich vlastním kabelem. S jiným kabelem jsem plnou verzi nerozchodil žádným trikem.
Michal-E39
Registrovaný
Příspěvky: 237
Registrován: úte 13.08.2013 00:00

#17 Příspěvek od Michal-E39 »

Nemůžu najít nic k MFL2 jednotce. Je to ta miniaturní co je součástí pravého tlačítkového panelu. Přes diagnostiku jde identifikovat, ale to je všechno. Paměť chyb nemá, kódovat nejde (ostatně na tom není co konfigurovat), nenašel jsem nic k přehrátí firmware, takže to možná ani nejde. Nenašel jsem na netu žádnou zmínku o tom co je uvnitř. Asi se to nikomu zručnému nevysralo tak to nikdo nerozdělával. Co si vzpomínám na malé jednočipy konce tisíciletí, moc toho neuměly, možná to bude programovatelný jen přes piny na plošňáku. Nechce se mi rozebírat plně funkční modul jen abych zjistil že uvnitř je nějakej jednorázově programovatelnej šváb, ke kterýmu po 15 letech nebude na netu ani datasheet. Ono ostatně co za procesor může být v modulu, jehož jedinou funkcí je na každé z 10 tlačítek vyslat jinou konstantní sekvenci 6 bytů.

jararak píše:Ibus mozes smirovat cez navcoder sikovna utilitka a funguje aj cez dcan/kline kabel

Nasledne je forum hacktheibus skus si to najst, mozno odtial nieco vycitas

Resslerov interface skus najst
NavCoder mi sice funguje přes k-line diagnostickou šňůru, ale nedaří se mi odposlouchávat i-bus. Vidím jen komunikaci jednotek (i těch co jsou připojené pouze na i-bus) s diagnostikou. IKE mi nepřeposílá na diagnostickou sběrnici i-bus zprávy, co nejsou určeny diagnostice. To chápu jako správné chování, ale dá se tam nastavit nějaký debugovací mód?

Co jsem z toho programu pochopil, je určen primárně pro přímé připojení sériákem na i-bus.
Je někde v autě snadno dostupný volný konektor s i-busem, na který se napichujete?
KKKuba
Registrovaný
Příspěvky: 432
Registrován: čtv 30.06.2011 00:00
Bydliště: Jihlava
Kontaktovat uživatele:

#18 Příspěvek od KKKuba »

No u toho navcoderu jsem viděl že si tam borec musel přidat kabel od ibusu aby mu to pořádně valilo, bral ho někde vzadu tuším od cd měniče, tak zkus mrknout na net já už to znova nenašel...
mika_hakkinen
Registrovaný
Příspěvky: 530
Registrován: úte 18.03.2008 01:00
Bydliště: Brno/Znojmo
Klubové ID: 1487
Kontaktovat uživatele:

#19 Příspěvek od mika_hakkinen »

vzadu od navigace nebo radia proto, ze tam je ten ibus kabel lehce pristupny. Jinak rozdelat palubku.
Ano, aby jsi mohl sniffovat pakety, potrebujes ibus->usb prevodnik. V pocitaci si treba otevres telnet a uvidis co tam chodi za data.
Taky jsem hledal datasheety k IO obvodum, to jsou specialky, vyrobene v tisicovych seriich, takze uz nesehnatelne.
Je vice moznosti. Bud si sam vyrobis treba primo plosnak, kterym nahradis, tlacitka ve volantu + do neho naprgat soft a bude se chovat jako original. Nebo si postavit nejakou krabicku, ktera bude prijmat data a pak je treba modifikovane opakovat dale do sbernice.

Jinak poznamka k jednocipum na konci stoleti. Vubec bych je nezahazoval. Neexistuje nic jednodussiho a spolehlivejsiho. To tam chces rovnou rvat intel pentium :) :)
Michal-E39
Registrovaný
Příspěvky: 237
Registrován: úte 13.08.2013 00:00

#20 Příspěvek od Michal-E39 »

CD měnič ani jeho kabel nemám, ale mám místo něj MP3 přehrávač Dension v přihrádce spolujezdce. Doufám že je ten i-bus propojenej skrz rádio transparentně, tedy že tam chodí z i-busu všechno a vždy.
Chtěl jsem přeprogramovat modul tlačítek, protože je to nejelegantnější. Když tudy cesta nevede, bastlit desku tlačítek nebudu, tak zbývá ubastlit si co nejjednodušší destičku co bude odchytávat zprávy vybraných nevyužitých tlačítek a vysílat zprávy jiných tlačítek. Arduino s ATmegou32 mi pro takovou funkci příjde poněkud nepatřičné asi jako používat stolní PC jako kalkulačku. Leda bych odchytával a zobrazoval na display nějaké zajímavé informace, nevím ale co všechno na i-bus chodí.

Koukal jsem na stručný popis a nenašel jsem fyzický rozdíl mezi K-line diagnostické sběrnice a i/k-busem. Oboje je open-kolektorový sériák na 9.6K Rozdíl je asi jen ve formátu zpráv. Teoreticky bych tedy mohl diagnostickou šňůru, což je jen USB sériák bez dvousměrného RS232 budiče, připojit přímo na i-bus a NavCoderu říct že je to i-bus. Tímpádem bych zatím nemusel nic bastlit. Zkoušel někdo ty šňůry takhle zaměňovat?
Odpovědět