VAG-COM (OBD-II USB FTDI) using Wine on Linux
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).
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).
A 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
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.
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).
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.
Everything works with my setup. No crashes, and every function works fine.
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).
- ScanTool (Linux support, ODB-II)
- FreeDiag (Linux support, ODB-II)
- pyOBD – Open-source OBD-II diagnostics
- Android software supporting ODB-II on Market (Mostly just Bluetooth-dongle support)
About the Cars tested:
- 1996 Audi A4 (B5, Imported from Germany)
- ODB Protocol KW1281 (ISO 9141-2 ?)
About this entry
You’re currently reading “VAG-COM (OBD-II USB FTDI) using Wine on Linux,” an entry on Anders Evenrud's Blog
- September 1, 2010 / 19:55