Pages: 1 ... 93 94 [95] 96 97 ... 194
Author Topic: The Volvo ME7 thread:  (Read 1756691 times)
keichi
Full Member
***

Karma: +11/-2
Offline Offline

Posts: 100


« Reply #1410 on: May 16, 2021, 03:18:47 AM »

May I ask how did you learn IDA specifics? I managed to load Volvo bins to IDA properly. But if I'm talking sense, I'm struggling converting data bytes to functions/code sections so I could analyse them.

Loading BIN to IDA and then disasembling is the easy part Smiley
Understanding whats going on in the code is much worse - very time consuming.

Make sure you load it with proper DPPs and mem:
DPP0 - 0x4
DPP1 - 0x5
DPP2 - 0xC0
DPP3 - 0x3
RAM - 0x300000

To decompile you basically just press P then CTRL+U on every line with code.
P decompiles and CTRL-U jumps to next not resolved code.
I did a script in AutoIt that just press P and CTRL-U in loop Smiley

Code:
WinWaitActive("IDA - ")

While True
  Send("p^u")
  Sleep(1)
WEnd

But it must be done only on parts with code, not maps and data!
On 99V70R bin i got some code at the begining, then second part 0x8200-0xBFFF and main huge part at 0x22000
But on my 02S60T5 bin second part is at 0x9000-0xBFFF and main at 0x28000. So i assume it may be different on every version of software.

Then you need to have at least basic knowledge of assembly language. You need to understand how data is manipulated in registers, division, multiplication, conditional jumps (C166 Instruction Set
Manual is must have) and so on. But the most important is understanding memory addressing. This processor use 2 types of addressing. With Data Page Pointers (DPPs) and extended overrided mode (with EXT comand). You need to understand BIT operations (ORs, ANDs, shifting etc.) because its everywhere in the code and in the addressing.

How to start finding maps? Find some basic obvious maps like ignition or LDRX and then search for their addresses in the code. Then analyze the code and compare with FR to figure out unnamed variables and start naming them. If you identify variable, press X on it and see references to it. Then go to some reference and figure out what is going on and try to match function with FR. As soon as you notice a pattern you will reveal more variables in that function (by looking to FR). The more maps and variables you identify the further you go into code. Its like puzzles Smiley

The most annoying for me was translating addresses. For example. My LAMFA map address is 0x22140. But in code its addressed as page=0x8 and offset=0x2140. Its extended addressing mode. To translate it to absolute address you have to make bitwise operation (P SHL 14) OR (O AND 0x3FFF). I did a simple calculator app in delphi to convert those addresses back and forth. Maybe i will post it here if anybody wants. Some addresses may be also refereed in DPP mode (like my KFMIOP 0x2214 as DPP -> translates to 0x12214) and some just directly as absolute binary location.

I hope it helps to start, but i think there's no other way than taking a lot of time to practice by yourself.
« Last Edit: May 16, 2021, 03:25:45 AM by keichi » Logged
prometey1982
Sr. Member
****

Karma: +72/-60
Online Online

Posts: 330



WWW
« Reply #1411 on: May 16, 2021, 06:31:34 PM »

Есть изменения в расходе?
Ну, как минимум расход из Минска в Новосибирск с Пежо на фаркопе получился 12.1 лира на 100 км. Думаю, без мода, он был бы выше.
Logged

Россия - Великая страна!
https://youtu.be/fup5GzIFdXk
keichi
Full Member
***

Karma: +11/-2
Offline Offline

Posts: 100


« Reply #1412 on: May 25, 2021, 03:11:01 AM »

Ok. I figured out how to force lean drive.
One word constant in the LAMDSK function must be changed (stock 0x1000 = lambda 1.0).
Its used as base lambda when no other lambda modifiers are used and as upper limit when other lambda modifiers are active (algorithm gets the lowest off all modifiers as target).
When idling LAMFA and LAMBTS are not used so target lambda will be hard coded. I set it on 15,7 AFR (~1,07 lambda = 0x1117).
But as soon as you slightly step on the accelerator ECU switch off idle condition flag and LAMFA and LAMBTS comes into play (on my ECU stock TABGBTS is set to -47,50 so LAMBTS is always used).
I also switched off catalytic converter by setting CWKONABG to zero. As a result i don't have cat diagnosis (AFR jumps on idle from time to time) and whats the most important - cat heating.
As it turned out cat heating was retarding timming and enriching lambda a lot from time to time for example in traffic when there was no much load (it was smth like DPF burning on diesels). That was causing increased fuel consumption.

