BMW Cables Review: INPA K+DCAN vs. CarSoft vs. ADS/ OBD

I have a number of interfaces:
– CarSoft
INPA with serial port
– K+D CAN with USB (opaque colour casing)
– ADS/OBD interface

My current favourite is the K+D CAN USB. It works on all current models as well as everything for e46/e39 era. For older cars with the big round diagnostic connector under the bonnet you’ll need:
– a proper serial port on your laptop
– a lead with the serial port type connector
USB to serial or PCMCIA will not work for some modules on older cars (fine for newer stuff)

The VAG-COM one you’ll need to do some slight modifications for coding & programming but will work for fault code reading unmodified.

With the USB K+ D CAN type cables there are a few installation steps, drivers & a little app that you need to make them work properly. Once you have them they are great though. However a lot of sellers don’t mention or probably don’t even know what these are. It is a bit confusing trying to get it all to work. I’ll try update over the weekend with instructions, pictures, etc. Also with these cables there are two subtle different versions, one with pin 8 enabled, one with it disabled. The one with it disabled is ideal for e90 newer than 03/07 & that era, these leads often come with a black adapter to re-enable the pin 8 (by just tying it to pin 9) so it will also be suitable for e46/e39/e63 etc. The ones with pin 8 active are just older versions of the cable. Worst cast scenario you just need to modify the cable & stuck a switch on it to toggle pin 8 on/off as needed.

The interface I want to get is a German version of the K+D CAN cable (probably the one that all the Chinese opaque ones have ripped off the design from!).

I should mention that while a CarSoft interface can be made to work with INPA it is not recommended. When I first got INPA, etc. going I was using my CarSoft interface, you have to run a CarSoft test to “initiate” the lead every time. What a PITA, stay away from this solution! Also not all serial cables will work on ADS cars like e36/e34/e38, the black serial cable below only works on OBD1 cars like pre 2001 e39.

So depending on what car you have that will determine the best choice for you. If it’s going to be all newer than e46 then definitely get a K+D CAN one to future proof yourself.
I’ll update when I can but I’m just in the middle of some crazy busy work at the moment!



OK, here are some pictures of the various cables that can be made to work. Just bear in mind folks that the install of all the software is not like buying Microsoft windows where you just throw the disc in the drive & click install.


INPA is the easiest to get up & running but there are a few things you need to consider when setting it up, there are different protocols for different era of cars, for example:

– ADS is used on e38, e36 & e34, the ones with the round OBC connector under the bonnet. If you set up INPA with the OBD interface set up then you’ll have issues trying to diagnose an e36 for example
– OBD is used on e46 & later e39s along with any car of that generation & newer cars use OBD

The complications don’t stop there if you plan on using Progman, you need to be worrying about EDIN, OPS & a few other things, but I won’t go into that now!


The reason for this is the software (DIS/Progman/NCS, etc.) is designed either for use in the BMW factory or in the BMW dealers, not a general release product. Two of the most basic issues (which have been over come) are:

– GT-1/DIS is designed to run on an IBM T-30 laptop running UNIX with a very specific hardware configuration. Using VMWare gets around a lot of those issues, you’re effectively running it as a virtual UNIX machine within your Windows machine.
– GT-1/DIS, etc. is designed to run through a “diagnostic yellow head” (or could be orange too, I’m not going to pretend I know the infinite detail on this). These boxes are essentially a translator that turns (for the want of a better word) the BMW speak into regular computer speak. Some clever people have figured out how to simulate this “diaghead” by using an “emulator” set up. This emulator set up also relies on the virtual network capabilities of VMWare, the emulator can either be on the UNIX side (this is the “FISTER profile” that some of you may have read about on other forua), or it can be on the Windows side (this is the Diaghead emulator). These emulators are used in conjunction with the NetServer that is built into INPA (or more correctly that is built in to EDIABAS). Don’t worry so much about understanding this, all that you need to know is for running DIS/Progman you need to run IFHSRV32.exe in order for it to work!

OK, on to the cables, there are a couple of protocols that are used on BMWs K & D CAN (there may be L as well but not sure), most of the cables can do the K CAN. K CAN is fine if you have a car built before September 2006, after that you need to look at the list below:

Models that require D-CAN:

– E60, E61 after 3/2007
– E83 after 9/2006
– E81, E87 after 3/2007
– E90, E91, E92, E93 after 3/2007
– E70 (New X5)
– R56 (New Mini)
– And others…

