Audi Q3 8U Drive Select retrofit: Difference between revisions

From mr-fix.info Wiki
Jump to navigation Jump to search
 
(10 intermediate revisions by the same user not shown)
Line 6: Line 6:


== Gateway Parameterisation ==
== Gateway Parameterisation ==
[[File:Audi Q3 8U with RMC and no AudiDriveSelect parameters.jpg|thumb|alt=Audi Q3 8U with RMC and no AudiDriveSelect parameters|Audi Q3 8U with RMC and no AudiDriveSelect parameters]]
Upload proper dataset to module <code>0x19</code>, offset <code>0x1200</code>. Use [[VCP]] or [[ODIS]].
Upload proper dataset to module <code>0x19</code>, offset <code>0x1200</code>. Use [[VCP]] or [[ODIS]].
This step is essential. If there are no parameters, the ADS menu on the display will have no options to choose from. Just like on the image on the right.


=== no Drive Select ===
=== no Drive Select ===
Line 64: Line 68:


== Parameterisation Research ==
== Parameterisation Research ==
=== Which modes possible? ===
=== Which modes are possible? ===
It looks like <code>4</code> is not the limit. When looking at how it's handled in Audi A6 C7<ref>https://www.audizine.com/forum/showthread.php/433578-Compiled-Drive-Select-VAG-COM-codes?p=7823311&viewfull=1#post7823311</ref> we can see (in order):
It looks like <code>4</code> options is not the limit. When looking at how it's handled in Audi A6 C7<ref>https://www.audizine.com/forum/showthread.php/433578-Compiled-Drive-Select-VAG-COM-codes?p=7823311&viewfull=1#post7823311</ref> we can see that <code>6</code> options can fit in the ADS menu. And there's a total of <code>8</code> options:
* Individual
* Individual
* Comfort
* Comfort
Line 73: Line 77:
* Efficiency
* Efficiency
* Race
* Race
* ''empty?''
* Allroad


=== Which parameters can be adjusted? ===
=== Which parameters can be adjusted? ===
Line 88: Line 92:
* Seat Belt Tensioners
* Seat Belt Tensioners
* Adaptive Cruise Control
* Adaptive Cruise Control
Now the twist: some options can be merged into one (for example engine and gearbox settings can be linked together as "drivetrain"), and some options can be hidden in the HMI but still work (for example engine auto start/stop).


=== Dataset Deconstruction ===
=== Dataset Deconstruction ===
Line 97: Line 103:


     31 31 // start
     31 31 // start
     2E // enabled modes (0x2E = 0010 1110)
     2E // enabled modes (0x2E = 0010 1110)
     0E // ??? (0x0E = 0000 1110)
     0E // ??? (0x0E = 0000 1110)
   
   
     02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // individual
     02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // individual/allroad?
     FF 00 00 11 00 01 01 01 00 00 00 11 00 00 00 00 00 11 // comfort
     FF 00 00 11 00 01 01 01 00 00 00 11 00 00 00 00 00 11 // comfort
     FF 00 00 22 00 02 02 02 00 00 00 22 00 00 00 00 00 12 // auto
     FF 00 00 22 00 02 02 02 00 00 00 22 00 00 00 00 00 12 // auto
Line 107: Line 115:
     02 00 00 55 00 02 05 02 00 00 00 55 00 00 00 00 00 12 // efficiency
     02 00 00 55 00 02 05 02 00 00 00 55 00 00 00 00 00 12 // efficiency
     02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // race
     02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // race
     02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // empty?
     02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // allroad/individual?
   
   
     0C 02 0C 00 01 02 00 00 // ??? (same in all)
     0C 02 0C 00 01 02 00 00 // ??? (same in all)
     11 00 97 60 // CRC-32 checksum<ref>https://crccalc.com/</ref>
     11 00 97 60 // CRC-32 checksum<ref>https://crccalc.com/</ref>


