C4 Tech/Performance L98 Corvette and LT1 Corvette Technical Info, Internal Engine, External Engine

O2 sensor - Closed Loop

Thread Tools
 
Search this Thread
 
Old Aug 6, 2004 | 02:38 PM
  #1  
Skippy Stone's Avatar
Skippy Stone
Thread Starter
Racer
 
Joined: Jul 2002
Posts: 401
Likes: 1
From: Aptos CA
Default O2 sensor - Closed Loop

90 L98-

The stock O2 sensor was replaced with a four wire. The ECM is taking way, way too long to set the O2 Ready signal. The O2 shows voltage and I get transitions long before the Ready signal sets.

In the Constants table I have set the following:
Cold O2 Closed Loop Delay Timer - 60
Warm O2 Closed Loop Delay Timer - 34
Hot O2 Closed Loop Delay Timer - 24
Min Coolant Temp. For Closed Loop Fuel - 50c

I have not changed the following tables from stock:
Lower Zero Error Reference for Slow O2 R/L vs. MAP
Upper Zero Error Reference for Slow O2 R/L vs. MAP
Fast O2 Rich/Lean Threshold vs. MAP

What am I missing? Do I need to adjust the Zero Error tables to the different O2. Or?

Thanks in advance.
Reply
Old Aug 7, 2004 | 10:35 AM
  #2  
DOCTOR J's Avatar
DOCTOR J
Burning Brakes
15 Year Member
 
Joined: May 1999
Posts: 760
Likes: 1
From: Greenwich, CT
Default

FWIW, I use 90 / 60 / 30 sec and 53*C with no problems. The only other permissive I'm aware of for entering closed loop
(in $8D mask) is the AIR Divert solenoid. The ECM will not enter CL when the soleniod is energized that sends air to the
headers.

Also, you do need to allow a little time for the start-up enrichment to blow through before enabling the Integrator function.

A 4-wire should not require a change in the O2 R/L tables, although I prefer the 3-wire AFS-74 sensor - as outlined here:

http://www.thirdgen.org/techbb2/show...hreadid=233182

HTH
Reply
Old Aug 7, 2004 | 11:17 AM
  #3  
Skippy Stone's Avatar
Skippy Stone
Thread Starter
Racer
 
Joined: Jul 2002
Posts: 401
Likes: 1
From: Aptos CA
Default

Thank you. Ya gotta love the 3rd gen group, some of those guys really know their stuff.

I have the AFS-75, and got a great deal. I can't imagine the alogrithms are that different from the AFS-74, but I don't know.

Good heads-up on the Air Divert Bit set. My brain completely blocked that out. I'm going to double check the Canister purge, too.

I hope the new O2 fixes the mis-reads that keep indicating I'm rich at the same time my headers are glowing red.
Reply
Old Aug 7, 2004 | 11:40 AM
  #4  
DOCTOR J's Avatar
DOCTOR J
Burning Brakes
15 Year Member
 
Joined: May 1999
Posts: 760
Likes: 1
From: Greenwich, CT
Default

Uh, if you retard the spark timing enough you can get both glowing headers AND a rich condition in the exhaust. Ask me how
I know this.

I hypothesize the same conditions could be seen if the exhaust valve(s) did not fully seal/seat - FWIW.
Reply
Old Aug 7, 2004 | 01:10 PM
  #5  
Skippy Stone's Avatar
Skippy Stone
Thread Starter
Racer
 
Joined: Jul 2002
Posts: 401
Likes: 1
From: Aptos CA
Default

Originally Posted by DOCTOR J
Uh, if you retard the spark timing enough you can get both glowing headers AND a rich condition in the exhaust. Ask me how
I know this.

I hypothesize the same conditions could be seen if the exhaust valve(s) did not fully seal/seat - FWIW.
I'm asking....... I am exactly in that situation.

Yeah, I have been affraid I don't complete close on a valve because of the backfires, however retarding timing, especially on closed throttle and cutting off fuel earlier on decel helps. So I can get the backfires to go away. It's tough sometimes to troubleshoot because the fastburns and MiniRam are SO much more efficient. Part of the problem may be adjusting PW for my Ford 30# properly.

I have gone to cooler plugs and that has eliminated knock retard completely. Now I can add a little extra advance in mid MAP to see if that helps the glow/rich situation. Gosh, I run hot compared to the old Big Mouth- ported stock heads.

