If they cannot fix the car so it meets the specs they sold it with then they have broken the law. Bait and switch, fraud, and other shit that the lawyer gets paid to think up.
And what's the harm to the owner if the emissions were a lie? If the economy was a lie, then you are harmed by the amount of additional fuel used. But for emissions? A bit more NOx killed your cat?
Some of these vehicles are missing needed hardware.
None of them are "missing" hardware needed to pass the test. They are equipped as the vehicles that passed the test. The hardware "missing" was never there, and never intended to be there (unless they were caught). They passed the test without the hardware. The hardware just lets them get more power while passing the tests. So they can pass the tests with all cars, and get sued less for poor performance.
The EPA passed the cars without the hardware. There were no pieces in the passed cars that were removed for production cars.
Hans: You mean if we wrote a test-detection and -subversion routine into the car's firmware?
Why would he sound so surprised, when *every* maker already does this? The cars are run on a dyno with the front and rear wheels running independently. This requires a "test-detection and subversion" routine built into the car. Otherwise, the cars will not test properly.
The software controlling what the emissions control computer reports is a pretty simple concept: pull readings from the on-board sensors and push them onto the output bus. Anything that deviates from that would need to have been driven explicitly by somebody. Code that detects emission testing equipment and conditions doesn't just get added by a couple of engineers on a whim.
It's possible (and likely) that engineering teams were given tasks to make things that would never be used in production. Team A told to optimize power, ignoring efficiency and emissions. Team B to optimize emissions, ignoring power and efficiency. Team C optimizing efficiency. The rationale is that you define the envelop, the maximums for each, with the hardware that's headed to production. Then in software you can tweak for markets (where the US is more strict on some things than Europe, and Europe more strict on different things). Team D optimizes between the code for the best overall performance. But the US market is harder on different things, and Team D isn't hitting the numbers they need, so someone modifies the code in the test program to call map B, rather than D while being tested, and map D at all other times.
What's the minimum number of people that would need to be in on it to get a few lines of code in the test program changed to call a different (and existing) ECU program? I think it'd be quite small. It may or may not include a manager.
"Of course power tools and alcohol don't mix. Everyone knows power tools aren't soluble in alcohol..." -- Crazy Nigel