Yes, that looks correct.SYNTAX: kw1281test.exe com3 9600 17 AdaptationSave 21 2 07268
In the above: 17 is the instrument module; 21 is the channel; 2 is the number of keys (existing plus the new one); 07268 is the SKC
All correct.My big question is on the # of keys. I just took possession of the car with one key. I have no idea how many original keys exist. My understanding is the history of keys does not matter and that the # of keys in the argument above is the number that I am programming now and will work going forward. Any earlier programmed keys not included now will no longer work. The immobilizer chip in the original key continues to operate. Correct?
Correct.Execution Steps:
1) Insert key #1 (new key) in the ignition, turned to "on" with the engine off. The immobilizer light is on.
2) Run "AdaptationSave" command
3) Immobilizer light turns off when adapted
4) Remove Key
5) Insert key #2 (existing key) in the ignition and turn to "on". The immobilizer light should be on. Being the last key, the light should blink once then turn off.
6) Remove key from ignition
7) Remove Cable
8) All keys should now start the car
C:\Users\kylew\Downloads\kw1281test_0.82-beta_Win10>.\kw1281test.exe COM2 9600 17 DumpMarelliMem 14336 2048
KW1281Test: Yesterday's diagnostics...Today.
Version 0.82-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM2 9600 17 DumpMarelliMem 14336 2048
OSVersion: Microsoft Windows NT 10.0.19045.0
.NET Version: 7.0.5
Culture: en-US
Opening serial port COM2
Sending wakeup message
Wakeup duration: 2 seconds
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
ECU: 8N1920980A KOMBI+WEGFAHRS. M73 D04
Software Coding 07244, Workshop Code: 17567
Sending block 0x6C
Writing data to cluster microcontroller
Receiving ACK
Caught: System.TimeoutException The operation has timed out.
Unhandled exception: System.TimeoutException: The operation has timed out.
at System.IO.Ports.SerialStream.ReadByte(Int32)
at System.IO.Ports.SerialPort.ReadByte()
at BitFab.KW1281Test.Interface.GenericInterface.ReadByte() in C:\Users\gmeno\src\kw1281test\Interface\GenericInterface.cs:line 36
at BitFab.KW1281Test.KwpCommon.ReadByte() in C:\Users\gmeno\src\kw1281test\KwpCommon.cs:line 104
at BitFab.KW1281Test.Cluster.MarelliCluster.WriteMarelliBlockAndReadAck(Byte[]) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 213
at BitFab.KW1281Test.Cluster.MarelliCluster.DumpMem(String, UInt16, Nullable`1 ) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 102
at BitFab.KW1281Test.Cluster.MarelliCluster.DumpEeprom(Nullable`1, Nullable`1, String ) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 21
at BitFab.KW1281Test.Tester.DumpMarelliMem(UInt32, UInt32, ControllerInfo, String ) in C:\Users\gmeno\src\kw1281test\Tester.cs:line 399
at BitFab.KW1281Test.Program.Run(String[]) in C:\Users\gmeno\src\kw1281test\Program.cs:line 315
at BitFab.KW1281Test.Program.Main(String[]) in C:\Users\gmeno\src\kw1281test\Program.cs:line 26
C:\Users\kylew\Downloads\kw1281test_0.82-beta_Win10>.\kw1281test.exe COM2 9600 17 DumpMarelliMem 3072 1024
KW1281Test: Yesterday's diagnostics...Today.
Version 0.82-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM2 9600 17 DumpMarelliMem 3072 1024
OSVersion: Microsoft Windows NT 10.0.19045.0
.NET Version: 7.0.5
Culture: en-US
Opening serial port COM2
Sending wakeup message
Wakeup duration: 2 seconds
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
ECU: 8N1920980A KOMBI+WEGFAHRS. M73 D04
Software Coding 07244, Workshop Code: 17567
Sending block 0x6C
Writing data to cluster microcontroller
Receiving ACK
Caught: System.TimeoutException The operation has timed out.
Unhandled exception: System.TimeoutException: The operation has timed out.
at System.IO.Ports.SerialStream.ReadByte(Int32)
at System.IO.Ports.SerialPort.ReadByte()
at BitFab.KW1281Test.Interface.GenericInterface.ReadByte() in C:\Users\gmeno\src\kw1281test\Interface\GenericInterface.cs:line 36
at BitFab.KW1281Test.KwpCommon.ReadByte() in C:\Users\gmeno\src\kw1281test\KwpCommon.cs:line 104
at BitFab.KW1281Test.Cluster.MarelliCluster.WriteMarelliBlockAndReadAck(Byte[]) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 213
at BitFab.KW1281Test.Cluster.MarelliCluster.DumpMem(String, UInt16, Nullable`1 ) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 102
at BitFab.KW1281Test.Cluster.MarelliCluster.DumpEeprom(Nullable`1, Nullable`1, String ) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 21
at BitFab.KW1281Test.Tester.DumpMarelliMem(UInt32, UInt32, ControllerInfo, String ) in C:\Users\gmeno\src\kw1281test\Tester.cs:line 399
at BitFab.KW1281Test.Program.Run(String[]) in C:\Users\gmeno\src\kw1281test\Program.cs:line 315
at BitFab.KW1281Test.Program.Main(String[]) in C:\Users\gmeno\src\kw1281test\Program.cs:line 26
Unfortunately kw1281test doesn't work with that particular TT cluster. Someone sent me one as a donation and I've tried to make it work but so far have no luck even though it's very similar to the Beetle clusters internally. I even tried a couple commercial tools that are supposed to work with TT clusters and neither could pull the SKC from the one I have.ECU: 8N1920980A KOMBI+WEGFAHRS. M73 D04
Thank you gmenounos! Appreciate the feedback.Unfortunately kw1281test doesn't work with that particular TT cluster. Someone sent me one as a donation and I've tried to make it work but so far have no luck even though it's very similar to the Beetle clusters internally. I even tried a couple commercial tools that are supposed to work with TT clusters and neither could pull the SKC from the one I have.
Version 0.81-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM3 10400 17 ToggleRB4Mode
OSVersion: Microsoft Windows NT 6.3.9600.0
.NET Version: 7.0.4
Culture: pt-PT
Opening serial port COM3
Sending wakeup message
Wakeup duration: 1,9999978392184021 seconds
Reading sync byte
Keyword Lsb $6B
Keyword Msb $8F
Protocol is KW 2027 (8N1)
Sent: 82 17 F1 1A 94 38 (readEcuIdentification)
Received: 97 F1 17 5A 94 5F 41 75 64 69 5F 42 36 4C 4D 4A 30 34 5F 56 30 30 31 2
E 30 33 64 (readEcuIdentification ACK)
_Audi_B6LMJ04_V001.03
Sent: 82 17 F1 27 FB AC (securityAccess)
Received: 86 F1 17 67 FB 61 89 E8 8E 50 (securityAccess ACK)
Sent: 86 17 F1 27 FC 9C D1 64 3B BD (securityAccess)
Received: 83 F1 17 67 FC 34 22 (securityAccess ACK)
Success!!!
Sent: 83 17 F1 10 84 14 33 (startDiagnosticSession)
Received: 82 F1 17 50 84 5E (startDiagnosticSession ACK)
Sent: 85 17 F1 23 01 04 50 02 07 (readMemoryByAddress)
Received: 83 F1 17 63 41 55 84 (readMemoryByAddress ACK)
Sent: 85 17 F1 23 01 00 00 10 C1 (readMemoryByAddress)
Received: 83 F1 17 7F 23 10 3D (readMemoryByAddress NAK generalReject)
Cluster is in Adapted mode (6).
Toggling cluster mode...
Sent: 85 17 F1 23 01 04 4F 01 05 (readMemoryByAddress)
Received: 82 F1 17 63 7C 69 (readMemoryByAddress ACK)
Sent: 86 17 F1 3D 01 04 4F 01 6E 8E (writeMemoryByAddress)
Received: 84 F1 17 7D 01 04 4F 5D (writeMemoryByAddress ACK)
Sent: 85 17 F1 23 01 05 2F 01 E6 (readMemoryByAddress)
Received: 82 F1 17 63 4B 38 (readMemoryByAddress ACK)
Sent: 86 17 F1 3D 01 05 2F 01 59 5A (writeMemoryByAddress)
Received: 84 F1 17 7D 01 05 2F 3E (writeMemoryByAddress ACK)
Sent: 85 17 F1 23 01 06 2F 01 E7 (readMemoryByAddress)
Received: 82 F1 17 63 03 F0 (readMemoryByAddress ACK)
Sent: 86 17 F1 3D 01 06 2F 01 11 13 (writeMemoryByAddress)
Received: 84 F1 17 7D 01 06 2F 3F (writeMemoryByAddress ACK)
Resetting cluster...
Sent: 82 17 F1 11 01 9C (ecuReset)
Received: 81 F1 17 51 DA (ecuReset ACK)
C:\Users\Jo�o Alegria\Desktop\kw1281test-master\kw1281test-master>.\kw1281test.e
xe COM3 10400 17 GetSKC
KW1281Test: Yesterday's diagnostics...Today.
Version 0.81-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM3 10400 17 GetSKC
OSVersion: Microsoft Windows NT 6.3.9600.0
.NET Version: 7.0.4
Culture: pt-PT
Opening serial port COM3
Sending wakeup message
Wakeup duration: 1,9999978392184021 seconds
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
ECU: 8E0920950M KOMBI+WEGFAHRS. RB4 D42
Software Coding 00100, Workshop Code: 00001
Sending EndCommunication block
Sending wakeup message
Wakeup duration: 1,9999978392184021 seconds
Reading sync byte
Keyword Lsb $6B
Keyword Msb $8F
Protocol is KW 2027 (8N1)
Sent: 82 17 F1 1A 94 38 (readEcuIdentification)
Received: 97 F1 17 5A 94 5F 41 75 64 69 5F 42 36 4C 4D 4A 30 34 5F 56 30 30 31 2
E 30 33 64 (readEcuIdentification ACK)
_Audi_B6LMJ04_V001.03
Sent: 82 17 F1 27 FB AC (securityAccess)
Received: 86 F1 17 67 FB 53 7D 2E 3A 28 (securityAccess ACK)
Sent: 86 17 F1 27 FC AE 7C A9 EF 73 (securityAccess)
Received: 83 F1 17 67 FC 34 22 (securityAccess ACK)
Success!!!
Sent: 83 17 F1 10 84 14 33 (startDiagnosticSession)
Received: 82 F1 17 50 84 5E (startDiagnosticSession ACK)
Saving memory dump to RBx_$010046_mem.bin
Sent: 85 17 F1 23 01 00 46 02 F9 (readMemoryByAddress)
Received: 83 F1 17 63 DE 02 CE (readMemoryByAddress ACK)
Saved memory dump to RBx_$010046_mem.bin
Sent: 82 17 F1 11 01 9C (ecuReset)
Received: 81 F1 17 51 DA (ecuReset ACK)
SKC: 00734
Hi!So since this does adaptation saves, is it possible for me to code my car from auto to manual transmission? The guy who did the swap forgot about that part.
That would be done using the SetSoftwareCoding command in kw1281test. You'll have to research what the correct soft coding is for manual transmission.So since this does adaptation saves, is it possible for me to code my car from auto to manual transmission? The guy who did the swap forgot about that part.
I know the correct bits are 1 for auto & 2 for manual. Thanks @alegria1999 for the info on 4x4. I don't think I've ever run across that. I'll definitely be looking into this further.That would be done using the SetSoftwareCoding command in kw1281test. You'll have to research what the correct soft coding is for manual transmission.
You can try to adjust the time setting of the driver in the computer management. I had the same problem, a medium setting in the dropdown menu worked.First off, you guys are incredible! Thank you for all you work and effort. Excellent info and forum!
I attempted to retrieve the SKC but failed with an exception.
SETUP DETAILS:
AUTOMOBILE:2002 Audi TT 2dr Roadster quattro 6-Spd1.8L DOHC SMPI 20-valve 225 HP I4 turbocharged engineECU/INSTRUMENT CLUSTER INFO :ECU: 8N1920980A KOMBI+WEGFAHRS. M73 D04PC:Windows 10 Pro64bit x64CABLE:DRIVER:CH341S64.SYS Version: 3.5.2019.1 Date: 1/30/2019
PURPOSE:
Immobilizer won't recognize key. Can't start it. Need SKC
INPUT:
Tried the 2 suggested commands with the following parameters
OUTPUT:
- .\kw1281test.exe COM2 9600 17 DumpMarelliMem 14336 2048
- .\kw1281test.exe COM2 9600 17 DumpMarelliMem 3072 1024
ADDITIONAL INFO:Code:C:\Users\kylew\Downloads\kw1281test_0.82-beta_Win10>.\kw1281test.exe COM2 9600 17 DumpMarelliMem 14336 2048 KW1281Test: Yesterday's diagnostics...Today. Version 0.82-beta (https://github.com/gmenounos/kw1281test/releases) Args: COM2 9600 17 DumpMarelliMem 14336 2048 OSVersion: Microsoft Windows NT 10.0.19045.0 .NET Version: 7.0.5 Culture: en-US Opening serial port COM2 Sending wakeup message Wakeup duration: 2 seconds Reading sync byte Keyword Lsb $01 Keyword Msb $8A Protocol is KW 1281 (8N1) ECU: 8N1920980A KOMBI+WEGFAHRS. M73 D04 Software Coding 07244, Workshop Code: 17567 Sending block 0x6C Writing data to cluster microcontroller Receiving ACK Caught: System.TimeoutException The operation has timed out. Unhandled exception: System.TimeoutException: The operation has timed out. at System.IO.Ports.SerialStream.ReadByte(Int32) at System.IO.Ports.SerialPort.ReadByte() at BitFab.KW1281Test.Interface.GenericInterface.ReadByte() in C:\Users\gmeno\src\kw1281test\Interface\GenericInterface.cs:line 36 at BitFab.KW1281Test.KwpCommon.ReadByte() in C:\Users\gmeno\src\kw1281test\KwpCommon.cs:line 104 at BitFab.KW1281Test.Cluster.MarelliCluster.WriteMarelliBlockAndReadAck(Byte[]) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 213 at BitFab.KW1281Test.Cluster.MarelliCluster.DumpMem(String, UInt16, Nullable`1 ) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 102 at BitFab.KW1281Test.Cluster.MarelliCluster.DumpEeprom(Nullable`1, Nullable`1, String ) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 21 at BitFab.KW1281Test.Tester.DumpMarelliMem(UInt32, UInt32, ControllerInfo, String ) in C:\Users\gmeno\src\kw1281test\Tester.cs:line 399 at BitFab.KW1281Test.Program.Run(String[]) in C:\Users\gmeno\src\kw1281test\Program.cs:line 315 at BitFab.KW1281Test.Program.Main(String[]) in C:\Users\gmeno\src\kw1281test\Program.cs:line 26 C:\Users\kylew\Downloads\kw1281test_0.82-beta_Win10>.\kw1281test.exe COM2 9600 17 DumpMarelliMem 3072 1024 KW1281Test: Yesterday's diagnostics...Today. Version 0.82-beta (https://github.com/gmenounos/kw1281test/releases) Args: COM2 9600 17 DumpMarelliMem 3072 1024 OSVersion: Microsoft Windows NT 10.0.19045.0 .NET Version: 7.0.5 Culture: en-US Opening serial port COM2 Sending wakeup message Wakeup duration: 2 seconds Reading sync byte Keyword Lsb $01 Keyword Msb $8A Protocol is KW 1281 (8N1) ECU: 8N1920980A KOMBI+WEGFAHRS. M73 D04 Software Coding 07244, Workshop Code: 17567 Sending block 0x6C Writing data to cluster microcontroller Receiving ACK Caught: System.TimeoutException The operation has timed out. Unhandled exception: System.TimeoutException: The operation has timed out. at System.IO.Ports.SerialStream.ReadByte(Int32) at System.IO.Ports.SerialPort.ReadByte() at BitFab.KW1281Test.Interface.GenericInterface.ReadByte() in C:\Users\gmeno\src\kw1281test\Interface\GenericInterface.cs:line 36 at BitFab.KW1281Test.KwpCommon.ReadByte() in C:\Users\gmeno\src\kw1281test\KwpCommon.cs:line 104 at BitFab.KW1281Test.Cluster.MarelliCluster.WriteMarelliBlockAndReadAck(Byte[]) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 213 at BitFab.KW1281Test.Cluster.MarelliCluster.DumpMem(String, UInt16, Nullable`1 ) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 102 at BitFab.KW1281Test.Cluster.MarelliCluster.DumpEeprom(Nullable`1, Nullable`1, String ) in C:\Users\gmeno\src\kw1281test\Cluster\MarelliCluster.cs:line 21 at BitFab.KW1281Test.Tester.DumpMarelliMem(UInt32, UInt32, ControllerInfo, String ) in C:\Users\gmeno\src\kw1281test\Tester.cs:line 399 at BitFab.KW1281Test.Program.Run(String[]) in C:\Users\gmeno\src\kw1281test\Program.cs:line 315 at BitFab.KW1281Test.Program.Main(String[]) in C:\Users\gmeno\src\kw1281test\Program.cs:line 26
During the "Receiving ACK", the Instrument Cluster chimed and reacted with the gauges sweeping and the lights changing. Communication was definitely established so some progress.
QUESTION:
Any idea or thoughts on the timeout? Perhaps user error?
Sorry, it looks like the Touran uses CAN bus diagnostics, so kw1281test won't work with it.what I am doing so wrong? Dongle is vag kkl 409.1 with WIN10, drivers installed correctly. Tying to get SKC from VW Tauran 1.9TDi Instrument cluster is VDD.
./kw1281test 12345678 10400 1 BasicSetting 77
into TerminalThat should work. I've personally only tried BasicSetting on a TDI but it should work the same on other MK4 ECUs.. And thanks for adding to the wiki.Now that I have the car running, I want to get it registered and smogged. After a drive cycle, I have all of the monitors ready except for the Evap System and the Secondary Air System. It looks like both VCDS and the Snap-on tool can force these tests to run. Evap is Basic Settings Block 70; Secondary air is Basic Settings Block 77.
Is it possible to initiate these tests using kw1281test? Would something like this work for the secondary air test:
- Turn the car on
- Let the car idle
- Attach FTDI cable from Mac to OBD2 port
- Enter
./kw1281test 12345678 10400 1 BasicSetting 77
into Terminal- Profit?
Thanks so much. Unfortunately, I haven't been able to get it to work and I'm not sure why. Running the command reads the block and outputs it to the terminal, but I don't I see any other feedback about the test itself. It appears to do *something* because it locks the engine RPMs to idle until I quit, but the monitors still aren't ready. Are there logs I can check to see if running the test succeeded or failed? Maybe a more verbose mode?That should work. I've personally only tried BasicSetting on a TDI but it should work the same on other MK4 ECUs.. And thanks for adding to the wiki.
That VIMVIP KKL cable only works with Windows, which is noted in the instructions. I updated the wiki last week with a link to a cable that will work on Mac/Linux and full macOS instructions.The interface is the VIMVIP KKL 409.1 you linked in your FAQ.
The adapter shouldn’t cause a problem. I used one on my MacBook.Thanks very much for that quick update! Though I will be back in LA Aug 22nd, the car in question is actually in St. Louis, but thank you for that offer!
I've ordered the correct cable. Unfortunately I was working from the first post in this thread and not the wiki for information, and the link there took me to the other cable.
Will the fact I'm using a USB-C to multiport adapter throw a wrench into this whole thing?
Alternately, is there a version of your software floating around that's compatible with XP, which would allow me to use the cable I have right now with an old laptop running XP that still seems to work?
The adapter shouldn’t cause a problem. I used one on my MacBook.
As for Windows XP, I’m really not sure. This isn’t my work — all credit goes to @gmenounos — I just try to be helpful. I think you can install Windows 10/11 and run it unregistered without any limitations that would impact kw1281test.