Last edited by Skippy Stone; Aug 7, 2004 at 01:15 PM.
Reply
Old Aug 7, 2004 | 04:16 PM
  #6  
DOCTOR J's Avatar
DOCTOR J
Burning Brakes
15 Year Member
 
Joined: May 1999
Posts: 760
Likes: 1
From: Greenwich, CT
Default

Since you ask: Been there, done that.

Your sig says you have a Hot Cam, Fast Burns, and a Mini-Ram?

That seems like a pretty daunting combo to tune below 3000 rpm, at least in closed loop with $8D.


I'd think with that intake, plus the cam overlap and low DCR, you would see VERY low cylinder-filling at
low speed. That is going to want ALL of the stock timing table (below WOT) plus some, in my estimation.
Once you are up on the cam (around 3K), it will probably take less(?) timing than the stock table - but that
is just a guess.


With that much overlap it is probably going to idle rich no matter what you do; and with very low VEs the
30 # inj's are even more problematic. I'd start with the stock spark table and a higher idle, then go up
from there. More spark advance should bring the ECT down too. YMMV. Good luck.
Reply
Old Aug 8, 2004 | 12:22 AM
  #7  
Skippy Stone's Avatar
Skippy Stone
Thread Starter
Racer
 
Joined: Jul 2002
Posts: 401
Likes: 1
From: Aptos CA
Default

Pretty darn good assessment of my combo. Although, spark advance is WAY down from stock in mid to low RPM. Above 3600 its about the same, and a little higher at 80-100 kpa. Above 4800, I am about 3 degrees higher. Of course, I can pull an extra 1200 rpm higher than before. But I pay the price in low end torque.

I can get smooth light throttle, or decent idle, or good top-end, or decent mid-range - but getting most of it working at the same time has eluded me.

After reading your comments, I think I'll believe the BLMs and keep reducing the low MAP/RPM VEs. They seem very low, but it IS a different engine. Reducing Pulse Width times for the variables like low volts, etc. helps.

Thanks for the help and----you still need to tell how you know about spark retard and hot headers - share, please.
Reply
Old Aug 8, 2004 | 04:06 PM
  #8  
DOCTOR J's Avatar
DOCTOR J
Burning Brakes
15 Year Member
 
Joined: May 1999
Posts: 760
Likes: 1
From: Greenwich, CT
Default discussion of cam events & 8D

Hmm, you certainly have a fascination for the (near)misfortune of others. Rather than tune by
anecdote, it might make more sense to look briefly at the problem in engineering terms. Consider
what the engine is trying to do in normal circumstances:

A. On the intake stroke it is trying to fill the cylinder with air and fuel for later combustion.

B. On the compression stroke it is (more or less) adiabatically compressing that mixture, adding
heat and pressure to the gases from mechanical energy.

C. At some point the mix is ignited, such that the max pressure of the burning mix occurs
somewhere around TDC.

D. The 'power' stroke (more or less) adiabatically expands the combustion gas, transforming heat
and pressure into mechanical work at the crank, i.e. cooling the mix before it is exhausted.

E. The exhaust stroke tries to empty the cylinder of the expanded and now inert combusted mixture.



In my estimation, you are wondering why you have hot headers and no power at low rpm. What
could be the cause? Let's look at the cam you chose, at least in a cursory fashion:

1. On the intake stroke, the first thing it sees is 60* of valve overlap, with both valves being open
up to ~0.050" at the worst point. At low engine speed (when flow dynamics are not working in your
favor) this has the effect of sending exhaust gas into the intake for 30* of crank rotation, followed
by 30* of pulling that same exhaust gas back OUT of the intake - before it can start pulling in fresh
air. This amounts to a dilution of the intake (air) charge.

More subtly, the exhaust gas has raised the MAP artificially AND pulled in some of the fuel sitting
on the bottom of the intake port - all before the engine has had a chance to get any outside air. Thus
you start out trying to process an intake charge that is lower than you might want in O2 content, and
may have more fuel than needed. Also, your ECM doesn't know that the MAP reading is made up of
exhaust instead of air, so it doesn't have a clue what to do about spark and PW in those conditions...

2. The compression stroke is as before, except for the inert components along for the (useless) ride.

3. Ignition is now of a mix that includes some inerts. This will generally be harder to light, and
generally wants MORE advance in order to get the peak pressure where you want it (due to lower
partial pressures of O2 and fuel). The slower the engine runs, the more inerts it must deal with.

