VAG-COM (OBD-II USB FTDI) using Wine on Linux

This article explains how to install and set up VAG-COM in Linux using Wine via a Serial Port USB ODB Dongle (FDTI RS232 to USB to ODB industry standard male plug).

A common method is to use a virtual-machine, install Windows and then do all work from there, but that is quite time-consuming and VAG-COM is working just fine using Wine with minimal configuration (Depending on version of software. My setup is listed below)

This should also work for old-fashioned Serial cables, but I have not tested this (But I’ve read elsewhere that this is confirmed).

Introduction:

I own an Audi A4 and needed to do some diagnostics because of some problems with the engine. Doing this in an auto-shop would cost me about $100, so that was out of the question.

After doing some searching on-line i found a OBD-II cable with software for about $20 (incl. freight). It was bought from a dealer in my country, but these things can be found all over Ebay in the same price-range. There are even wireless dongles with bluetooth available (More on that in an upcoming article).

I got Ross-Tech VCDS Lite software on a CD, but latest version is available for free at Ross-Tech’s website. This is essentially a demo-version that has some restrictions (a full version license is really expensive).

Computer Setup:

Lenovo R400 Laptop, running Gentoo/Funtoo linux. Should work on just about anything, including 32- and 64- bit architectures.

My setup: 2.6.35-gentoo-r1+ and wine from GIT (revision cc945706a4933cda0d204ba07a13e93fccb66d18 2010-09-01)

UPDATE Sep. 2011: Running 3.0.3 x64 Gentoo (Funtoo) Linux, Wine 1.3.27, VCDS-Lite Free

UPDATE Jul. 2012: Running 3.4.4 x64 Gentoo (Funtoo) Linux, Wine 1.5.6, VAG-COM 302 Registered

Kernel Module

Most distributions has built-in support for this, so if you are running Ubuntu or any other automatically maintained distribution you can skip this section 🙂

Since I use a Gentoo-derived distro, some kernel configuration and compiling was required. Support for these cables is added with the option CONFIG_USB_SERIAL_FTDI_SIO

Device Drivers  --->
   [*] USB support  --->     
      <*>   USB Serial Converter support  ---> 
         <M>   USB FTDI Single Port Serial Driver

No difference if you compile this into the kernel instead of creating a module.

Check if driver is loading (Optional)

You should see something like this when plugging in the cable (in syslog):

usb 2-1: new full speed USB device using uhci_hcd and address 4
usb 2-1: New USB device found, idVendor=0403, idProduct=6001
usb 2-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
usb 2-1: Product: FT232R USB UART
usb 2-1: Manufacturer: FTDI
usb 2-1: Manufacturer: FTDI
usb 2-1: SerialNumber: A800edjD
USB Serial support registered for FTDI USB Serial Device
ftdi_sio 2-1:1.0: FTDI USB Serial Device converter detected
usb 2-1: Detected FT232RL
usb 2-1: Number of endpoints 2
usb 2-1: Endpoint 1 MaxPacketSize 64
usb 2-1: Endpoint 2 MaxPacketSize 64
usb 2-1: Setting MaxPacketSize 64
usb 2-1: FTDI USB Serial Device converter now attached to ttyUSB0
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.6.0:USB FTDI Serial Converters Driver

Setup COM device in Wine

Create a symlink to let Wine know which USB Serial-Device we are using. In this case COM1 using the device ttyUSB0 (This is the default name if you only have one device connected)

ln -sf /dev/ttyUSB0 ~/.wine/dosdevices/com1

More information can be found in Wine User Guide.

Install VAG-COM

NOTE: If you can’t get the installer working try to extract the contents of the executable. Some of the installers is just a zipped file or a InstallShield archive (these can be extracted using ‘unshield’).

Run installer with ‘wine <executable-path>‘. After Install is completed you can run VAG-COM from your applications menu or manually by ‘wine ~/.wine/drive_c/Program Files/Rosstech/VAG-COM/vag-com.exe‘ (or something similar).

VAG-COM Setup

Plug the cable into the ODB port (in my case it was located in the rear ash-tray, under a plastic lid)  in and set your ignition to ON .

In VAG-COM’s main menu click the Options button, select COM1  (or which ever port you created a symlink for, as seen above) and run the tests. If the resulting dialogs says everything is fine, you can now run diagnostics etc.

NOTE: Some of these cables comes with a LED-indicator that will light up when connection to computer is active.. If the indicator does not work, don’t fear…. there are a LOT of after-market cables are behaving differently. This is not critical.

Results

Everything works with my setup. No crashes, and every function works fine.

Alternate Software

There are some open-source alternatives for VAG-COM. These also work under Linux. I’ve yet to try these, but I plan to (and create articles).

About the Cars tested:

  • 1996 Audi A4 (B5, Imported from Germany)
    • ODB Protocol KW1281 (ISO 9141-2 ?)

About this entry