För några månader sedan skrev jag om hur jag laddade ner en app och köpte lämplig Bluetooth OBD2-dongel för att göra anpassad kodning till min BMW 128i. Detta var okänt territorium för mig i bilägande. Fram till att jag köpte 1er var allt jag bekant med det oanpassningsbara econobox-livet. Men denna nivå av kodning var bara toppen av isberget av vad som är möjligt med en modern datorenhet och tillgång till en modern BMW:s DME (vilket är märkets ord för ECU). Med rätt programvara på återförsäljare-serviceavdelningsnivå kan du konfigurera så mycket mer.
Efter att ha sökt på Google laddade jag ner lämpliga program för att rensa felkoder via bärbar dator, köra diagnostik och koda om en hel röra av funktioner, framför allt för att stänga av vissa barnskötare som kan påverka prestanda på banan. Det mesta av detta går inte att nå via appbaserad kodning, vilket är anledningen till att jag har kallat denna "djupkodning". Så här lärde jag mig, en enkeling med kort humör för teknik, att det inte alls är så svårt att göra.
Ansvarsfriskrivning:Detta är en sammanfattning av min erfarenhet, inte en steg-för-steg-instruktion. Om du är intresserad av att göra din egen djupkodning rekommenderar jag starkt att du läser igenom alla hyperlänkade resurser innan du försöker. Din körsträcka kan variera, jag är en schlub, inte en teknisk supportprofessionell, tillvägagångssätt på egen risk, fel rad med redigerad kod kan göra mycket skada och så vidare.
När jag tittade på E8X och E9X BMW-forum, råkade jag ut för den här webbplatsen som säljer all programvara du behöver laddad på en bekväm SSD-hårddisk. Sätt bara in den i en kompatibel dator, och voila, koppla upp en sladd och bli galen. Därefter köpte jag sladden från Amazon efter att ha läst på den här bloggen om irriterande elektroniska BMW-barnflickor, köpt en billig Windows-kompatibel bärbar dator på eBay och blandat ihop allt. Slutligen, för att säkerställa att batteriet inte dör under kodningen, vilket kan vara katastrofalt för DME, köpte jag ett batterianbud.
När jag kopplade ihop allt och gjorde en snabb torrkörning fick jag veta att datorn och sladden inte pratade med varandra. Så jag gjorde allt som behövdes för att ha rätt hårdvarudrivrutin, gjorde lite felsökning med Google och försökte en gång till. Återigen, ingenting.
Efter att ha pillat runt ett bra tag hittade jag den här enkla guiden av YouTuber Evan Goyuk och insåg att det finns en mycket enklare attackplan. Jag nämnde att jag är en enkeling när det kommer till den här typen av saker, så jag bestämde mig för att lägga ner min metod med den billiga datorn, kabeln och hårddisken full av programvara. Jag hade inte mycket pengar, och jag kunde säkert vända allt på Craigslist för att få tillbaka lite mynt.
Jag bytte till min nyare bärbara dator, följde Goyuks metod för att ladda ner all nödvändig programvara från Google Docs och installera den på rätt sätt, köpte kabeln han rekommenderar och satte till sist upp kabeln ordentligt i Windows Enhetshanterare. Efter lite frustration över den tidigare metoden fick den här nya datorn, kabeln och DME äntligen att prata med varandra.
Det var en jubelvärd upplevelse att se min datorskärm säga att batteriet och tändningen var på. Det gjorde att kopplingen skapades och att jag kunde ta mig till jobbet. Jag började först leta runt i INPA, som är ett program för att läsa och rensa felkoder. Mycket av det är på tyska – jag har faktiskt en examen i Bavarian Motor Works modersmål men använder det inte riktigt längre, så det var kul att tyda vad olika val och budskap betydde.
Grejen med den här versionen av INPA är att den inte listar E82 som en tillgänglig chassikod. Det är OK, eftersom forumen säger att allt en person behöver vara under E87, vilket är den europeiska 1-seriens halvkombi av samma årgång som min 128i. Jag kunde kolla efter felkoder, rensa några (inga fanns där), läste upp om de olika datorhårdorna som min 1-serie har, testa vissa funktioner och mer.
Jag kan göra det mesta av detta via två appar på min telefon, men det är coolt att ha möjligheten via bärbar datorbaserad återförsäljarmjukvara. Per Goyuks anvisningar och andra instruktioner på YouTube, INPA är mycket användbar bara som en metod för att säkerställa att du har en solid anslutning mellan DME och din dator.
Med ett sjukt 90-talsfilmsoundtrack i kö, var det dags att knäcka mina knogar och hacka—eh, koda djupare. Jag läste flera olika resurser för att göra allt detta, och även om alla steg jag tog speglade deras vägledning, kom jag ändå på en sorts best-of för att koda exakt vad jag ville göra.
Metoden för att dra en stor röra av kod är ganska enkel:öppna NCS Expert, välj lämplig profil (jag använde Revtors NCS Expert Profile), låt den läsa rätt ECU, följ alla steg och låt den läsa och skapa en spårningsfil. Jag laddade ner en spårningsfil av DSC ECU för att jag ville bli av med några halta spårovänliga barnflickor. Den sparas sedan i en mapp där spårningsfilen kan nås för att ändra antingen i NCS Dummy eller direkt i WordPad.
Ursäkta min okunnighet, men det är vild att göra avgörande kodning för bil-datorändring kan göras i gammaldags WordPad. Ärlig fråga:Finns det andra former av programmering som kan göras från bekvämligheten av denna blygsamma OG-programvara?
Därefter redigerade jag spårningsfilen direkt i WordPad. Detta innebar att bläddra igenom och ändra texten på vissa listade funktioner. Jag hittade först de saker jag tänkt stänga av här, men de är skrivna annorlunda i E82 - den här tråden gav mig de lämpliga namnen för motoreffektreduktion för att förhindra överhettning av bromsskivor, bromsblekningskompensation (onödigt för bra belägg och vätska) , och Ready Alert Brake. Det var enkelt att inaktivera dem:ändra "wert_01" på var och en av dem till "wert_00."
128i-banentusiaster verkar alla vara överens om att dessa antingen hämmar prestandan eller ger 128i en besvärlig pedalkänsla på banan, så ut genom fönstret (eller Windows 11) går de. Innan jag kodade ut dem hade jag inga större problem med hur bromspedalen kändes, så det ska bli intressant att se hur det känns nu. Jag kommer att koda ut den elektroniska differentialen när jag så småningom uppgraderar till en riktig spiralformad differential med begränsad glidning.
Därefter sparade jag helt enkelt som och ändrade namnet på filen och dess typ, följde fler steg för att koda tillbaka allt i DME, och Bob är din farbror – kodningen lyckades. Jag har ännu inte tagit 1er för en livlig provkörning eller rippa några varv på mina lokala favoritbanor, men jag är verkligen glad att göra det. Allt detta bör säkerställa att jag alltid har maximal prestanda tillgänglig. Tja, förutom den oundvikliga värmen.
Jag fick en så stark känsla av prestation efter att ha gjort allt detta och inte förstört DME i processen. Or, somehow accidentally changing a setting and having the BMW Professional stereo only play cheesy German pop music of yore and not be able to turn it off. Du vet aldrig.
This deep form of coding is a bit menacing, but don’t let it intimidate you. I am proof that as long as you do your research, learn how to use the various programs, read carefully, and follow the steps, it's really not that bad. I'm absolutely terrible with technology, and although I probably took longer to figure it out than a golden retriever would've, now that I've done it, I'm confident in being able to make more changes or translate this knowledge into another future car, like an E90 M3, F87 M2, or others. I think the only downside is that I'm now more motivated than ever to buy a real limited-slip differential and code out the blasphemous e-diff, which my wallet certainly isn't excited for.
It's fun stuff like this that keeps us enthusiasts motivated to keep wrenching, learn new methods and technologies, keep doing that extra bit of reading to up our DIY competencies, save some scratch, and blabber about it with our friends in our collective love of tuning.