4. On the expansion stroke, everything occurs as before but note that this cam opens the exhaust
valve starting at ~100* ATDC. If your ignition point was LATE this means gas at high pressure and
temperature is blowing down into the exhaust header, RATHER THAN transferring its energy to the
crank.

5. The exhaust stoke is as before until we get back to the overlap. BTW, this cam has a DCR of ~8
in a small block, which is better than I originally (mis)remembered. I'd guess your intake should
start to pull in good air somewhere above 2K if you get the timing right.


If you have managed to stay awake this far, note that the Hot Cam isn't all that radical - but the
simplified summary above is one reason high-rpm cams do NOT like to run at low speed, AND why
the 727 ECM is unhappy dealing with them CL at idle.


It is also, IMHO, why you are going in the wrong direction with your timing changes at part throttle
& the source of the 'incandescent headers'. What you are trying to do is not a somple tuning task.
I found my Hot Cam wanted nearly stock part-load timing, rather than less, but I used a different
intake & heads.

For a more thorough discussion of valve events any of Dave Vizard's books are excellent (and far
more coherent) reading. I have not seen a good primer on trying to tune $8D in closed loop with
very much cam, so you are left to search for something more comprehensive than my ramblings...
This may not help, but will possibly(?) put engine events in perspective. YMMV. For extra credit,
feel free to do the enthalpy calcs on the Otto cycle. I'm far too lazy to do it myself.
Reply
Corvette Stories

The Best of Corvette for Corvette Enthusiasts

story-0

5 Reasons to Upgrade to an LS6-Powered Corvette; 5 Reasons to Stay LT2

 Michael S. Palmer
story-1

2027 Corvette vs The World: Every Model vs Closest Competitor

 Joe Kucinski
story-2

10 Most Common Corvette Problems of the Last 20 Years!

 Joe Kucinski
story-3

5 MOST and 5 LEAST Popular Corvette Model Years in History!

 Joe Kucinski
story-4

2027 Corvette Buyer's Guide: Everything You Need to Know!

 Joe Kucinski
story-5

10 Things C8 Corvette Owners Hate (But Won't Tell You)

 Joe Kucinski
story-6

10 Best Corvettes Coming to Barrett-Jackson Palm Beach 2026!

 Brett Foote
story-7

Every Corvette Grand Sport Explained! (C2, C4, C6, C7, & C8)

 Joe Kucinski
story-8

Grand Sport & Grand Sport X Launch Alongside All-New 535hp LS6 V8!

 Michael S. Palmer
story-9

5 Reasons Bad Drivers Crash & 5 Ways to Avoid a Costly Mistake!

 Joe Kucinski
Old Aug 8, 2004 | 10:54 PM
  #9  
DOCTOR J's Avatar
DOCTOR J
Burning Brakes
15 Year Member
 
Joined: May 1999
Posts: 760
Likes: 1
From: Greenwich, CT
Default discussion of cam events & 8D

-
Hmm, you certainly have a fascination for the (near)misfortune of others. Rather than tune by
anecdote, it might make more sense to look briefly at the problem in engineering terms. Consider
what the engine is trying to do in normal circumstances:

A. On the intake stroke it is trying to fill the cylinder with air and fuel for later combustion.

B. On the compression stroke it is (more or less) adiabatically compressing that mixture, adding
heat and pressure to the gases from mechanical energy.

C. At some point the mix is ignited, such that the max pressure of the burning mix occurs
somewhere around TDC.

D. The 'power' stroke (more or less) adiabatically expands the combustion gas, transforming heat
and pressure into mechanical work at the crank, i.e. cooling the mix before it is exhausted.

E. The exhaust stroke tries to empty the cylinder of the expanded and now inert combusted mixture.



In my estimation, you are wondering why you have hot headers and no power at low rpm. What
could be the cause? Let's look at the cam you chose, at least in a cursory fashion:

1. On the intake stroke, the first thing it sees is 60* of valve overlap, with both valves being open
up to ~0.050" at the worst point. At low engine speed (when flow dynamics are not working in your
favor) this has the effect of sending exhaust gas into the intake for 30* of crank rotation, followed
by 30* of pulling that same exhaust gas back OUT of the intake - before it can start pulling in fresh
air. This amounts to a dilution of the intake (air) charge.

