Toyota GR86, 86, FR-S and Subaru BRZ Forum & Owners Community - FT86CLUB

Toyota GR86, 86, FR-S and Subaru BRZ Forum & Owners Community - FT86CLUB (https://www.ft86club.com/forums/index.php)
-   Software Tuning (https://www.ft86club.com/forums/forumdisplay.php?f=88)
-   -   Which DTC do you turn off to remove the rear o2 without limp mode (https://www.ft86club.com/forums/showthread.php?t=81925)

mad_sb 02-05-2015 05:10 PM

Which DTC do you turn off to remove the rear o2 without limp mode
 
So,

At some point on my E85 tune, I removed and unplugged my rear o2 sensor. That tune has a lot of the open to closed loop logic turned off etc etc.. Long story short, I don't have limp mode issues on that tune but I was using my own beta definition files and etc etc...

I'm running a tank of 91 thorough this week to clean any gunk that may have built up on the injectors etc... So I am using an OTS 91 tune... I have already turned off the following:
P0037
P0038
P0137
P0138
P0140
P0141

I am not getting a CELL but I am in limp mode (closed loop target of 13.2 ish)

I think I had some additional dtc's in my beta deffinition possibly for P004X related to heater circuit.... but I don't have access to that deffinition at the moment.

Anyone know for sure what DTC's you need to turn off when you remove the rear 02 all together?

I know I can plug the rear 02 back in and zip tie it out of the way, but I would rather fix this now in the tune since I will fine tune the rom and keep it for my pump gas map.

steve99 02-05-2015 06:38 PM

Quote:

Originally Posted by mad_sb (Post 2119998)
So,

At some point on my E85 tune, I removed and unplugged my rear o2 sensor. That tune has a lot of the open to closed loop logic turned off etc etc.. Long story short, I don't have limp mode issues on that tune but I was using my own beta definition files and I'm etc etc...

I'm running a tank of 91 thorough this week to clean any gunk that may have built up on the injectors etc... So I am using an OTS 91 tune... I have already turned off the following:
P0037
P0038
P0137
P0138
P0140
P0141

I am not getting a CELL but I am in limp mode (closed loop target of 13.2 ish)

I think I had some additional dtc's in my beta deffinition possibly for P004X related to heater circuit.... but I don't have access to that deffinition at the moment.

Anyone know for sure what DTC's you need to turn off when you remove the rear 02 all together?

I know I can plug the rear 02 back in and zip tie it out of the way, but I would rather fix this now in the tune since I will fine tune the rom and keep it for my pump gas map.

P0420 cat efficency needs to be disabled.

i think rear 02 also used for lean cruise mode and if removed completly can cause cruise economy to drop

mad_sb 02-05-2015 08:59 PM

Quote:

Originally Posted by steve99 (Post 2120104)
P0420 cat efficency needs to be disabled.

i think rear 02 also used for lean cruise mode and if removed completly can cause cruise economy to drop

Yup, I forgot to mention 420.. I found the others when I got home:

P013A
P013B
P013E
P013F
P0296
P0297

Economy... whats that :bellyroll:

Seriously though, I have been tweaking and logging on this platform since the day BRZedit was released and I have never once seen any sings of a lean cruise function.. Not saying it doesn't exist, just saying I have never seen evidence of it. I spent days paying around with the various compensation tables etc. From what I have seen the only reason for the rear 02 is keep the cat happy and emissions low.. neither of which matter to me since the cat is gone and I run corn juice.

If you have any info on getting lean cruise working in closed loop, I am all ears because I do think it would be a big help with E85. In my previous attempts to get it working I was never able to target a closed loop afr leaner than 14.7:1 with any repeat-ability. The only way I have found to get lean cruise to work is to force open loop in the cruise area and 02 feedback is ignored when open loop.

Economy will drop slightly if you don't modify the AF3 tables to kill the rear 02 closed loop target offset function though.

steve99 02-05-2015 09:57 PM

Quote:

Originally Posted by mad_sb (Post 2120298)
Yup, I forgot to mention 420.. I found the others when I got home:

P013A
P013B
P013E
P013F
P0296
P0297

Economy... whats that :bellyroll:

Seriously though, I have been tweaking and logging on this platform since the day BRZedit was released and I have never once seen any sings of a lean cruise function.. Not saying it doesn't exist, just saying I have never seen evidence of it. I spent days paying around with the various compensation tables etc. From what I have seen the only reason for the rear 02 is keep the cat happy and emissions low.. neither of which matter to me since the cat is gone and I run corn juice.

If you have any info on getting lean cruise working in closed loop, I am all ears because I do think it would be a big help with E85. In my previous attempts to get it working I was never able to target a closed loop afr leaner than 14.7:1 with any repeat-ability. The only way I have found to get lean cruise to work is to force open loop in the cruise area and 02 feedback is ignored when open loop.

Economy will drop slightly if you don't modify the AF3 tables to kill the rear 02 closed loop target offset function though.

yeah i reckon you right, its probably just the af3 learn values that need disabling, so you would just set them to zero ?

their was some 02 heater circuit cel codes from memory is that disabled ? but looks like you got those.

Td-d 02-06-2015 03:18 AM

^ AF3 correction thresholds and rear O2 comps need to be zeroed.

Toyota John 02-06-2015 10:42 AM

Quote:

Originally Posted by mad_sb (Post 2120298)
Yup, I forgot to mention 420.. I found the others when I got home:

P013A
P013B
P013E
P013F
P0296
P0297

Economy... whats that :bellyroll:

Seriously though, I have been tweaking and logging on this platform since the day BRZedit was released and I have never once seen any sings of a lean cruise function.. Not saying it doesn't exist, just saying I have never seen evidence of it. I spent days paying around with the various compensation tables etc. From what I have seen the only reason for the rear 02 is keep the cat happy and emissions low.. neither of which matter to me since the cat is gone and I run corn juice.

If you have any info on getting lean cruise working in closed loop, I am all ears because I do think it would be a big help with E85. In my previous attempts to get it working I was never able to target a closed loop afr leaner than 14.7:1 with any repeat-ability. The only way I have found to get lean cruise to work is to force open loop in the cruise area and 02 feedback is ignored when open loop.

Economy will drop slightly if you don't modify the AF3 tables to kill the rear 02 closed loop target offset function though.

I haven't tried this but couldn't you rescale the primary O2 sensor to make it think a high like 15.7 AFR was 14.7? You would have to add the induced error to the rest of your closed loop and open loop fuel map you didn't want to run leaner. I don't see why it wouldn't work? Have you tried? you would still have the closed loop enabled. I run my mr2 turbo at about 15.5-15 in the cruising area of the fuel map and it works fine.

mad_sb 02-06-2015 01:15 PM

Quote:

Originally Posted by Toyota John (Post 2120906)
I haven't tried this but couldn't you rescale the primary O2 sensor to make it think a high like 15.7 AFR was 14.7? You would have to add the induced error to the rest of your closed loop and open loop fuel map you didn't want to run leaner. I don't see why it wouldn't work? Have you tried? you would still have the closed loop enabled. I run my mr2 turbo at about 15.5-15 in the cruising area of the fuel map and it works fine.

That may be the way to do it, but I think you would also have to scale the injectors along with the sensor... you cannot use a value larger than 14.7 in the primary fuel map, if you do it will revert to full rich (from my testing anyway).

So, if you just offset the 02 sensor, you will have to rely on fuel trims to lean you out and the fuel map to richen you bak to stoich in non cruise closed loop areas. You will also have to re work the closed to open loop transition tables (min target afr in particular).

As a proof of concept, it would be easiest to force full time open loop in conjunction with 02 sensor offset and injector rescale.

Toyota John 02-06-2015 03:46 PM

Just to confirm you only need to zero out the AF#3 when the secondary O2 is removed correct? If the cat is removed but the 2nd O2 is still present I should leave the AF#3 where it is and just turn off the cat efficiency trouble code?

mad_sb 02-07-2015 07:29 PM

So, apparently I am still missing some dtc's or something... Still getting the 13.7 ish closed loop target. It will target 14.7 right after start up, but once you drive it for a few minutes it starts targeting mid 13's. On occasion it will swing back up into the 14's but not often. I took some logs today to review and see if they shed any light on anything.

These are the current changes:

AF3 CL Target Compensation Limits -> High 0.00 | Low 0.00
AF3 Correction Limits -> High 0.00 | Low 0.00
AF3 Learning Limits -> High 0.00 | Low 0.00

and the following DTC set to off:
P0037
P0038
P0137
P0138
P0140
P0141
P013A
P013B
P013E
P013F
P2096 (typo in the earlier post)
P2097 (typo in the earlier post)
P0420

I just plugged the rear 02 back in and zip tied it out of the way. I will see what changes tomorrow if anything. And I have verified my wideband and the factory sensor are reading very similar.

I still think there are some heater circuit dtc's in p004X range that are missing from the deff but I'm not sure.

@Toyota John, assuming you have removed the cat in the header, then I would turn off all of the sensor 2 and post catalyst too lean codes as well as the slow response codes in addition to P0420.

ztan 02-08-2015 05:53 PM

Quote:

Originally Posted by mad_sb (Post 2122920)
These are the current changes:

AF3 CL Target Compensation Limits -> High 0.00 | Low 0.00
AF3 Correction Limits -> High 0.00 | Low 0.00
AF3 Learning Limits -> High 0.00 | Low 0.00

I've got RomRaider defs for the first 2 tables, can someone let me know where the AF3 learning limit table sits in the ROM?

Toyota John 02-09-2015 11:03 AM

Quote:

Originally Posted by mad_sb (Post 2122920)
So, apparently I am still missing some dtc's or something... Still getting the 13.7 ish closed loop target. It will target 14.7 right after start up, but once you drive it for a few minutes it starts targeting mid 13's. On occasion it will swing back up into the 14's but not often. I took some logs today to review and see if they shed any light on anything.

These are the current changes:

AF3 CL Target Compensation Limits -> High 0.00 | Low 0.00
AF3 Correction Limits -> High 0.00 | Low 0.00
AF3 Learning Limits -> High 0.00 | Low 0.00

and the following DTC set to off:
P0037
P0038
P0137
P0138
P0140
P0141
P013A
P013B
P013E
P013F
P2096 (typo in the earlier post)
P2097 (typo in the earlier post)
P0420

I just plugged the rear 02 back in and zip tied it out of the way. I will see what changes tomorrow if anything. And I have verified my wideband and the factory sensor are reading very similar.

I still think there are some heater circuit dtc's in p004X range that are missing from the deff but I'm not sure.

@Toyota John, assuming you have removed the cat in the header, then I would turn off all of the sensor 2 and post catalyst too lean codes as well as the slow response codes in addition to P0420.

Currently have have LTFT disabled and all delays at zero. I have my closed loop targeting 14.7 and everything I have logged says it stays there.

mad_sb 02-09-2015 09:08 PM

Plugged in the rear 02 sensor.. still getting rich closed loop targets.. at cruise it jumps between 13 and 13.5. When I come to a stop and idle it will hang around 13 for some number of seconds to a minute or so then it jumps back up to 14.7.

I'm gonna try and go back to one of my old pump gas tunes and see if it is something in the OTS map causing the problem.

mad_sb 02-10-2015 10:43 AM

OK, I think it is P0562 system voltage too low that i need to turn off with no rear 02 sensor (and no voltage input to the ecu for the rear 02 signal wire).

Lots of posts on romraider that if there is no rear 02 signal voltage the ecu will go into limp mode and target the rich AFR's i am seeing. Apparently if you feed the ecu a narow band signal, like you would if you replaced teh rear 02 with a wideband, the rich targets immediately go away.

My E85 rom has P0562 and P0563 turned off, but the Def i have for ZA1JA00C only has P0560.. checking with @Td-d to see if he can find 562 and 3 for me.

mad_sb 02-11-2015 09:15 AM

Traded messages with TD-D yesterday, the P0562 and 3 are off by default so those are obviously not the culprit.

The strange thing Is that I plugged the 02 back in days ago and have reflashed twice already and still having this issue.... It 100% started as soon as I flashed back to pump gas, on the very first start up on the pump gas map. I'm starting to think that the problem may be due to turning off too many DTC's or a couple of specific ones anyway.

Last night I spent an hour or so and copied all of the tuned tables out of the pump map I am using and into the E85 map that does not give me this stupid limp mode... will report back.. I hope I jut turned off a couple dtc's that need to stay enabled.

I may also try a hard reset (pull the battery terminal) I can't imagine why that would make a difference but it's worth a shot i guess.

mad_sb 02-11-2015 03:00 PM

Alright, I think I know what is going on here. On my E85 rom, I have had the long term fuel trims disabled for a long while now (by setting the closed loop target addative table to zero). I believe this is the reason I have not seen the "limp mode" rich fueling before.

Everything I have read on romraider indicates that the ecu only really cares about the sensor signal to the ecu, and if that is missing or out of range, it will go into limp mode with the rich closed loop targets. 02 can be unplugged, so long as the heater dtc's are turned off and you are feeding a narrow band signal to the ecu in place of the secondary 02 signal.

What I don't understand though, is why zeroing the AF3 tables does not remove the rich target as it normally does on the other subaru ecu's that have this limp mode issue.

I think the only real "fix" for removing the rear 02 on this platform is to feed a narrow band signal to the ecu.

dave- 02-16-2015 12:28 AM

So can we successfully disable the secondary O2 and replace it with an aftermarket wideband for external logging? Or is it better to just have another bung welded in on the factory header or front pipe (not sure where the LC-1 will fit) and avoid having to muck around with disabling codes and zeroing tables (I can't see one the one ztan mentioned either on A01G RR defs).

I just want to be able to have wideband AFR logging on the laptop for street tuning.

mad_sb 02-16-2015 08:32 PM

Quote:

Originally Posted by dave- (Post 2133813)
So can we successfully disable the secondary O2 and replace it with an aftermarket wideband for external logging? Or is it better to just have another bung welded in on the factory header or front pipe (not sure where the LC-1 will fit) and avoid having to muck around with disabling codes and zeroing tables (I can't see one the one ztan mentioned either on A01G RR defs).

I just want to be able to have wideband AFR logging on the laptop for street tuning.

If you plan on removing the rear 02 to install a wideband in it's place, you will need to run the widebands narrow band emulation signal to the ecu rear o2 signal input. Otherwise you will get limp mode (rich closed loop afr target of about 13.7 rather than 14.7). I have tried every combination of dtc's, AFR 3 settings etc and none of them make any difference when the rear 02 is out of the pipe, plugged in or not. The only thing that does stop the rich target is dissabling long term trims completely by zeroing the closed loop load compensation map. That will eliminate the rich target and you will target 14.7 all the time in closed loop.


===================================

As my final test, I put the rear 02 back in the pipe with no other changes, my rich closed loop target went away, the previous config was with the sensor plugged in but not in the pipe. This matches all the info on romraider about the newer 32bit ecu's.

What does not match, is that zeroing all 3 (or any combination of) of the AF3 maps has zero effect on the rich target when the rear 02 is either unplugged or in free air and the long term trims are enabled (closed loop target comp table is non zero). At least for my ZA1JA00C ecu. Mine is one of the freaks that likes to reset IAM to the rom's default if it sits for more than a couple of hours.

For What it's worth, mine never obeyed the AF learning limits regardless of how they were set when i tested them a long while ago. That is true for both brzedit and the open source tools. Same is true for AF3. No clue why but I'm starting to think there may be multiple hardware version ecu's out there or i just got bad ecu from the factory.

It's either that, or brzedit changed a piece of code or a register in the ecu that the other flashing tools does not overwrite.

Now that I am on my second tank of pump gas (and fuel trims are very low again) I can test turning off the long term trims and running with the rear 02 unplugged again, but I am positive it will work fine that way, just without any long term trims. I may just bite the bullet and run the narrow band signal to the eco to keep it happy since I will absolutely want my wideband connected if I add a supercharger latter this year.

dave- 02-17-2015 08:07 PM

Quote:

Originally Posted by mad_sb (Post 2134930)
If you plan on removing the rear 02 to install a wideband in it's place, you will need to run the widebands narrow band emulation signal to the ecu rear o2 signal input. Otherwise you will get limp mode (rich closed loop afr target of about 13.7 rather than 14.7). I have tried every combination of dtc's, AFR 3 settings etc and none of them make any difference when the rear 02 is out of the pipe, plugged in or not. The only thing that does stop the rich target is dissabling long term trims completely by zeroing the closed loop load compensation map. That will eliminate the rich target and you will target 14.7 all the time in closed loop.

Sounds too hard, may as well leave factory o2 alone. I'll either get a bung put in on the over or front pipes to connect the LC-1 or make up a clamp that can stick it in the tailpipe like we would on the dyno. I don't need it there 24/7, just while tuning.

mad_sb 02-17-2015 08:51 PM

Quote:

Originally Posted by dave- (Post 2136486)
Sounds too hard, may as well leave factory o2 alone. I'll either get a bung put in on the over or front pipes to connect the LC-1 or make up a clamp that can stick it in the tailpipe like we would on the dyno. I don't need it there 24/7, just while tuning.

For a temporary solution you could just make up a socket or pin (not sure which you need since I'm not looking at the connector) connected to the lc-1 analogue output wire, unplug the factory 02, insert your lc-1 connector on or in ping 3 of the ecu side connector and use the secondary 02 bung for the lc.

ztan 04-29-2015 03:57 AM

Quote:

Originally Posted by mad_sb (Post 2128320)
Alright, I think I know what is going on here. On my E85 rom, I have had the long term fuel trims disabled for a long while now (by setting the closed loop target addative table to zero). I believe this is the reason I have not seen the "limp mode" rich fueling before.

Everything I have read on romraider indicates that the ecu only really cares about the sensor signal to the ecu, and if that is missing or out of range, it will go into limp mode with the rich closed loop targets. 02 can be unplugged, so long as the heater dtc's are turned off and you are feeding a narrow band signal to the ecu in place of the secondary 02 signal.

What I don't understand though, is why zeroing the AF3 tables does not remove the rich target as it normally does on the other subaru ecu's that have this limp mode issue.

I think the only real "fix" for removing the rear 02 on this platform is to feed a narrow band signal to the ecu.


I've had a look at the disassembly to see what happens to the rear O2 sensor input.

A01G ROM logging for Rear O2 sensor input:
Code:

paramname = O2S2_V
paramid = 0xFFF842FA
databits = 16
scalingrpn = x,0.000076293945,*

paramname = O2S2
paramid = 0xFFF8D274
isfloat = 1

An example of where the Rear O2 sensor data is pulled:
Code:

ROM:000AFE12 sub_AFE12:                              ; CODE XREF: Q_OBD_Mode_01+3Ep
ROM:000AFE12                sts.l  pr, @-r15      ; Store System Register Long
ROM:000AFE14                mov.l  #Pull_16_bit_sensor, r2 ; 12F24
ROM:000AFE16                jsr    @R2 ; Pull_16_bit_sensor ; Jump to Subroutine
ROM:000AFE18                mov    #h'2C, r4 ; ',' ; Move Immediate Byte Data
ROM:000AFE1A                extu.w  r0, r6          ; Extend as Unsigned (Word)
ROM:000AFE1C                lds    r6, fpul        ; Load to System Register
ROM:000AFE1E                float  fpul, fr8      ; Floating-point convert from integer
ROM:000AFE20                mova    h'AFFFC, r0    ; Move Effective Address
ROM:000AFE22                fmov.s  @r0, fr9        ; Floating-point move single precision
ROM:000AFE24                fmul    fr9, fr8        ; Floating-point multiply
ROM:000AFE26                movi20  #RAM_AF_SENS_2, r2 ; FFF8D274
ROM:000AFE2A                lds.l  @r15+, pr      ; Load to System Register Long
ROM:000AFE2C                rts                    ; Return from Subroutine
ROM:000AFE2E                fmov.s  fr8, @R2        ; Floating-point move single precision
ROM:000AFE2E ; End of function sub_AFE12

The Rear O2 sensor data is pulled when the Pull_16_bit_sensor subroutine (12F24 in A01G and 12FCC in A01C) is called with the value 0x2C in r4. If you have a look for references to the subroutine for pulling 16 bit sensor data with 0x2C in r4, there are a lot of them.

It should be possible to put a hook into the sensor pull subroutine and feed it narrowband data (based off the front O2 sensor) if r4 = 0x2C, whilst using the sensor input for something else without giving the ECU too much illogical information and sending it into some kind of limp home mode.

phrosty 04-29-2015 11:41 AM

Quote:

Originally Posted by ztan (Post 2231028)
I've had a look at the disassembly to see what happens to the rear O2 sensor input.

How are people disassembling the roms? I'd love to get my hands on this.

Kodename47 04-29-2015 02:44 PM

Quote:

Originally Posted by phrosty (Post 2231230)
How are people disassembling the roms? I'd love to get my hands on this.

IDA: http://www.romraider.com/forum/viewtopic.php?t=6303

mad_sb 05-01-2015 12:10 AM

Great info man!
Quote:

Originally Posted by ztan (Post 2231028)
I've had a look at the disassembly to see what happens to the rear O2 sensor input.

A01G ROM logging for Rear O2 sensor input:
Code:

paramname = O2S2_V
paramid = 0xFFF842FA
databits = 16
scalingrpn = x,0.000076293945,*

paramname = O2S2
paramid = 0xFFF8D274
isfloat = 1

An example of where the Rear O2 sensor data is pulled:
Code:

ROM:000AFE12 sub_AFE12:                              ; CODE XREF: Q_OBD_Mode_01+3Ep
ROM:000AFE12                sts.l  pr, @-r15      ; Store System Register Long
ROM:000AFE14                mov.l  #Pull_16_bit_sensor, r2 ; 12F24
ROM:000AFE16                jsr    @R2 ; Pull_16_bit_sensor ; Jump to Subroutine
ROM:000AFE18                mov    #h'2C, r4 ; ',' ; Move Immediate Byte Data
ROM:000AFE1A                extu.w  r0, r6          ; Extend as Unsigned (Word)
ROM:000AFE1C                lds    r6, fpul        ; Load to System Register
ROM:000AFE1E                float  fpul, fr8      ; Floating-point convert from integer
ROM:000AFE20                mova    h'AFFFC, r0    ; Move Effective Address
ROM:000AFE22                fmov.s  @r0, fr9        ; Floating-point move single precision
ROM:000AFE24                fmul    fr9, fr8        ; Floating-point multiply
ROM:000AFE26                movi20  #RAM_AF_SENS_2, r2 ; FFF8D274
ROM:000AFE2A                lds.l  @r15+, pr      ; Load to System Register Long
ROM:000AFE2C                rts                    ; Return from Subroutine
ROM:000AFE2E                fmov.s  fr8, @R2        ; Floating-point move single precision
ROM:000AFE2E ; End of function sub_AFE12

The Rear O2 sensor data is pulled when the Pull_16_bit_sensor subroutine (12F24 in A01G and 12FCC in A01C) is called with the value 0x2C in r4. If you have a look for references to the subroutine for pulling 16 bit sensor data with 0x2C in r4, there are a lot of them.

It should be possible to put a hook into the sensor pull subroutine and feed it narrowband data (based off the front O2 sensor) if r4 = 0x2C, whilst using the sensor input for something else without giving the ECU too much illogical information and sending it into some kind of limp home mode.



All times are GMT -4. The time now is 07:34 PM.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
User Alert System provided by Advanced User Tagging v3.3.0 (Lite) - vBulletin Mods & Addons Copyright © 2024 DragonByte Technologies Ltd.


Garage vBulletin Plugins by Drive Thru Online, Inc.