
Audi Cruise Control Bug - Mojah
https://ma.ttias.be/audi-greater-than-equal-cruise-control-bug/
======
DannyBee
So i think this is intentional. At least, my 2014 Q5 has an adaptive cruise
control that can only be enabled at >20mph. However, I can set it to anything
above 10mph (and it will not automatically turn off with a speed too low
warning until it drops back below 10mph).

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](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](http://wiki.ross-
tech.com/wiki/index.php/Retrofitting) (look under cruise control)

[http://wiki.ross-
tech.com/wiki/index.php/Checking_Cruise_Con...](http://wiki.ross-
tech.com/wiki/index.php/Checking_Cruise_Control_using_Measuring_Values)

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.

~~~
darklajid
There are lots of things you cannot control.

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.

~~~
gambiting
Hey, it's not like you bought the car and then suddenly found out that it had
Stop&Start system. You knew what you were buying. And you are saying that it
doesn't work for you? I am curious - what does it do then? Doesn't start the
engine after stopping it? Then it's malfunctioning.

~~~
darklajid
Right. And in the beginning I liked the feature.

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)

~~~
gambiting
Ok, I asked because I drive a car with start&stop system too(Nissan Qashqai
1.6dCi). I know what you mean, I also had a situation couple times when the
engine turned off right as I stopped in front of the traffic lights and they
turned green in that exact moment - and when I pressed the clutch again it had
a second delay before starting the engine again. But yeah, I don't think it's
a huge deal(it literally happened to me twice) - unless Audi fucked up and
their delay is much longer. I wouldn't cross off the whole system because of
it.

------
mxfh
Or just RTFM (if that's relevant for your model)?

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...](https://www.gebruikershandleiding.com/Audi-A4-2008/preview-
handleiding-572087.html?page=0129#af129)

------
bartkappenburg
It's not a bug, it's a translate error. It's clearly stated in german on this
url:
[https://shops.audi.com/de_DE/web/zubehoer/p/geschwindigkeits...](https://shops.audi.com/de_DE/web/zubehoer/p/geschwindigkeitsregelanlage-8p0054690-9)

"ab etwa 30 km/h" -> "from approximately 30 km/h"

That 'etwa' 'solves' the 'bug'. ;-)

~~~
ins0
it's not - the speed control works as expected and declared to handle speeds
above ~30 km/h - the point of this "bug" is that you can only >activate< the
system after passing 30 km/h so at 31 km/h

~~~
catshirt
31 is approximately 30

~~~
mcguire
...for sufficiently large values of 30.

------
peeters
I call bullshit on this analysis. There's no way the code would be using
integers to represent speed (they'd just be _rendered_ as integers). >= and >
are essentially the same operation when comparing floating point values.

~~~
wjy
Many processors in a modern car have no floating point capability whatsoever.
Fractional numbers are represented using integers - "fixed point"
representation. While it's almost certainly true that vehicle speed is
calculated as a fractional value, the cruise control set speed may be an
integer, as it's set in increments of 1kph (or mph, depending). There's no
need to keep smaller increments.

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.

------
sterwill
~30 km/h seems like a low speed for cruise control. Where I live (eastern
United States) roads with such a low speed limit are usually in residential or
commercial neighborhoods, or on tricky sections of mountain roads. Are there
long boring roads in Belgium with such low limits?

~~~
xgbi
There are areas where the limit is at 30km/h. These areas can be quite long
indeed, but the most important is that it's really easy to get over 30, so
activating the threshold is a good idea.

------
gr3yh47
it could be the same check you know.

    
    
        if current speed > cruise control minimum:
            allow activate
            allow decrement

------
sschueller
How do car manufactures get firmware updates into their cars?

I 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.

~~~
jinzo
I would say that most FW bugs are found in the years that the car is under
warranty (At least 2years here in EU) - which means that you have to (there
are some new laws around this, but there's no change to be seen in practice as
of yet) drive it to a certified mechanic/dealer that has the equipment to
update the FW quickly (there's a big chance that he will have the car
connected to the diagnostic equipment anyway). And the bugs/updates that are
missed this way usually get solved when the driver notices them and drives
them to a garage (around here the mechanics, even the non-certified ones have
quite a good grasp of common faults that can be remedied with a FW upgrade).
So overall this isn't as big of an issue as someone would think.

~~~
fulafel
Ah, the "Android" model. Dump your car as soon as it's out of warranty and
you're safe :)

------
razzaj
I noticed other more annoying bugs in Audi console software.

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.

~~~
Someone
Car manufacturers, like all traditional hardware makers, do not really know
yet that they have become software makers.

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.

~~~
razzaj
I agree. and car manufacturers should focus on making cars, that's a handful
already. why not "outsource" the consoles to other more UX aware companies and
just provide a universal connector. Imagine being able to plug in your
favorite tablet in your car where the console is, and your car app will just
popup. It makes sense especially for entertainment since you already have your
music, and movies and games (for the rear seats).

~~~
kaftoy
Car makers do actually purchase (complete, in many cases) subsystems from
suppliers. Features like dashboards, multimedia systems, LCD screens, the
vehicle speed projection on screen, line hold, braking assistance, injection
systems including the control unit and many others from 3rd party suppliers
like Bosch, Continental, Delphi, Autoliv etc. Many patents behind innovations
and inventions in modern cars are not held by automakers themselves, but by
their suppliers (including software).

Of course, automakers do have a SW department of their own and their
involvement varies from project to project.

------
gambiting
In my LR Discovery the lowest I could set the Cruise Control to was 20km/h -
and in certain Toyotas(and also the latest Land Rovers with Terrain Response
2, coming in February), you can set the cruise control as low as 1km/h -
useful while travelling through rough terrain, as the vehicle takes care of
all the offroad settings automatically, you only need to make sure not to
drive into a tree. So I am pretty sure there is no law which would dictate the
lowest speed(there also seems to be no law against the highest speed - I had
no problem setting mine to 200km/h on the Autobahn)

But yeah, this thing you described certainly sounds like a bug.

~~~
jcrawfordor
In the US, I have heard from multiple dealers that there is a legal upper
limit of 90mph for cruise control, and I believe some cars are limited at
85mph (I believe this is the highest speed limit found anywhere in the
country). It is also common for there to be a lower limit of 20mph, but I
haven't heard that this is mandatory.

~~~
iramiller
My Audi can have the cruise set over 100 mph, at least via adjustment through
the speed increase/decrease control. The car does not have to be at the set
speed to verify this.

------
AshleysBrain
This might seem trivial but to me it raises questions about the quality of
engineering and testing that goes in to in-vehicle software systems. If a
subtle off-by-one error like this slipped through to release, what about a
subtle off-by-one error in the system that handles the brakes? In these
systems a "crash" can be a literal one.

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.

------
chrisBob
On my Subaru I can only activate cruise control below 85mph but once it is on
you can dial it up. I am sure the car world is full of things like this.

And where do you have to set to car to 30 when the limit is 30 anyway?

~~~
Mojah
This is actually useful in Belgium, where roads aren't made of asfalt but of
speed cameras. Every zone with a 30km/h limit has a bunch of speed cameras.
The cruise control just keeps you safe and steady, without crossing the limit.

~~~
masklinn
I generally find cruise control to not be the most useful there though, it's
usually within villages and you'll often have to slow down because reasons
(stops, speed bumps, traffic-calming chicanes, red lights, …) so I tend to use
the speed limiter more.

~~~
arethuza
"speed limiter"

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?

~~~
DangerousPie
Usually they don't just beep but actually ignore gas pedal input if it would
put you above a certain speed (unless you push it all the way down, in which
case it overrides the limiter).

~~~
arethuza
The ones I've had on VW Group cars (Golfs and a Skoda Yeti) just beep and give
you a message on the display when a configurable speed is exceeded.

~~~
masklinn
That strikes me as oddly pointless. All the limiters I've used did what
DangerousPie talks about, beyond the threshold they'd restrict/ignore gas
input, unless the accelerator is floored which overrides the limiter.

~~~
arethuza
Well, just goes to show - I really like it (as does my wife) - something that
actually interferes with throttle input strikes me as very intrusive! :-)

------
justifier
i recently worked around a ">=" bug in javascript

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 compared

the 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 issue

~~~
bmm6o
> var allowederror = .517 //slightly more than .5

You should probably explain your mystery value better than that.

------
NegativeK
As far as bugs go, I wouldn't spend much time arguing that this should be
fixed before any release.

~~~
Loque
definitely a p5 :-)

