Stránka 1 z 2

Napsal: pon 15.12.2014 23:28
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.

Napsal: úte 16.12.2014 00:04
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

Napsal: úte 16.12.2014 00:19
od starML
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

Napsal: úte 16.12.2014 15:33
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.

Napsal: úte 16.12.2014 23:09
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.

Napsal: stř 17.12.2014 08:27
od mika_hakkinen
Jasne ja na povoleni cekal aspon rok. Ono zase tech informaci tam moc neni. Az budes neco potrebovat dej vedet.

Napsal: stř 17.12.2014 21:17
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?

Napsal: stř 17.12.2014 21:54
od mika_hakkinen
Urcite neco takoveho by slo. Musis tomu radiu, po cele sbernici vyslat sadu prikazu na zapnuti. Minimalne ze je zapnut klicek.

Napsal: stř 17.12.2014 23:03
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.

Napsal: čtv 18.12.2014 08:55
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

Napsal: čtv 18.12.2014 10:56
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 :) ).

Napsal: čtv 18.12.2014 22:15
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.

Napsal: pát 19.12.2014 08:39
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...

Napsal: pát 19.12.2014 11:24
od matiz
Nebyl by ten tistak uz hotovy? :)

Napsal: pát 19.12.2014 12:28
od mika_hakkinen
Zkus moduly arduino. Daji se to objednat z ciny. Jde vice o software.

Napsal: sob 20.12.2014 23:33
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.

Napsal: ned 21.12.2014 22:54
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?

Napsal: pon 22.12.2014 01:17
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...

Napsal: pon 22.12.2014 15:04
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 :) :)

Napsal: pon 22.12.2014 20:26
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?