More subtly, the exhaust gas has raised the MAP artificially AND pulled in some of the fuel sitting
on the bottom of the intake port - all before the engine has had a chance to get any outside air. Thus
you start out trying to process an intake charge that is lower than you might want in O2 content, and
may have more fuel than needed. Also, your ECM doesn't know that the MAP reading is made up of
exhaust instead of air, so it doesn't have a clue what to do about spark and PW in those conditions...

2. The compression stroke is as before, except for the inert components along for the (useless) ride.

3. Ignition is now of a mix that includes some inerts. This will generally be harder to light, and
generally wants MORE advance in order to get the peak pressure where you want it (due to lower
partial pressures of O2 and fuel). The slower the engine runs, the more inerts it must deal with.

4. On the expansion stroke, everything occurs as before but note that this cam opens the exhaust
valve starting at ~100* ATDC. If your ignition point was LATE this means gas at high pressure and
temperature is blowing down into the exhaust header, RATHER THAN transferring its energy to the
crank.

5. The exhaust stoke is as before until we get back to the overlap. BTW, this cam has a DCR of ~8
in a small block, which is better than I originally (mis)remembered. I'd guess your intake should
start to pull in good air somewhere above 2K if you get the timing right.


If you have managed to stay awake this far, note that the Hot Cam isn't all that radical - but the
simplified summary above is one reason high-rpm cams do NOT like to run at low speed, AND why
the 727 ECM is unhappy dealing with them CL at idle.


It is also, IMHO, why you are going in the wrong direction with your timing changes at part throttle
& is the source of the 'incandescent headers'. What you are trying to do is not a simple tuning task.
I found my Hot Cam wanted nearly stock part-load timing, rather than less (but I used a different
intake & heads).

For a more thorough discussion of valve events any of Dave Vizard's books are excellent (and far
more coherent) reading. I have not seen a good primer on trying to tune $8D in closed loop with
very much cam, so you are left to search for something more comprehensive than my ramblings...
This may not help, but will possibly(?) put engine events in perspective. YMMV. For extra credit,
feel free to do the enthalpy calcs on the Otto cycle. I'm far too lazy to do it myself.

Last edited by DOCTOR J; Aug 10, 2004 at 01:23 PM.
Reply
Old Aug 8, 2004 | 11:29 PM
  #10  
tequilaboy's Avatar
tequilaboy
Melting Slicks
 
Joined: Aug 2003
Posts: 3,377
Likes: 387
From: Lakeville MI
Default

[QUOTE=Skippy Stone]90 L98-

The stock O2 sensor was replaced with a four wire. The ECM is taking way, way too long to set the O2 Ready signal. The O2 shows voltage and I get transitions long before the Ready signal sets.

I had a similar issue on my 88, when I leaned out the open loop calibration. The ecu is looking for > 699 mv or < 199 mv to set O2 ready. When I added more open loop fuel and could maintain over 700 mv, O2 ready and closed loop mode returned as expected.

Try adding more fuel.
Reply
Old Aug 9, 2004 | 12:13 AM
  #11  
Skippy Stone's Avatar
Skippy Stone
Thread Starter
Racer
 
Joined: Jul 2002
Posts: 401
Likes: 1
From: Aptos CA
Default

Originally Posted by tequilaboy

I had a similar issue on my 88, when I leaned out the open loop calibration. The ecu is looking for > 699 mv or < 199 mv to set O2 ready. When I added more open loop fuel and could maintain over 700 mv, O2 ready and closed loop mode returned as expected.

Try adding more fuel.
Eureka!!! I was looking at that in the Dissassemby of ANHT ECM. And the check is for 10 secs before it restarts the closed-loop count-down/check again. For any who are interested here is the code segment:

;o2 QUALIFERS, (WINDOW);
L848F: FCB 158 ; IF o2 < 699 mvdc THEN o2 IS READY
L8490: FCB 45 ; IF o2 > 199 mvdc THEN o2 IS READY
L8491: FCB 50 ; IF o2 IN ABOVE WINDOW >= 10 Sec's then o2 is NOT READY

Thanks - Have a shot with lime on me, tequilaboy
Reply
Old Aug 9, 2004 | 01:10 AM
  #12  
Skippy Stone's Avatar
Skippy Stone
Thread Starter
Racer
 
Joined: Jul 2002
Posts: 401
Likes: 1
From: Aptos CA
Default