Line 119: Line 128:
! 0 !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! 10 !! 11 !! 12 !! 13 !! 14 !! 15 !! 16 !! 17
! 0 !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! 10 !! 11 !! 12 !! 13 !! 14 !! 15 !! 16 !! 17
|-
|-
| individual
| individual/allroad?
| style="background:#ff8800" | 02 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00
| style="background:#ff8800" | 02 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00
|-
|-
Line 140: Line 149:
| style="background:#ff8800" | 02 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00
| style="background:#ff8800" | 02 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00
|-
|-
| ???
| allroad/individual?
| style="background:#ff8800" | 02 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00
| style="background:#ff8800" | 02 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00 || style="color:#bbbbbb"| 00
|}
|}
Line 148: Line 157:
{| class="wikitable"  
{| class="wikitable"  
|-
|-
| style="background:#bbbbbb" | 00
| style="color:#bbbbbb" | 00
| style="background:#ffff00" | comfort
| style="background:#ffff00" | comfort
| style="background:#ff8800" | auto
| style="background:#ff8800" | auto
Line 156: Line 165:
|}
|}


Can you notice two things?
Can you notice two things that stand out?
# Efficiency mode is using auto settings for some things.
# Efficiency mode is using auto settings for some things.
# byte <code>0</code> is set to <code>0xFF</code> for 3 out of 4 modes.
# byte <code>0</code> is set to <code>0xFF</code> for 3 out of 4 modes. This might be fallback mode. If for some reason (software glitch?) user tries to set unsupported mode, ADS should use the fallback mode instead. Tried to use "07 - race"? You will get "02 - auto" instead. Makes sense.
 
== Needs more research ==
# does enabling offroad mode also enables the tilt-angle-display?
# does enabling the race mode do something?
# can "individual" be enabled in Q3?
# what's the maximum number of available modes?

Latest revision as of 21:45, 7 April 2025

Audi Drive Select can be retrofitted into Audi Q3 8U letting the driver to choose from 3 or 4 modes.

Parts

  • button
  • wire

Gateway Parameterisation

Audi Q3 8U with RMC and no AudiDriveSelect parameters
Audi Q3 8U with RMC and no AudiDriveSelect parameters

Upload proper dataset to module 0x19, offset 0x1200. Use VCP or ODIS.

This step is essential. If there are no parameters, the ADS menu on the display will have no options to choose from. Just like on the image on the right.

no Drive Select

313100000200000000000000000000000000000000000200000000000000000000000000000000000200000000000000000000000000000000000200000000000000000000000000000000000200000000000000000000000000000000000200000000000000000000000000000000000200000000000000000000000000000000000200000000000000000000000000000000000C020C00010200003A1773E5

Drive Select 3 modes (Comfort, Auto, Dynamic)

31310E0E020000000000000000000000000000000000FF0000110001010100000011000000000011FF0000220002020200000022000000000012FF00003300030303000000330000000000130200000000000000000000000000000000000200000000000000000000000000000000000200000000000000000000000000000000000200000000000000000000000000000000000C020C0001020000B738A86A

Drive Select 4 modes (Efficiency, Comfort, Auto, Dynamic)

31312E0E020000000000000000000000000000000000FF0000110001010100000011000000000011FF0000220002020200000022000000000012FF00003300030303000000330000000000130200000000000000000000000000000000000200005500020502000000550000000000120200000000000000000000000000000000000200000000000000000000000000000000000C020C000102000011009760

Coding and Adaptation

Infotainment System

RMC

Audi RMC requires parameterisation to enable menu options. It can be done with VCP, ODIS, OBDeleven for Android.

Module 0x5F, offset 0xF00610. Replace 00E1F0 with 05B155 to enable the Audi Drive Select menu in the CAR menu.

MMI

[Audi MMI 3G]] can also be done via parameterisation, but there's no need for this complicated procedure. You can access those values from the Green Engineering Menu.

  1. Enabling developer mode: Module 0x5F → Adaptation → Channel: 6 → Value: 1
  2. Reboot the unit with button combination: BACK + Control Wheel + Upper-Right.
  3. Enter GEM with button combination CAR + MENU.
  4. Go to car → cardevicelist → carisma and enable it. This tells the unit to be open for Audi Drive Select communication.
  5. Go to car → carmenuoperation → carisma and set it to 5. This tells the unit when the ADS menu should be accessible for the driver. 5 Means that it should be available both when stationary and when the vehicle is moving.
  6. Press BACK couple times to exit GEM.
  7. Reboot the unit with button combination: BACK + Control Wheel + Upper-Right.

BCM

TODOOO? Not sure if required...?

Headlight Range

Module 0x55 → Long Coding → Byte: 06 → Bit: 7 (Charisma) → enable