------
fest
It's interesting how newer technologies allow us to notice these kinds of
bugs. I am unable to read speed with 1 km/h resolution on my car which doesn't
have digital speed readout.

------
Mojah
It's also worth noting that in order to get a greater than sign in your HN
title, you actually need to use the "&gt;" HTML tags. Otherwise, they get
stripped.

------
huhtenberg
That's pretty subtle. In comparison BMWs used to have a bug in their nav unit
that resulted in negative distances to the destination. _That_ was fun.

------
technimad
If it's with Audi, it's probably with all VAG cars (Volkswagen, Audi, Seat,
Skoda etc.)

~~~
sschueller
Lamborghini and Bugatti as well :)

~~~
diverse41
Lamborghini too? That's even worse, since my understanding is that those cars
are precisely designed to be driven with cruise control at 30 km/h in public
places.

~~~
dagw
Based on the Lamborghini's I see around town, driving 30 km/h round and round
a few central blocks hoping (I guess) to impress someones of the appropriate
sex is the prime use case of a Lamborghini.

------
GFK_of_xmaspast
In the US, the lowest limit I've found for activating CC is 40kmph / 25mph.

~~~
anthony_d
I've had BMW's and Volvo's which allowed CC at 30kmph/18mph.

------
nodata
Well what do you want to happen? That your car doesn't let you slow down?

~~~
klez
Cruise control works this way:

\- 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.

------
coob
In other news, HN has a bug in showing '>' in the <title> tag:

    
    
        <title>Audi&#x27;s Cruise Control &quot;&amp;gt;=&quot; Bug | Hacker News</title>
    
        &amp;gt; should be &gt;

------
Xspirits
How is this reaching #1?

------
Xspirits
How did this post reached #1? ...

------
gawi
I know this is highly pedantic but CURRENT_SPEED is not a constant and
therefore shouldn't be all caps.

~~~
EliRivers
This would be according to your preferred naming convention, would it?