Originally Posted by DOCTOR J
-
Hmm, you certainly have a fascination for the (near)misfortune of others. Rather than tune by anecdote, it might make more sense to look briefly at the problem in engineering terms.
Wow, that's not me at all. Especially the first part. In fact, I logic out solutions. Of course, empirical knowledge overrides everything.

Anyway, I hope you enjoyed presenting the aspects of engine flow/ignition dynamics in regard to overlapping valve openings. I found it interesting. One variable seemed noticeably missing, however. The system does not have a carburetor, but injectors. As such, the width, and start/end times of fuel are controllable. Unfortunately, it is limited by being a bank system as opposed to sequential, but none-the-less much more flexible than a carb.

The ECM does some compensation for low speed inert gases by adjusting the A/F when the EGR is active. Since, this setup neither has EGR (inert gases should cool the engine) and the EGR adjustment has been disabled, I get no "help" from the ECM for the problem you eloquently outlined.

However, I can adjust the injector pulse widths and their timing. With perfect statistical information, I could time the injectors to open after that awkward (low pressure, high inert gas) moment and keep the O2 sensor and engine happy.

Empirical knowledge: the Ford 30# injectors dribble when in short open/short duration pulses. Thus: they are terrible for atomizing the gas and compounding low RPM problems.

Thanks for the help and information.
Reply
Old Aug 10, 2004 | 01:28 PM
  #13  
DOCTOR J's Avatar
DOCTOR J
Burning Brakes
15 Year Member
 
Joined: May 1999
Posts: 760
Likes: 1
From: Greenwich, CT
Default

I corrected my first paragraph in the post above, sorry for my oversight.

The balance of the discussion may not have been clear, I'm afraid. Let me re-state the main
points more concisely:


The description was about how cam events affect tuning the $8D mask, at least according to
my measurements and observations.

In terms of controls engineering, I concluded that gas-mixing (reversion) is a non-stable condition
that influences two of the main control functions of the 8D program at low rpm:

1. The MAP measurement - This affects the dependent variables - Fuel bpw and Spark timing.

2. The O2 feedback PID loop - This measures O2 partial pressure in the exhaust in order to
control the dependent variable - Adaptive fuel rate.


The temporal sequence of valve events was something I used to try to understand some things
I saw when looking at a cam with a lot of overlap in an 8D application. If chasing a fuel problem
for example, it helped me to remember which were the measured (vs the dependent) variables,
in order to keep things in a proper cause-and-effect order. I thought it might help you track
down some of the problems you mention having with your car. Your results may vary.


Re your later points:

If you are tuning for a carburetor I must have misunderstood your original post, and you can
ignore all of the above about 8D control.

The idea of controlling fuel pulse timing is a good one, and GM is developing direct gasoline
injection for just those reasons. There are some interesting SAE papers about this on the
Delphi site. AFAIK it is not yet being offered commercially from GM. In your design work,
bear in mind that the L98 system was built to measure O2 molecules in the exhaust gas
(rather than hydrocarbons) and is rigged to average the flows from either 4 or 8 cylinders
over a period of several seconds. I found that while the GM lambda control loop can be
configured to track the reversion mix fairly closely, it then drifts into a regime where
lean-misfires become a problem. I'm guessing you will need to build more stability into
the lambda proportional control (and fix the MAP issue) at low rpm to make your strategy
successful.

Your EGR analogy is related, but remember in stock form GM only applies it above some
threshold rpm when the engine is under load. Looking at the code, I am under the impression
they chose a point where the intake flows were already establixhed in a stable region. This
would be different than idle conditions, for the reasons stated above.

Fuel atomization is an interesting topic. Check the Delphi site for some of GM's experiments
measuring fuel transport phenonema in port injection manifolds.

Good luck in your project.
Reply
Old Aug 10, 2004 | 03:05 PM
  #14  
DOCTOR J's Avatar
DOCTOR J
Burning Brakes
15 Year Member
 
Joined: May 1999
Posts: 760
Likes: 1
From: Greenwich, CT
Default

I corrected my first paragraph in the post above, sorry for my oversight.

The balance of the discussion may not have been clear, I'm afraid. Let me re-state the main
points more concisely:


The description was about how cam events affect tuning the $8D mask, at least according to
my measurements and observations.

In terms of controls engineering, I concluded that gas-mixing (reversion) is a non-stable condition
that influences two of the main control functions of the 8D program at low rpm:

1. The MAP measurement - This affects the dependent variables - Fuel bpw and Spark timing.

2. The O2 feedback PID loop - This measures O2 partial pressure in the exhaust in order to
control the dependent variable - Adaptive fuel rate.


The temporal sequence of valve events was something I used to try to understand some things
I saw when looking at a cam with a lot of overlap in an 8D application. If chasing a fuel problem
for example, it helped me to remember which were the measured (vs the dependent) variables,
in order to keep things in a proper cause-and-effect order. I thought it might help you track
down some of the problems you mention having with your car. Your results may vary.


Re your later points:

If you are tuning for a carburetor I must have misunderstood your original post, and you can
ignore all of the above about 8D control.

The idea of controlling fuel pulse timing is a good one, and GM is developing direct gasoline
injection for just those reasons. There are some interesting SAE papers about this on the
Delphi site. AFAIK it is not yet being offered commercially from GM. In your design work,
bear in mind that the L98 system was built to measure O2 molecules in the exhaust gas
(rather than hydrocarbons) and is rigged to average the flows from either 4 or 8 cylinders
over a period of several seconds. I found that while the GM lambda control loop can be
configured to track the reversion mix fairly closely, it then drifts into a regime where
lean-misfires become a problem. I'm guessing you will need to build more stability into
the lambda proportional control (and fix the MAP issue) at low rpm to make your strategy
successful.

Your EGR analogy is related, but remember in stock form GM only applies it above some
threshold rpm when the engine is under load. Looking at the code, I am under the impression
they chose a point where the intake flows were already established in a stable region. This
would be different than idle conditions, for the reasons stated above.

Fuel atomization is an interesting topic. Check the Delphi site for some of GM's experiments
measuring fuel transport phenonema in port injection manifolds.

Good luck in your project.
Reply

Get notified of new replies

To O2 sensor - Closed Loop





All times are GMT -4. The time now is 06:13 PM.

story-0
5 Reasons to Upgrade to an LS6-Powered Corvette; 5 Reasons to Stay LT2

Slideshow: Should you buy a 2020-2026 Corvette or wait for 2027?

By Michael S. Palmer | 2026-04-22 10:08:58


VIEW MORE
story-1
2027 Corvette vs The World: Every Model vs Closest Competitor

Slideshow: 2027 Corvette lineup vs the world.

By Joe Kucinski | 2026-04-20 17:58:41


VIEW MORE
story-2
10 Most Common Corvette Problems of the Last 20 Years!

Slideshow: 10 major Corvette problems from the last 20 years.

By Joe Kucinski | 2026-04-14 16:37:05


VIEW MORE
story-3
5 MOST and 5 LEAST Popular Corvette Model Years in History!

Slideshow: 5 most and least popular Corvette model years.

By Joe Kucinski | 2026-04-08 13:25:01


VIEW MORE
story-4
2027 Corvette Buyer's Guide: Everything You Need to Know!

Slideshow: 2027 Corvette buyer's guide

By Joe Kucinski | 2026-04-17 16:41:08


VIEW MORE
story-5
10 Things C8 Corvette Owners Hate (But Won't Tell You)

Slideshow: 10 things C8 Corvette owners hate, but won't tell you.

By Joe Kucinski | 2026-04-01 18:36:07


VIEW MORE
story-6
10 Best Corvettes Coming to Barrett-Jackson Palm Beach 2026!

Slideshow: Should you add one of these incredible Corvettes to your garage?

By Brett Foote | 2026-04-01 18:14:05


VIEW MORE
story-7
Every Corvette Grand Sport Explained! (C2, C4, C6, C7, & C8)

Slideshow: Every Corvette Grand Sport explained

By Joe Kucinski | 2026-03-26 07:13:44


VIEW MORE
story-8
Grand Sport & Grand Sport X Launch Alongside All-New 535hp LS6 V8!

Slideshow: Breaking down the 2027 Grand Sport, Grand Sport X, Stingray, and LS6 V8.

By Michael S. Palmer | 2026-03-26 13:48:45


VIEW MORE
story-9
5 Reasons Bad Drivers Crash & 5 Ways to Avoid a Costly Mistake!

Slideshow: 5 reasons bad drivers crash sports cars & 5 ways to avoid a costly shame!

By Joe Kucinski | 2026-03-25 16:32:55


VIEW MORE