Dashboard Drive Select Button

ADS Button Installation

  1. Remove Climatronic unit by prying it in the top corner.
  2. With the Climatronic unit removed, access back of the buttons assembly and push out the button panel.
  3. Disconnect the connector.
  4. Review wiring (see ADS Button Wiring below).
  5. Connect new button panel and push it back in place.

ADS Button Wiring

ADS button can be found on wiring diagrams as element E735. It shares the T10f 10-pin connector with Engine Auto Start/Stop button and Park Assist Button (if equipped).

3 connections are required for the ADS button:

  • T10f/1 - GND (ground)
  • T10f/5 - Term58 (button backlight)
  • T10f/9 - SIG (button pressed short to ground)

Most likely you will need to wire only the SIG line from the button E735: T10f/9 to the BCM module J519: T52c/37.

Parameterisation Research

Which modes are possible?

It looks like 4 options is not the limit. When looking at how it's handled in Audi A6 C7[1] we can see that 6 options can fit in the ADS menu. And there's a total of 8 options:

  • Individual
  • Comfort
  • Auto
  • Dynamic
  • Offroad
  • Efficiency
  • Race
  • Allroad

Which parameters can be adjusted?

I've seen some pictures from Audi A6 C7 with RMC system, where the additional "Individual" mode is available. Here are the options (in RMC UI order):

  • Engine & Gearbox / Drivetrain
  • Suspension (Air suspension)
  • Steering (support force)
  • Dynamic Steering (ratio)
  • Sport differential
  • Side Cushions (seat)
  • Cornering Light / AFS / Background Lighting
  • Exhaust / Engine Sound
  • Seat Belt Tensioners
  • Adaptive Cruise Control

Now the twist: some options can be merged into one (for example engine and gearbox settings can be linked together as "drivetrain"), and some options can be hidden in the HMI but still work (for example engine auto start/stop).

Dataset Deconstruction

Newer cars from the MQB platform can use FPA Editor[2]. Those are much more complicated and allow a lot more customisation.[3]

Let's go back to Audi Q3 8U. Dataset without ADS is mostly filled with 00, so let's skip it for now and let's focus on on the dataset with 4 modes.

By comparing the 3- and 4-mode datasets, I can see which values are constant and which vary. This allowed me to divide the dataset into couple sections:

   31 31 // start

   2E // enabled modes (0x2E = 0010 1110)

   0E // ??? (0x0E = 0000 1110)

   02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // individual/allroad?
   FF 00 00 11 00 01 01 01 00 00 00 11 00 00 00 00 00 11 // comfort
   FF 00 00 22 00 02 02 02 00 00 00 22 00 00 00 00 00 12 // auto
   FF 00 00 33 00 03 03 03 00 00 00 33 00 00 00 00 00 13 // dynamic
   02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // offroad
   02 00 00 55 00 02 05 02 00 00 00 55 00 00 00 00 00 12 // efficiency
   02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // race
   02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 // allroad/individual?

   0C 02 0C 00 01 02 00 00 // ??? (same in all)

   11 00 97 60 // CRC-32 checksum[4]

We need to add some colors, to better understand what's going on here.

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
individual/allroad? 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
comfort FF 00 00 11 00 01 01 01 00 00 00 11 00 00 00 00 00 11
auto FF 00 00 22 00 02 02 02 00 00 00 22 00 00 00 00 00 12
dynamic FF 00 00 33 00 03 03 03 00 00 00 33 00 00 00 00 00 13
offroad 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
efficiency 02 00 00 55 00 02 05 02 00 00 00 55 00 00 00 00 00 12
race 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
allroad/individual? 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

What's that? Greyed-out 00s, marked in black FFs.

00 comfort auto dynamic eco FF

Can you notice two things that stand out?

  1. Efficiency mode is using auto settings for some things.
  2. byte 0 is set to 0xFF for 3 out of 4 modes. This might be fallback mode. If for some reason (software glitch?) user tries to set unsupported mode, ADS should use the fallback mode instead. Tried to use "07 - race"? You will get "02 - auto" instead. Makes sense.

Needs more research

  1. does enabling offroad mode also enables the tilt-angle-display?
  2. does enabling the race mode do something?
  3. can "individual" be enabled in Q3?
  4. what's the maximum number of available modes?