Audi Sport Layout

For A3 8V, A4 B9, A5 F5, Q5 FY, Q7 4M and TT 8S.

Requirements

  • Virtual Cockpit of the first generation
  • At least software version of 0296 (TT), 0069 (A3), 0379 (A4/A5/Q5), 0310 (Q7)
    • TT – 0296 = 8S0 906 961 AE
    • A3/Q2 – 0069 = 8S0 906 961 AM
    • A4/A5/Q5 – 0379 = 8S0 906 961 AL
    • Q7 – 0378 = 8S0 906 961 AK
  • No faults in Control unit 17 (Dashboard)
  • The Laptimer must be activated
  • Hood open, Handbrake engaged, Ignition on and Engine not running

Coding

Laptimer Activation

Control unit 17 (Dashboard)
Long coding (07)
Byte 01
Bit 3 (Laptimer) → Activate ✓

Activation/Deactivation

Control unit 17 (Dashboard)
Change Service/Diagnostic session (09): Development
Security access (08): 20103
EEPROM/Special Funktion (11): Hex Service
S Sport Layout →  3D 14 03 00 3C 09 01 01 / 3D 14 03 00 3C 09 02 01 57
RS Sport Layout → 3D 14 03 00 3C 09 01 03 / 3D 14 03 00 3C 09 02 03 57
Deactivate →      3D 14 03 00 3C 09 01 00 / 3D 14 03 00 3C 09 02 00 57

WriteMemoryByAddress: 3D | Size of bytes to write: 1 | Address size (bytes): 4 | Address where data will be written: 03 00 3C 09 | Size of bytes to write: 01 | Value to write: 01

Answer 7D - OK
Answer 7F - Error: Open the hood and turn off the engine!

Read (Check) → 23 14 03 00 3C 09 02

Hard reset → 11 01
Soft reset → 11 02

OBDEleven


Address: 03003C09 - field from which EEPROM memory data must be read
Length: 01 - how many bytes must be read
ALFID: 14 - how many bytes address and length will be sent to vehicle (default 44)

Engine Data

Control unit 17 (Dashboard)
Long coding (07)
Byte 15
Bit 4 → Activate ✓

G-Meter (Sport Computer)

Control unit 17 (Dashboard)
Long coding (07)
Byte 10
Bit 2 → Activate ✓

Odis (Alternatively)

C:/ProgramData/Offboard_Diagnostic_Information_System_Engineering/macros/sport_layout_vc.py
import sys
import time
from java.lang import Boolean
from java.math import BigInteger
from java.util import HashMap
from java.util import ArrayList
from de.volkswagen.odis.vaudas.vehiclefunction.automation import IDiagnosticInterface
from de.volkswagen.odis.vaudas.vehiclefunction.automation.types import IDiagResultConnectEcu
from de.volkswagen.odis.vaudas.vehiclefunction.automation import ITotalSystemsInterface

diagnosticInterface = IDiagnosticInterface.Factory.getInstance()
diagnosticInterface.configureSetting("Multilink.MaxNumberOfLogicalLinks", "1")
resultConnectToEcu = diagnosticInterface.connectToEcu(0x17)
diagnosticInterface.openConnection(resultConnectToEcu.getConnectionHandle())
diagnosticInterface.switchSession(resultConnectToEcu.getConnectionHandle(), "DiagnServi_DiagnSessiContrDevelSessi")
diagnosticInterface.securityAccess(resultConnectToEcu.getConnectionHandle(), "20103", "Login")

resp = diagnosticInterface.sendRawService(resultConnectToEcu.getConnectionHandle(), "3D 14 03 00 3C 09 02 03 57")
if (resp[0] == 0x7F):
  print "Error"
else:
  print "Upload Sport Layout complete!"
  time.sleep(2)
  print "Now rebooting..."
  diagnosticInterface.sendRawService(resultConnectToEcu.getConnectionHandle(), "11 01")

Source: digital-eliteboard.com, drive2.ru