Summing up, this is the most valuable mod in my opinion Smiley After test drive i actually couldn't believe how my fuel economy improved. In the city where i was struggling to get below 13l now i am getting around 10,5. On the highway it was hard do get to 9l and now i achieve 7,5l !!! This is just insane how much fuel stock car is wasting on low loads! All that because of saint catalytic and saint ecology Smiley Probably my car will not have the best emissions now but flashing stock LAMDSK before MOT is no problem Smiley
Logged
acoffinship
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 10



« Reply #1413 on: May 25, 2021, 06:09:23 AM »

Happy to hear about your successful progress on lambda > 1 Keichi. This is some really useful info you've shared, thanks. I haven't had time to sit down and dig into IDA yet.

I have finally cloned my ECU and immo, spare ECU is currently in my car. I've adjusted LDRXN map slightly (~0.65) bar boost and flashed the file. Driving my car feels a little different now, I could compare it to 2.5T. I will try to add some more boost in the future but for now it's enough. Logging in VIDA sucks.

The files I've attached in my earlier post are corrupted due to incorrect boot mode procedure. Being all happy and silly I didn't even think to try and run the checksum test. After a little brainstorming I've noticed that all the flash files start with the same code at the beginning, independent from software/year so I've compared those with my files. There was a visible pattern of zeroes in the code and that caught my attention. I re-read my ecu properly, flashed spare ECU, put it in the car and voila, success!

And since spare ecu can not be re-read since it was overwritten, I'm sharing just one file now.
Logged
jahko
Jr. Member
**

Karma: +2/-0
Offline Offline

Posts: 47


« Reply #1414 on: May 25, 2021, 02:08:28 PM »

Great to see work being done. Could you please tell us a bit more about what you did with the immo? I've got one I'd like to clone but so far haven't had any success writing to the spare.
Logged
acoffinship
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 10



« Reply #1415 on: May 26, 2021, 05:33:03 AM »

Great to see work being done. Could you please tell us a bit more about what you did with the immo? I've got one I'd like to clone but so far haven't had any success writing to the spare.

It's really easy. Same procedure as you would boot for reading/writing flash.

I've downloaded ME7eeprom tool from here:
http://nefariousmotorsports.com/forum/index.php?topic=1168.0
If you prefer GUI, there's a version of it somewhere in the thread. You have to use ME7eeprom v1.40.

I've used the following parameters to read immo data (check attachment). Make 2-3 reads and compare the reads just in case.
For writing data, same parameters except -w instead of -r.

ME7gui somehow works slowly when cmd opens, so I copy cmd code from ME7gui, paste in the code to a cmd window. Then boot my ECU - connect gnd to pin 24, count to 6-7 secs and just after releasing gnd from pin I press ENTER.

When writing, ME7eeprom writes the immo data properly but verification always fails. Don't mind that and just test the ECU in the car.
I also re-read the immo data from cloned ECU for comparison.
Logged
jahko
Jr. Member
**

Karma: +2/-0
Offline Offline

Posts: 47


« Reply #1416 on: May 30, 2021, 07:26:21 AM »

Thanks, I've read one ecu and written to another with the eeprom tool about 2 years ago but it didn't run the car and I didn't look into why other than seeing CSpin being different on different ecus, I should have another go really. What are the part numbers you're working with?
Logged
vwdenisvw
Jr. Member
**

Karma: +2/-0
Offline Offline

Posts: 27



« Reply #1417 on: June 16, 2021, 02:16:18 AM »

Ok. I figured out how to force lean drive.

Thanks a lot for the name of the maps! Everything worked great!
Logged

Volvo S60 2001 2.0T=>2.3T5=>2.0T=>d5t5...crash
Volvo S60 2003 2.4
Volvo S60 2002 2.4T AWD 630cc
vwdenisvw
Jr. Member
**

Karma: +2/-0
Offline Offline

Posts: 27



« Reply #1418 on: June 16, 2021, 02:23:00 AM »

Soft_launch (Soft Limiter)

Information taken from here

http://nefariousmotorsports.com/forum/index.php?topic=151.0

