Free VDS-Pro / VagTacho Alternative

flashmayo

Veteran Member
Joined
Apr 1, 2007
Location
Santa Cruz CA
TDI
'03 Jetta - Gator Tuned
I just published version 0.57: https://github.com/gmenounos/kw1281test/releases/tag/v0.57-beta
It's got one new command: GetSKC
It will attempt to download just the portion of the cluster EEPROM that contains the SKC and will decode it for you. It should work for many VDO Immo2/Immo3 clusters as well as Bosch RB8 clusters. I will add Marelli clusters (Beetle/TT) later, but in the meantime I'd appreciate it if anyone who has time could give it a try and let me know which clusters it works successfully on and which ones it doesn't. I'm using the VW part number of the cluster to determine if it's Immo2 or Immo3, but I'm sure there are some clusters that it's going to misidentify as I only have Golf/Jetta/Passat clusters to test with. It also doesn't currently work with VDO clusters running VWK503 software.

Code:
.\kw1281test.exe COM4 10400 17 GetSKC
Thanks to @hicklehoff for the suggestion.
Might be helpful to put the version # in the name somewhere. Either in the .gz or in the .exe itself. I see I can find it if I click through to the "details" tab in properties, but to keep them organized I'm creating separate folders under, in my case, VCDS. Just a suggestion....
 

IJskonijn

Member
Joined
Aug 12, 2019
Location
Netherlands
TDI
Seat Leon 1M - ASV
Might be helpful to put the version # in the name somewhere. Either in the .gz or in the .exe itself. I see I can find it if I click through to the "details" tab in properties, but to keep them organized I'm creating separate folders under, in my case, VCDS. Just a suggestion....
+1 for this.

I also posted a suggestion for the TypeLoadException fix on GitHub
 

gmenounos

Vendor
Joined
Jun 26, 2003
Location
Watertown, MA, USA
TDI
'99.5 Golf GLS, '01 Jetta GLX Wagon (TDI conversion)
Might be helpful to put the version # in the name somewhere. Either in the .gz or in the .exe itself. I see I can find it if I click through to the "details" tab in properties, but to keep them organized I'm creating separate folders under, in my case, VCDS. Just a suggestion....
Thanks. The next version will have the version number as part of the name of the .zip files.
 

gmenounos

Vendor
Joined
Jun 26, 2003
Location
Watertown, MA, USA
TDI
'99.5 Golf GLS, '01 Jetta GLX Wagon (TDI conversion)
I also posted a suggestion for the TypeLoadException fix on GitHub
Thanks. I added a workaround in the next version where I trap the TypeLoadException and then attempt to set the priority to High. However, I've been unable to repro the TypeLoadException myself. If I run the app as a regular user with no special permissions, it runs fine. If I view it in Task Manager, I see that it's running at High priority rather than realtime. I'm guessing this is a fallback if you don't have permissions for RealTime. If I open a command prompt as Administrator and run the app, then I see it running at RealTime priority. So I think the TypeLoadException might be caused by something else. I'll publish a new version today and hopefully anybody who was getting the TypeLoadException can try it out and see if it works for them.
 

flashmayo

