It's not exactly breaking news that computers are integral components in cars these days. They've been used since the 80's to handle various tasks such as fuel-oil ratios, performance tuning, transmission control, and so forth. What's far more interesting today is that they're in the cockpit, handling nearly every aspect of the car's direct control, navigation, and entertainment systems.
Much like embedded medical computing systems, the code running in newer cars goes through a more stringent QA regimen than, say, Microsoft Excel 2007, but they aren't perfect. The bothersome issue when problems occur is that many times, they "can't be fixed" by the dealer or private service centers.
It's one thing to bring a car to the dealer with a window that won't roll down due to a failed switch or motor. It's another thing entirely if the problem with the window is a bug in the car's computer. Given my recent experiences, it's all but impossible for even a certified dealer to handle problems of a firmware variety, rather than a physical issue. As car computing gets deeper, these problems will likely get worse, until some critical mass is reached and there are Linux geeks wearing coveralls and dragging laptops around in the garage.
To a geek like me, the design and control of these systems, especially in the high-end cars is quite interesting. Audi, for instance, has arguably the best in-car computing platform, called the MMI (MultiMedia Interface). It's present in the A6, A8, and Q7 series vehicles, and controls everything from the climate control to XM/Sirius, iPod, radio, video, navigation, and all associated preferences. The main control is a jogwheel with four softkeys, and a handful of function buttons. Like any embedded system, it has a bootloader, applications, several hardware components, and a facility to handle firmware updates. Curiously, this update path is based not on a proprietary connection from a dealer service computer, but can be done through the car's CD player. Essentially, it's possible to update the code on the car by loading an update CD-ROM into the CD player, and accessing a series of hidden menus to perform the update.
Unfortunately, it seems that many of these systems are relatively fragile. I've been told by dealers that not only are updates to the car's various control modules not covered by warrantees, it's not unlikely that some updates will irreparably harm some modules, requiring that they be replaced for hundreds or thousands of dollars. Essentially, you aren't covered for anything regarding the software in the car, and maybe not even some of the hardware if it fails during maintenance. This won't affect the car's nominal function, but the radio, navigation, climate control systems, and so forth may not function at all. This isn't unique to Audi either, as BMW has essentially the same policies. So in essence, although the mechanical/computer ratio on some of the newer cars is nearly 1:1, some of those computer parts aren't covered.
Another problem is with the techs themselves. I've heard time and again "Some of these cars are like your home computer. They break, and nobody knows how or why, or how to fix them." Rip and replace becomes the norm, rather than debugging.
So I'm on my own, armed with a VAG-COM USB CAN interface, a laptop, and my brain. So far, I've managed to dip into the car's computer to change a bevy of hidden settings, adjust the service interval timings, and reset the coding on the roof electronics module since it managed to forget that it had a light sensor and a garage door opener. The last part required rebooting the whole car by pulling the negative lead on the battery. Making changes to the car's computers in this way is highly dangerous in many cases. Setting the wrong value on a specific component can disable the component completely, or even cause the car to become inoperable. It's not quite the same as inadvertently dropping a washer into a cylinder, but the outcome can be similar.
On older cars, I've done radiator and manifold replacements, brakes, oil changes, and the like, but I'm on my quest to see what it's like as a modern-day shadetree mechanic. My tools aren't grease guns, ratchet sets and floorjacks, but rather firmware, CD-burners, and a laptop. My next tasks are to look into altering the transmission shifting timing and hopefully fix the route that's stuck in the navigation system. It's a whole new world.