Sådär, nu fungerar min värmare igen.
Sammanfattning
Det går alldeles utmärkt att komma åt värmaren med Webastos program (Thermo Test 2.16.1) på min Volvo V70 2.4D -10, efter att den gula diagnoskabeln dragits in i kupén enligt ovanstående inlägg. Det som behövde göras på min värmare var att skriva 0 till två byte, på adress 0x05F8 och 0x05F9 i EEPROM (OBS! Gör detta på egen risk! Det finns flera trådar på nätet där saker går fel och värmaren bland annat slutar fungera på grund av checksummefel i minnet).
Undersökning
Thermo Test startas efter att lämplig diagnosplugg inhandlats och anslutits (K-lina är samma sak som W-bus. Finns diverse val av adaptrar på nätet). I Thermo Test kan man kolla felkoder. Denna var lagrad i min:
Webasto2.png (15.99 KiB) Visad 4045 gånger
Sökningar på nätet bekräftar att fel 0x22 (22h) inte syns i exempelvis Vida utan bara med Webastos verktyg. [1] nämner Landrover och Volvo. Även i [2] diskuteras 0x22-fel. "[...]are you seriously saying that all FBHs stop working at 800 hours and need the EEPROM hacking to start working again? There must be thousands of cars with that many operating hours on the FBH - did they all stop working?" "Yep. And the users either doesn't know the heater is not working anymore - because it's easy to miss it, either they go to a specialized workshop which either change the heater altogether or, if evil, rewrite the eeprom and then say they've changed an expensive part and the user pays the bill... [...]"
Som sagt verkar det finnas pengar att tjäna här. En ryss (se [3]) säljer ett verktyg för att manipulera EEPROM.
Har nog nästan bara hittat en enda sida som specifikt pratar om 0x22-fel på Volvo, se [4].
Minns inte om jag länkat till den förut men i [5] finns ännu en rysk sida som pratar om 0x22-fel.
Hur som helst, det som verkar hända internt i mjukvaran är att när "Working hours"-räknaren (heter "burning time" i Vida) nått 800 h ställer någonting om gränsvärdet för referensresistansen till glödstiftet, så att 0x22-felet faller ut och tvingar kunden till verkstad. Av någon anledning är denna specifika felkod dold för Vida.
Någonstans i nedanstående länkar, minns inte var, står att adress 0x05F8 och 0x05F9 innehåller timräknaren för Landrovers Webasto. Jag läste ut dessa adresser i min och de verkar alltså även stämma för Volvos Webasto TT-V. Så här såg mina räknare ut innan jag började peta i EEPROM:
Webasto5.png (16.35 KiB) Visad 4045 gånger
Så här ser ett utsnitt ur EEPROM-dumpen ut kring adress 0x05F8 (formatet är [adress] [värde hex] [värde dec]):
Kod: Markera allt05F4 24 36
05F5 12 18
05F6 1A 26
05F7 3B 59
05F8 20 32
05F9 03 3
05FA 39 57
05FB 2C 44
05FC 03 3
05FD 14 20
05FE 46 70
Det verkar stämma! Verkar alltså vara lika som för Landrover-värmare. Så här verkar räknarna vara lagrade:
Kod: Markera allt05F4 24 36
05F5 12 18
05F6 1A 26
05F7 3B 59 59 minuter alltså
05F8 20 32 (32 används här nedanför)
05F9 03 3 3*256+32 = 768 + 32 = 800 h!
05FA 39 57 På kul ser vi att här står 57 minuter
05FB 2C 44 (44 används här nedanför)
05FC 03 3 ... och 3*256+44 = 812 h. 812 h och 57 minuter alltså. Verkar vara "Working duration PH" på dessa adresser.
05FD 14 20 Vilket data som står här lämnas som uppgift åt läsaren.
05FE 46 70
För att skriva i EEPROM måste man vara försiktig med hur man trycker, tydligen. Det verkar vara något att programmet vill skriva ner checksumma automatiskt vilket kan skriva sönder minnet. Tryck alltså alltid på "without check sum" och aldrig på OK i följande ruta:
Webasto1.png (12.66 KiB) Visad 4045 gånger
Det verkar även vara lite si och så med hur programmet betecknar adressfälten. Det jag kom fram till var att adressen skrivs i "Start"-rutan som hex, men i "End"-rutan som decimalt! Jag blev alltså tvungen att skriva 5F8 i Start och typ 1530 (decimalt för 0x5FA) i End för att den skulle läsa ut rätt minnesarea. Ett tips är att använda "To editor" eller vad alternativet nu heter. Då får man fram en editor med just de minnesceller man valt. Dessa kan sedan enkelt editeras och skrivs ner till EEPROM när knappen "Write"-trycks. Jag har inga screenshots just nu på det här tyvärr. Återigen, var försiktig så inte data skrivs till fel adresser.
Så, det jag gjorde var helt enkelt att nolla timmarna men på kul behöll jag minuterna och vips såg det sedan ut så här i räknarvyn:
Webasto4.png (16.37 KiB) Visad 4045 gånger
Efter detta raderade jag alla felkoder med Webasto-verktyget och sedan dess har värmaren fungerat!
Övrigt
I Webastoverktyget hade jag först stora problem att läsa ut minnet. "Timeout..." stod det bara och sedan verkade W-bus låsa sig helt. Jag var tvungen att gå in i Vida, välja "Advanced" under "Software" och trycka "Send prog" till CPM, sedan trycka "Send reset". Då resettade den sig och W-bus fungerade igen. Det visade sig att det gick att stänga av alternativet "Use W-bus block mode" i någon meny i Thermo Test. Då går EEPROM-utläsningen fruktansvärt långsamt men den fungerar.
Vid närmare eftertanke tror jag dock att ovanstående "Timeout..."-fel i block mode beror på att jag hade för klen 12V-matning till K-lineadaptern.
En sökning i EEPROM-dumpen visar att på adress 0x03CD-0x03CE finns värdet 0x0320 = 800. Kan det vara så att det är det valda "Self destruct at 800 hours"-värdet? Om man ändrar det till 1000, kommer 0x22-felkoden vid 1000 h istället då?
Frågor
Fråga 1: Vad sjutton är det här för något? Är det en miss? Har någon ingenjör råkat skriva 800 h i mjukvaran och ingen har testat ordentligt, och nu 10 år senare dyker mängder med bilar upp med detta fel?
Fråga 2: Vad händer om jag skulle lämna in bilen till Volvo? Vida verkar ju inte kunna visa detta? Finns det någon instruktion hos Volvoverkstäder som säger "Om algoritmfel uppträder i Webastovärmaren utan någon övrig felkod, byt värmare"?
Referenser
[1]: Rysk sida om 22h-fel:
https://weba-sto.ru/w-repair-landrover-freelander-2-800
[2]: Forum om 22h-fel:
https://www.disco3.co.uk/forum/topic187006.html
[3]: Ryskt verktyg som man kan betala för:
https://iprogplus.com/skladchiny/skladc ... line-r146/
[4]: Rysk sida om 22h-fel på Volvo:
https://webastomsk.ru/portfolio/volvo/xc70/
[5]: Mer rysk info om 22h-fel:
https://www.drive2.ru/b/488036653881884816