Veteran Member
Joined
Apr 1, 2007
Location
Santa Cruz CA
TDI
'03 Jetta - Gator Tuned
KW1281Test 0.58-beta (https://github.com/gmenounos/kw1281test/releases)
Args: com4 10400 17 GetSKC
Ignored TypeLoadException thrown when trying to increase process priority.
Unhandled exception: System.TypeLoadException
at System.Diagnostics.Process.set_PriorityClassCore(ProcessPriorityClass value)
at System.Diagnostics.Process.set_PriorityClass(ProcessPriorityClass value)
at BitFab.KW1281Test.Program.Run(String[] args) in C:\Users\gmeno\src\kw1281test\Program.cs:line 62
at BitFab.KW1281Test.Program.Main(String[] args) in C:\Users\gmeno\src\kw1281test\Program.cs:line 26
KW1281Test 0.58-beta (https://github.com/gmenounos/kw1281test/releases)
Args: com4 10400 17 DumpEeprom 204 6
Ignored TypeLoadException thrown when trying to increase process priority.
Unhandled exception: System.TypeLoadException
at System.Diagnostics.Process.set_PriorityClassCore(ProcessPriorityClass value)
at System.Diagnostics.Process.set_PriorityClass(ProcessPriorityClass value)
at BitFab.KW1281Test.Program.Run(String[] args) in C:\Users\gmeno\src\kw1281test\Program.cs:line 62
at BitFab.KW1281Test.Program.Main(String[] args) in C:\Users\gmeno\src\kw1281test\Program.cs:line 26
 

IJskonijn

Member
Joined
Aug 12, 2019
Location
Netherlands
TDI
Seat Leon 1M - ASV
Thanks. I added a workaround in the next version where I trap the TypeLoadException and then attempt to set the priority to High. However, I've been unable to repro the TypeLoadException myself. If I run the app as a regular user with no special permissions, it runs fine. If I view it in Task Manager, I see that it's running at High priority rather than realtime. I'm guessing this is a fallback if you don't have permissions for RealTime. If I open a command prompt as Administrator and run the app, then I see it running at RealTime priority. So I think the TypeLoadException might be caused by something else. I'll publish a new version today and hopefully anybody who was getting the TypeLoadException can try it out and see if it works for them.
The weird thing is that I get the TypeLoadException only with a published version.
If I build it myself and run either the debug or release version, it works perfectly fine without exceptions.
 

Peacetilence

Member
Joined
Jun 6, 2021
Location
Cv, OR
TDI
'02 Golf
Couple cars -- 00 Jetta (immo2), bailed w/ the regular exe (worked w/ 0.55). The untrimmed exe works but won't extract the SKC:

Code:
KW1281Test 0.58-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM3 10400 17 ReadSoftwareVersion
Ignored TypeLoadException thrown when trying to increase process priority.
Unhandled exception: System.TypeLoadException
   at System.Diagnostics.Process.set_PriorityClassCore(ProcessPriorityClass value)
   at System.Diagnostics.Process.set_PriorityClass(ProcessPriorityClass value)
   at BitFab.KW1281Test.Program.Run(String[] args) in C:\Users\gmeno\src\kw1281test\Program.cs:line 62
   at BitFab.KW1281Test.Program.Main(String[] args) in C:\Users\gmeno\src\kw1281test\Program.cs:line 26
KW1281Test 0.58-beta (https://github.com/gmenounos/kw1281test/releases)

KW1281Test 0.58-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM3 10400 17 ReadSoftwareVersion
Opening serial port COM3
Sending wakeup message
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
ECU: 1J0920900J  A4-KOMBIINSTR. VDO V60
Software Coding 07262, Workshop Code: 00066
Sending Custom "Read Software Version" blocks
Sending Custom "Unlock Additional Commands" block
00: V599LLA  $00 $03
01: $56 $35 $39 $39 $4C $4C $41 $20 $00 $03
02: $56 $35 $39 $39 $4C $4C $41 $20 $00 $03
03: V599LLA  $00 $03
Sending EndCommunication block
KW1281Test 0.58-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM3 10400 17 GetSKC
Opening serial port COM3
Sending wakeup message
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
ECU: 1J0920900J  A4-KOMBIINSTR. VDO V60
Software Coding 07262, Workshop Code: 00066
Cluster is non-Immo so there is no SKC.
Sending EndCommunication block

Edit: from an older log:

KW1281Test 0.55-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM3 10400 17 ReadIdent
Opening serial port COM3
Sending wakeup message
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
ECU: 1J0920900J  A4-KOMBIINSTR. VDO V60
Software Coding 07262, Workshop Code: 00066
Sending ReadIdent block
Ident: IMMO-IDENTNR: VWZ7Z0Y2371016     
Sending EndCommunication block
Edit: The SKC is stored at offsets 186/202/218 in BCD, little endian (I think).

02 Golf (immo3) works fine w/ the untrimmed exe and the SKC is correctly extracted:

Code:
KW1281Test 0.58-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM3 10400 17 ReadSoftwareVersion
Opening serial port COM3
Sending wakeup message
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
ECU: 1J0920906L  KOMBI+WEGFAHRSP VDO V07
Software Coding 07232, Workshop Code: 00001
Sending Custom "Read Software Version" blocks
Sending Custom "Unlock Additional Commands" block
00: VWK501LL $00 $01
01: $75 $18
02: $09 $05 $01 $0A $0F $37
03: VW/Sk LL Serie Maske
Sending EndCommunication block
KW1281Test 0.58-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM3 10400 17 GetSKC
Opening serial port COM3
Sending wakeup message
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
ECU: 1J0920906L  KOMBI+WEGFAHRSP VDO V07
Software Coding 07232, Workshop Code: 00001
Sending ReadIdent block
Sending Custom "Read Software Version" blocks
Sending Custom "Unlock Additional Commands" block
00: VWK501LL $00 $01
01: $75 $18
02: $09 $05 $01 $0A $0F $37
03: VW/Sk LL Serie Maske
Sending Custom "Unlock partial EEPROM read" block
Unlock code for software version VWK501LL $00 $01  is  36 3D 3E 47
Sending Custom "Need Seed/Key?" block
Sending Custom "Seed request" block
Block:  D2 73 22 6D 22 31 5D 59 01 00
Sending Custom "Key response" block
Saving EEPROM dump to 9BWGP61J824052532_____VWZ7Z0A4265762_$00CC_eeprom.bin
Sending ReadEeprom block (Address: $00CC, Count: $02)
Received "Read EEPROM Response" block: XX XX
Saved EEPROM dump to 9BWGP61J824052532_____VWZ7Z0A4265762_$00CC_eeprom.bin
SKC: 0xxxx
Sending EndCommunication block
 
Last edited:

yeeet

Member
Joined
Oct 20, 2020
Location
Portlan
TDI
golf mk4 110
This is amazing, thank you very much for this, although it's a shame that I already ordered a VagTacho cable :(

I have a generic blue KKL cable which works wonderfully in VCDS, I attempted to install the serial port:



However, when I attempt to connect with the cluster this happens:


PS C:\> C:\VW\kw1281test.exe COM3 10400 17 ReadSoftwareVersion
KW1281Test 0.51-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM3 10400 17 ReadSoftwareVersion
Opening serial port COM3
Unhandled exception: System.IO.FileNotFoundException: Could not find file 'COM3'.
File name: 'COM3'
at System.IO.Ports.SerialStream..ctor(String portName, Int32 baudRate, Parity parity, Int32 dataBits, StopBits stopBits, Int32 readTimeout, Int32 writeTimeout, Handshake handshake, Boolean dtrEnable, Boolean rtsEnable, Boolean discardNull, Byte parityReplace)
at System.IO.Ports.SerialPort.Open()
at BitFab.KW1281Test.Interface.GenericInterface..ctor(String portName, Int32 baudRate) in C:\Users\gmeno\src\kw1281test\Interface\GenericInterface.cs:line 23
at BitFab.KW1281Test.Program.OpenPort(String portName, Int32 baudRate) in C:\Users\gmeno\src\kw1281test\Program.cs:line 316
at BitFab.KW1281Test.Program.Run(String[] args) in C:\Users\gmeno\src\kw1281test\Program.cs:line 152
at BitFab.KW1281Test.Program.Main(String[] args) in C:\Users\gmeno\src\kw1281test\Program.cs:line 27
Changing from COM2 to 3 will not do anything, it'll just appear "COM2" instead of "COM3"

Is this a problem with the serial port?

I'm attempting to get the SKC code from my cluster to pair new keys, and enable remote windows (1998 AHF engine - same as ALH but a bit better)
 
Last edited:

flashmayo

Veteran Member
Joined
Apr 1, 2007
Location
Santa Cruz CA
TDI
'03 Jetta - Gator Tuned
This is amazing, thank you very much for this, although it's a shame that I already ordered a VagTacho cable :(

I have a generic blue KKL cable which works wonderfully in VCDS, I attempted to install the serial port:



However, when I attempt to connect with the cluster this happens:




Changing from COM2 to 3 will not do anything, it'll just appear "COM2" instead of "COM3"

Is this a problem with the serial port?

I'm attempting to get the SKC code from my cluster to pair new keys, and enable remote windows (1998 AHF engine - same as ALH but a bit better)
The fact that your cable shows up in device manager indicates the proper drivers are installed. Did you uncheck the "boot in smart mode" in the Options section in VCDS?
I had similar problem that didn't occur when I used V0.49.0.0. You could try that as a sanity check.....
 

yeeet

Member
Joined
Oct 20, 2020
Location
Portlan
TDI
golf mk4 110
The fact that your cable shows up in device manager indicates the proper drivers are installed. Did you uncheck the "boot in smart mode" in the Options section in VCDS?
I had similar problem that didn't occur when I used V0.49.0.0. You could try that as a sanity check.....
I think it's a problem with my cable, when I use VCP and if I select the "USB" option it's not detected and the boot in smart mode option is greyed out, very weird
 

gmenounos

Vendor
Joined
Jun 26, 2003
Location
Watertown, MA, USA
TDI
'99.5 Golf GLS, '01 Jetta GLX Wagon (TDI conversion)

yeeet

Member
Joined
Oct 20, 2020
Location
Portlan
TDI
golf mk4 110

Peacetilence

Member
Joined
Jun 6, 2021
Location
Cv, OR
TDI
'02 Golf
Looking good! My '00 Jetta:

Code:
KW1281Test 0.59-beta (https://github.com/gmenounos/kw1281test/releases)
Args: COM3 10400 17 GetSKC
OSVersion: Microsoft Windows NT 10.0.19043.0
.NET Version: 5.0.7
Culture: en-US
Opening serial port COM3
Sending wakeup message
Reading sync byte
Keyword Lsb $01
Keyword Msb $8A
Protocol is KW 1281 (8N1)
ECU: 1J0920900J  A4-KOMBIINSTR. VDO V60 
Software Coding 07262, Workshop Code: 00066
Sending ReadIdent block
Sending Custom "Read Software Version" blocks
Sending Custom "Unlock Additional Commands" block
00: V599LLA  $00 $03 
01: $56 $35 $39 $39 $4C $4C $41 $20 $00 $03 
02: $56 $35 $39 $39 $4C $4C $41 $20 $00 $03 
03: V599LLA  $00 $03 
Sending Custom "Unlock partial EEPROM read" block
Unlock code for software version V599LLA  $00 $03  is  38 3F 40 35
Sending Custom "Need Seed/Key?" block
Received NAK block
Sending Custom "Seed request" block
Received NAK block
Saving EEPROM dump to IMMO-IDENTNR_VWZ7Z0Y2371016________$0090_eeprom.bin
Sending ReadEeprom block (Address: $0090, Count: $10)
Received "Read ROM/EEPROM Response" block: 36 4E 30 39 30 39 39 30 31 20 31 4A 30 39 32 30
Sending ReadEeprom block (Address: $00A0, Count: $10)
Received "Read ROM/EEPROM Response" block: 39 30 30 4A 20 FF 41 34 56 36 30 FF 56 57 5A 37
Sending ReadEeprom block (Address: $00B0, Count: $10)
Received "Read ROM/EEPROM Response" block: 5A 30 59 32 33 37 31 30 31 36 yy xx 56 57 5A 37
Sending ReadEeprom block (Address: $00C0, Count: $10)
Received "Read ROM/EEPROM Response" block: 5A 30 59 32 33 37 31 30 31 36 yy xx 56 57 5A 37
Sending ReadEeprom block (Address: $00D0, Count: $10)
Received "Read ROM/EEPROM Response" block: 5A 30 59 32 33 37 31 30 31 36 yy xx FF FF FF FF
Sending ReadEeprom block (Address: $00E0, Count: $10)
Received "Read ROM/EEPROM Response" block: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Sending ReadEeprom block (Address: $00F0, Count: $10)
Received "Read ROM/EEPROM Response" block: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
Sending ReadEeprom block (Address: $0100, Count: $0C)
Received "Read ROM/EEPROM Response" block: FF FF 1F D2 20 D2 20 D2 20 D2 20 D2
Saved EEPROM dump to IMMO-IDENTNR_VWZ7Z0Y2371016________$0090_eeprom.bin
SKC: 0xxyy
Sending EndCommunication block
 
Top