USB v Serial Port
Why would I buy a cable with a serial connector I hear you say? Well if you have an e36 (or early e39 or e38) you will need to use “ADS”. ADS only works properly with a real serial port. If you are using a USB to Serial adapter this may not work for all modules in an ADS car. Just be weary of that. So if you have an e36 you’re better off with an old laptop with a real Serial port using a serial port cable like this:

Serial Port Cables

1. ADS
As mentioned previously the ADS interface is a different protocol, if you don’t have an ADS interface with an e36 then what you’ll be able to read with a regular OBD cable is limited. Unfortunately the ADS interface seems to be the hardest to get & most expensive of all the interfaces. Here’s a picture of my ADS interface, Do It Auto also do a version of this interface. It works fine on the e36, e39 & e63 (note my e63 is pre-March 2007)from my personal experience.

Suitable for e36, e34, e30

Ads Interface Bmw

  1. Non-ADS Serial port interface
    This is a cheap interface & is readily available plus requires no modification. It works just fine on e46/e39 with either the round 20 pin connector under the bonnet or the OBD2 port in the drover’s footwell. Set up of this cable is straight forward, no drivers required.


Suitable for: e39 (all), e46 (all), e38, e53.

Non Ads Interface Bmw



  1. VAG-Com Cable (modified)
    So your laptop doesn’t have a serial port & you have a car that was registered between 03/2001 – 09/2006 (give or take), you could go down the route of buying a VAG-COM cable & modifying it slightly. It is not the route I would recommend (I experimented with my own cable & it worked), for a few extra quid you could avoid the hassle. If you are buying one of these cables make sure it has the FT232RL chip in it. There are different chips that work in these VAG-COM cables but for BMW purposes they must have the FL232RL chip in it. You can ask the seller & it will be visible through the blue transparent casing on the connector.
    Here’s the modification needed to get the VAG-COM cable up & running:

How to Modify a VCDS or VAG-COM KKL Cable for BMW INPA?

Here’s an image of the OBD II Diagnostic USB Cable KKL409.1:

Obdii Kkl 409.1 Cable

This cable has a built is USB to serial adapter so the disc you get with the cable is usually just the drivers for this adapter. These will have to be installed no matter what car you’re planning on diagnosing. Do some further research on the settings required for this cable, you might have to tweak a setting or two.

Here’s an image of the wiring modification to get it BMW compatible, circuit diagrams are available in the thread linked above:

Obdii Kkl 409.1 Cable Pcb

Suitable for: 2001-on e39/e46/e53

4. K+D CAN Interface

OK, this is my current favourite in my cable chest! This does 2001-on cars right up to & including 2011 cars (may be limited by the hookie software for cars after June 2008 on a diminishing basis as the car gets newer). This cable is a USB enabled device, again you will need to install the USB to serial drivers. However you will also need to install the K+D CAN utility, this allows you the ability to switch it from a K CAN device for pre-2007 cars (see list above) to a D CAN cable. There are two versions of this utility, a fancy GUI & a MS DOS one. I find that the MS DOS one works best.

Hera’s an image of what this cable looks like:

Bmw Inpa Cable 7 8 Pin

Bmw Inpa Cable Pcb 1

Bmw Inpa Cable Pcb 2



I mentioned in an earlier post that there is an adapter that is required with this cable if you want to use it on a K CAN car. It re-enables pin 8. The reason they eliminated connectivity to pin 8 in the D CAN is something to do with stability of the Ethernet connection for D CAN.


Here is all the information you will need:

How to set up INPA cable & software

INPA Windows XP/Vista/7/8/10 installation inst ruction:

BMW INPA cable reading 8 pin K-line

INPA K+DCAN cable vs. ENET cable vs. BMW ICOM (Next/A2)


The most important tip:

INPA 6.4.3, 5.0.6 and 5.02 download links


This is the K+DCan utility that allows you to toggle between K line & DCAN. Failure to run this correctly will mean that you will not be able to use your cable. Note: you should only have to set this up once for your car & it will remember the setting.

There is also a DOS version of the tool above that works equally well.

Interface suitable for: 09/2001 – onwards.

5. Do it auto Interface

This is identical in operation to the cable above but is appears to be dearer but probably manufactured to a better standard. K + D CAN capable.

BMW Scanner V2.20 K+DCAN



I have no first hand experience with this cable, it just hard to justify with all the other cables I have!
Interface suitable for: 09/2001 – onwards.

  1. Carsoft InterfaceThis will work for all K CAN (e36, e39, e46, e53, e63), but for God’s sake just don’t bother!!

Carsoft Cable Bmw



Finally here are some helpful websites that will get you on the road to getting set up:…play.php?f=233


I’m no expert but I have picked up a lot of information in the past while.


Hope it’s helpful


(Credits to rebel.ranter)