Audi Cruise Control Bug
ma.ttias.be
ma.ttias.be
I expect his car is simply set with 31, 30 (km/h), instead of 20, 10 (mph), like mine.
Interestingly, Audi's are incredibly hackable (relative to most other cars) due to the existing of VCDS (http://en.wikipedia.org/wiki/VAG-COM), which pretty much lets you twiddle any possible parameter the car has as a parameter somewhere in it's system.
I would be shocked if the cruise control limits were not parameters controllable, particularly since
1. Cruise control is retrofittable onto a lot of these cars:
See
http://wiki.ross-tech.com/wiki/index.php/Retrofitting (look under cruise control)
http://wiki.ross-tech.com/wiki/index.php/Checking_Cruise_Con...
etc
2. The adaptive cruise control is different between the various models. For example, the newer sedan models can do stop and go cruise control, but my Q5 cannot, so it turns off at low speeds.
I'm near 100% sure this low limit is parameter that is controllable through VCDS, so it can be set to zero for these cars, even if nobody in the community happens to know the coding for it right now.
- if you have a manual gearbox, the minimum speed for ACC is 30km/h.
- if you have an automatic gearbox, the minimum speed for ACC is 0km/h, which means that you can just push the Resume button on the steering wheel to start moving again. Very useful if you live in an area with lots of traffic jams.
For example, my damn A3 (the last Audi I'll ever drive, for gazillion reasons) will turn off when you're in neutral and release the clutch. There's no software setting to fix that. You can disable that with the press of a button, a button that defaults to 'I know it better than you do, this needs to be enabled' every time you start the car.
I could continue with the complaint that my ACC is limited to 150km/h although there is no technical reason for that. With the joke that is Audi connect etc. etc..
"Hackable" is really not a term I'd use for that car. "A hack"? More like it.
But then I moved from Canada to Europe and it suddenly made perfect sense. In a stop-and-go urban traffic with lots of street lights, the start/stop feature effectively cuts down your car emissions by a non-trivial percentage. There are still cases when it interferes with driving (when entering roundabouts, for example), but then you go through all these cases in a matter of days and learn to recognize them automatically. If you can drive manual, adding an extra button press to the routine adds up to ... nothing.
Finally, there is an option in VCDS that allows you to turn this off, so I'm not sure what you are ranting about to begin with.
Of course you can change that. However there is no button for this in the HUD as this would probably be against the emission limits of the card.
This is 100% changeable with VCDS
It's just that it doesn't work all the time and I tend to forget about it when it works, but get quite annoyed when it doesn't. That .. might be a built-in bias that I need to work on, but could explain why this feature was okay on day 1 (and 10 and 30..) and is crap now.
What it does: Depending on circumstances I don't understand it has a reaaaally bad delay. Especially if you time it (unintentionally of course) just so that the motor dies and you want to move in that instant. There's a 'hiccup' and nothing happens for ~1.5-2 seconds. By now I rather let it die completely, count "One Mississippi" and then press the clutch instead of trying it right away - because it just doesn't work well in these cases.
Again, most of the time it works okay. But by now I'd rather not use it if it's not working 100%.
(Not sure if it matters: 2.0 quattro diesel, manual and this keyless entry thing: No ignition key)
//EDIT: the legality of this however is questionable. In Germany/Austria I'm pretty sure it renders the car illegal if you try to disable it permanently on a car that came with it.
Searching again today/with your hints I immediately hit the right settings (temperature thresholds) to set.
Thanks again and I apologize once more for the error here: It seems indeed as if Start/Stop can be easily deactivated using VCDS.
Pre-selecting a speed:
You can pre-select a desired speed while the vehicle is stationary.
– Switch on the ignition.
– Pull the lever to position 1 ⇒ page 125, fig. 134.
– Push the lever up towards or down towards in order to increase or reduce the cruising speed setting.
– Release the lever to store the cruising speed setting displayed.
This function allows you to enter the desired cruise control setting speed ahead of time, for example before joining a motorway. Once you are on the motorway, you can activate the cruise control system by pulling the lever to position.
https://www.gebruikershandleiding.com/Audi-A4-2008/preview-h...
"ab etwa 30 km/h" -> "from approximately 30 km/h"
That 'etwa' 'solves' the 'bug'. ;-)
It all depends on which processor is handling the cruise control interface, and how they wrote the software. There's no way to know without more information.
Because of that, there are often very long stretches of mostly straight road limited to 50 km/h with regular 30 km/h sections in the more urban areas... cruise control is almost necessary if you really want to respect the speed limit.
Not really, but it's an Audi driver...
if current speed > cruise control minimum:
allow activate
allow decrementI heard Tesla does it OTA but what about the others? Do they have to get each car into a dealer and connect to the OBD-II port?
Seems a bit tedious but I guess if something goes wrong it is better to have the car at a service location then have several hundred stranded drivers because a firmware update failed.
I was rather amused when my brother, also in IT, called his Volvo mechanic and wanted to see a Changelog for the latest firmware installed in his car. They of course had no idea what he was talking about, even though they're the ones installing this software into his mode of transportation.
Curiously, it assumes RFC3927 -- the car assigns itself an IP within 169.254.0.0/16 and the diagnostic computer (a Windows PC running some native but mostly Java-based software) does the same once DHCP fails.
For the performance scene, an SCT hand held tuner (http://www.sctflash.com/) flashes over the current ECU firmware with the latest available firmware plus any tuned parameters that you select
Some updates even required - if you want to believe the statement I got from my local Audi shop - a dial-up connection to Audi itself.
Most updates _could_ be installed via CD/DVD/SD card as well though, as far as I'm aware. If you can acquire the files and are comfortable 'flashing' your car's systems.
And more generally, the automotive industry is weird with respect to software updates. To be clear, i only mean secondary systems such as entertainment console (so i am excluding core systems like engine, and other vital controls). In order to update your software, you need to ask your agent, who most of the time would just give you the default answer of "you have the latest update". Perhaps the agents are not lazy, but there is no place i know of on audi's website, where you can check for available updates. I would expect to be able and download a software update to my car using and SD card, or my phone data connection.
Car manufacturers should really just open up their in vehicle consoles to developers, somewhat a-la appStore.
Perhaps someone from the auto industry can explain this philosophy ?
Obviously Tesla is an exception by taking a more transparent approach to this issue.
Of course, they know it in the sense that, when you ask whether software is important to their business, they say they won't survive without it, but it is not in their genes yet.
Televisions, printers, washing machines, thermostats, even mobile phones made by traditional phone makers have the same issue.
If smartphones are an indication, old-style hardware manufacturers will either slowly change or disappear.
Of course, automakers do have a SW department of their own and their involvement varies from project to project.
But yeah, this thing you described certainly sounds like a bug.
Even if the other systems are engineered to much more stringent standards, I'd argue that the user-facing part should meet the same standards, so the driver has confidence they're driving a safe vehicle and not a buggy pile of hacks.
And where do you have to set to car to 30 when the limit is 30 anyway?
Is that the thing that can be set to beep whenever you go over a particular speed (most VW Group cars seem to have this) or something that enforces a hard limit?
javascript only uses floating point numbers and this is a common complaint when discussing the language.. if you have ever wondered why, here is an example:
var n={}
var e={}
n.ndiv = document.getElementById("nid")
e.ediv = document.getElementById("eid")
transform(n)
transform(e)
if ( n.x >= e.x){
//imagine
}
here we have two divs: n and e; that undergo transformations in the DOM through a function: transform(); then their respective x value in the window is comparedthe problem is that when running tests divs with equal initial configurations my expected outcomes would fail
when i looked into it it turned out to be a floating point issue where "equal" values would fail because 'e' would be slightly greater than 'n'
i had to implement my own gtoreq() and oreqto() functions to check is check if equal within a margin of error:
gtoreq(n,e){
if ( oreqto(n,e) ){
return true
} else {
if ( n > e ) {
return true
} else {
return false
}
}
oreqto(n,e){
var allowederror = .517 //slightly more than .5
if ( Math.abs(n-e)) < allowederror ) {
return true
} else {
return false
}
}
for whatever reason the error was always .5, more evidence pinpointing the error as a javascript floating point issueYou should probably explain your mystery value better than that.
Bugs like this one can be noticed a bit late during production phase, so they will not be fixed, as they are not considered SoP (start of production) blockers. A new SW release costs a lot of money and they are requested on a need to have basis.
The SW in the ECU is pretty big for an embedded device with just ~2MB dedicated to program flash: 500k-1m lines of code. And that is only for the engine. In a regular car maybe you have 10-30 on board computers. There are many more bugs in there, you just don't see them all. :-)
(I'm working in the industry for such supplier)
- There's a minimum speed you have to go for it to function (in this case, 30kph). If you are /below/ that speed, it doesn't turn on.
- Once it is enabled, you can use a switch to change your current speed up or down in increments (on my car it's approx. 1.5 kph)
- Once in cruise control mode, you can't use the switch to go below the limit (30 kph)
- (On my car) If you hit your breaks or clutch pedals, the cruise control disengages (so yes, you can decelerate below the threshold, but the cc turns off). If you hit the accelerator, it temporarily disengages, then, as soon as you release the accelerator, it slowly goes back to the set speed.
The bug in this case is that the activation treshold is not the same as the lower limit at which you can set the speed once the cruise control is activated
What I would expect: I can enter cruise control mode at 30kph and the minimum speed I can reach using the switch is still 30kph.
What happens: I can enter cruise control mode at 31kph and the minimum speed I can reach using the switch is 30kph.
<title>Audi's Cruise Control "&gt;=" Bug | Hacker News</title>
&gt; should be >