CWNMAXMD - Codeword for RPM limiter (We already use 1).
VNMX - The vehicle speed for activating the normal rev limit. Set this as low at it goes (1.25 km/h).
DNMAXH - This is the RPM above rev limit when the fuel cut comes on. Tweaking this helps make more boost on the limiter. I use 15 RPM.
ITNMXH - Dwell time under lower limit before activating the upper limit. Set to 0.
NMAX - Ends up being the launch RPM. I use 3200 RPM.
NMAXOG - This is the raised RPM limit which becomes the standard limit. Set to your desired redline. Standard value 2.3T5 6650 RPM.
TMOTNMX - Coolant temp for activating raised (normal) rev limit. Set this at -48 so that you can rev past the low limit while car is warming up.
TNMXH - This is the time duration of the raised (normal) rev limit. Set this to its maximum value of 655.3500 seconds (ff).

It remains to find only normal tires))

https://www.youtube.com/watch?v=JSVsEEh_c6k
Logged

Volvo S60 2001 2.0T=>2.3T5=>2.0T=>d5t5...crash
Volvo S60 2003 2.4
Volvo S60 2002 2.4T AWD 630cc
vwdenisvw
Jr. Member
**

Karma: +2/-0
Offline Offline

Posts: 27



« Reply #1419 on: June 16, 2021, 02:27:01 AM »

Overboost+dlamob

My friend and I still managed to activate this function)
The following maps were found:

GWPLDOB - gradient of angle of pedal to start overboost (2000 %/s)
KFLDRXO - Delta load (rL) at overboost condition
TABLDOBN - regulation time for overboost
TLDOBAN - Processing time for overboost active
TLDOBN - Lock time for overboost
KFFLDEO - Factor for boost pressure correction to overboost value by knock control
DLAMOB - Delta lambda during overboost

Basic maps for activation:

To begin with, I returned the LDRXN map to standard values.

GWPLDOB - The stock is set at 2000% / s, i.e. this function is unrealistic to activate. I set 120 %/s. This does not accidentally trigger overboost.
KFLDRXO - Here we adjust the increase in load. This is the drlmaxo value added to rlmx_w.
TABLDOBN - Set the time to 40 seconds.
DLAMOB - adjusted for a afr of 0.85-0.87.

For myself, I made overboost activation from 3000 rpm.
Logged

Volvo S60 2001 2.0T=>2.3T5=>2.0T=>d5t5...crash
Volvo S60 2003 2.4
Volvo S60 2002 2.4T AWD 630cc
Ihlberg82
Newbie
*

Karma: +0/-0
Offline Offline

Posts: 1


« Reply #1420 on: July 16, 2021, 10:56:36 PM »

Anyone here with good knowledge of the 2.4t LPT fitted in a C70 1999

I'm looking for someone to help me tune my car.
Not for free of course.
Logged
jahko
Jr. Member
**

Karma: +2/-0
Offline Offline

Posts: 47


« Reply #1421 on: July 18, 2021, 02:30:29 AM »

Anyone here with good knowledge of the 2.4t LPT fitted in a C70 1999

I'm looking for someone to help me tune my car.
Not for free of course.

post your file and what you've found so far
Logged
thedrill
Full Member
***

Karma: +12/-3
Offline Offline

Posts: 140



« Reply #1422 on: August 04, 2021, 05:19:04 PM »

Could any of you kind gentlemen please tell me where DSLOFS/DSLGRAD are in this file.

Thanks.
Logged
_nameless
Hero Member
*****

Karma: +373/-3439
Offline Offline

Posts: 2982



« Reply #1423 on: August 05, 2021, 08:49:42 AM »

Could any of you kind gentlemen please tell me where DSLOFS/DSLGRAD are in this file.

Thanks.

Around 15e60 if i had to guess
Logged

If you are broke or expecting free handouts DO NOT message me. I'll probably put you on blast if you do.
thedrill
Full Member
***

Karma: +12/-3
Offline Offline

Posts: 140



« Reply #1424 on: August 05, 2021, 09:08:43 AM »

Does not seem correct..
Logged
Pages: 1 ... 93 94 [95] 96 97 ... 194
  Print  
 
Jump to:  

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Page created in 0.057 seconds with 14 queries. (Pretty URLs adds 0s, 0q)