Prozkoumejte výhody členství v klubu a rozšiřte naše řady 
E39 kódování, sběrnice a úpravy modulů
-
- Registrovaný
- Příspěvky: 237
- Registrován: úte 13.08.2013 00:00
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.
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.
-
- Člen Klubu
- Příspěvky: 2455
- Registrován: čtv 11.05.2006 00:00
- Bydliště: Mariánské Lázně
- Klubové ID: 659
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
http://www.reslers.de/IBUS/index.html
http://www.blafusel.de/obd/obd.html
-
- Registrovaný
- Příspěvky: 530
- Registrován: úte 18.03.2008 01:00
- Bydliště: Brno/Znojmo
- Klubové ID: 1487
- Kontaktovat uživatele:
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.
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

Ten tvuj napad s krabickou vypada jako realizovatelny.
-
- Registrovaný
- Příspěvky: 237
- Registrován: úte 13.08.2013 00:00
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.jararak píše:...
Nasledne je forum hacktheibus skus si to najst, mozno odtial nieco vycitas
...
-
- Registrovaný
- Příspěvky: 530
- Registrován: úte 18.03.2008 01:00
- Bydliště: Brno/Znojmo
- Klubové ID: 1487
- Kontaktovat uživatele:
-
- Registrovaný
- Příspěvky: 530
- Registrován: úte 18.03.2008 01:00
- Bydliště: Brno/Znojmo
- Klubové ID: 1487
- Kontaktovat uživatele:
-
- Registrovaný
- Příspěvky: 237
- Registrován: úte 13.08.2013 00:00
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.
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.
-
- Registrovaný
- Příspěvky: 530
- Registrován: úte 18.03.2008 01:00
- Bydliště: Brno/Znojmo
- Klubové ID: 1487
- Kontaktovat uživatele:
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
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
-
- Registrovaný
- Příspěvky: 464
- Registrován: ned 18.08.2013 00:00
-
- Registrovaný
- Příspěvky: 237
- Registrován: úte 13.08.2013 00:00
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.
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.
-
- Registrovaný
- Příspěvky: 530
- Registrován: úte 18.03.2008 01:00
- Bydliště: Brno/Znojmo
- Klubové ID: 1487
- Kontaktovat uživatele:
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...
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...
-
- Registrovaný
- Příspěvky: 530
- Registrován: úte 18.03.2008 01:00
- Bydliště: Brno/Znojmo
- Klubové ID: 1487
- Kontaktovat uživatele:
-
- Registrovaný
- Příspěvky: 237
- Registrován: úte 13.08.2013 00:00
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.
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.
-
- Registrovaný
- Příspěvky: 237
- Registrován: úte 13.08.2013 00:00
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ů.
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?
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?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
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?
-
- Registrovaný
- Příspěvky: 530
- Registrován: úte 18.03.2008 01:00
- Bydliště: Brno/Znojmo
- Klubové ID: 1487
- Kontaktovat uživatele:
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

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


-
- Registrovaný
- Příspěvky: 237
- Registrován: úte 13.08.2013 00:00
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?
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?