BMW and INPA success
I got INPA working on my E46. It lets me read fault codes, live engine statistics on a per cylinder basis and reset engine adaptations after repairs. Here's how I did it using cheap USB interfaces.
BMW uses a KKL system on the 90's cars. The latest cars use CANBUS. This guide is for the KKL cars. The K line is a bi-directional serial bus with a 10.4kbaud data rate. L line is some sort of RTS/DTS line that wakes up the modules on older cars. As such the BMW is not dierctly compatible with RS232, either in baud or signalling levels, and could damage your PC's RS232 port if directly connected.
With the ignition on, the L Line is not needed, since the modules are already awake. This may not apply to some early E36 and ///M E36 cars, where older modules with low computing power appear to need the L line for Rx data.
It's called the KKL since there are 2 K lines. One for the engine and Gearbox, the other for everything else.
The car in this case is a 1999 and has both the 20 pin and 16 pin OBD diagnostics.
The 16 pin
7 K line (1)(D_TXD2)
8 K Line (2)(D_TXD1)
15 L Line (Not fitted)
The 20 Pin
1 Engine rotation speed
2 OBD2 Diagnostic
7 Oil service and inspection reset
15 L Line
16 IGN 12V
17 K line (2) (D_TXD2)
18 Programming line (PGSP) (not fitted)
20 K line (1) (D_TXD1)
Your car may differ on the 16 pin connector. Check it with a torch. If you don't have the 2nd K line, you can tap into it behind the instrument cluster if you wish.
Which connector do you need?
If you want to talk to the engine and gearbox you only need the 12V, GND and K line found on the 16 pin connector. If you want the ABS, Airbag or anything else, you need the 12V, GND, and both K lines found on the round connector. Handily both K lines can be shorted to get a simple OBD2 K USB adaptor to work.
[For those of you with pin 7 & 8 fitted on your 16 pin OBDII socket, the pins can be shorted in your USB adaptor and you don't need the 20 pin connector. For those of you without pin 8 fitted, pin 25 on the socket X11175 (right instrument cluster connector) carries a White/Violet wire with D_TXD1 and you can add the additional wire to your OBDII port.]
Since you will probably want the full suite of modules INPA software offers, you need a £6 BMW to OBD2 adaptor. This has a wire inside that shorts pins 17 and 20, and connects them to 7.
Here you can see Power and GND (4, 5, 16) are populated and pin 7 (K) pin 15 (L).
So the USB adaptor does the conversion to OBD2 KL protocol. The 16 to 20 pin connects 17 and 20 together and feeds them into the OBD2 convertor.
You can find these adaptors on eBay by searching for usb (kkl, 409.2, OBDII, OBD2) and bmw (OBD, OBD2, OBDII) (adapter, 20 16). Buy something that resembles the photos above. They appear to be available in blue nowadays.
EDIABAS=The communication layer to the car
NCSExpert=Programming of KCM and other stuff. Don't fiddle with this program.
1) Create a system restore point and backup your registry.
2) Use the Worlds Most Resiliant torrent site to download INPA.iso. It is 326MB and the only file matching that word at the time of writing.
3) Extract the iso using winrar to a folder called INPA_CD. Place it on C:\.
Open the folder C:\INPA_CD\Programminstallation and run setup.
Click through all the options, install INPA, EDIBAS and NCSExpert as a minimum (I left the install options as default Full Installation). When prompted, tell it you are using OBD and tick the USB to Serial box. Make sure you keep the add desktop icons ticked.
4) Complete the installation and go to C:\EDIABAS\Hardware\OBD. Open USB-OBD.pdf and follow the instructions to change the latency timer from 16ms to 1ms. Force the USB/serial adaptor to COM1.
5) Run OBDSetup.exe. Do not close the DOS box yet. If it says "Warning, some values do not match, malfunction can occur" then the registry needs to be hand edited until those values match. It's DWORD values like buffer sizes and FIFO settings. Run OBDSetup again to verify all the warnings have gone away. Reboot if you have changed the registry.
6) Add the Environment variable C:\EDIABAS\BIN to your system.
7) Open the file OBD.ini from C:\EDIABAS\BIN add in the UBAT item manually. Check the Hardware=USB
You have now installed the EDIBAS communication handler, configured all of it's FIFO settings, and installed the INPA "whitescreen" framework.
8) Now you need to install the guts of INPA.
Open C:\INPA_CD\Referenz\INSTALL and run Installprog.exe. Chose the English language and install BMW Group Rectification programs UK. Select Upgrade or prefereably Complete when possible. Complete and exit the installation program.
Now when you run INPA from the desktop icon you should see INPA and EDIABAS load (green icon by the clock), and along the bottom of INPA you can select your car and the modules therein.
9)Wah! It's not working?
If you get EDIABAS initialising errors you need to check the registry DWORDS above, and the USB/Serial latency timer.
If you get INPA IFH-0018 INITIALIZATION ERROR then check the com port.
Download a file called INPA_FAQ for detailed error code help.
Use Teraterm to open COM1 at 9600 baud to see if you can echo characters to prove you are connected to the car.
1) The S52 engine uses the MS 42.0 Engine ECU, which can be found in the E36 menu, by pressing Shift+F9. The E39 and E36 menu is in there too.
2) Don't reset the engine adaptations while it's running, so says BMW.
3) A replacement or used rain sensor needs to be reset (initilised) to the screen.
4) This program also installs NCS expert which can be used to code options, I will write a seperate entry on KCM when I get time.
5) I was flapping about not being able to talk to my engine ECU so I installed the USA group rectifications profile over the UK one. They appear to be the same
6) With this software you can do absolutley everything, including triggering airbags and firing the SRS. Get in read codes, clear them. Don't go stomping around in your size tens. If it ain't broke don't fix it.
7) I would probably shy away from drastic re-coding using this system as the shielding on the interface looks a little light and data corruption is not something you want.
8) Some people have reported that installing old versions over new versions causes errors with scripts not being found. Follow the above guide to the letter and you will not need to install an old version over the new one.
Here are some pictures.
Some details are in German (like the above). Most are in English. The last entry there is Sporadic Fault for example.
Here is the registry entry. Put this into a file called serial.reg, right click and choose add to registry, after renaming your old one as serial_old.
You could make some interesting products with your knowledge. :craig:
Edit: you would not beleive how the costs mount up when it comes to making PCBs. I know becuase it's what I do for a living.
PCB layout, design check, PCB manufacture, component sourcing, assembly... Several thousand £ for an initial run, but unit costs drop if you have thousands of PCBs to make.
wow. good write up. I have INPA/EDIABAS/NSC Expert sitting on my computer. just too lazy to instal. lol.
lots of fun stuff you can do with that suite, I've been having fun w/ NCS expert myself
is anyone running this on Vista?
You shouldn't have a problem on vista 32 bit.
I have Inpa, DIS, and SSS all running on 64bit Windows 7, if only NCS Expert would run ona 64 bit machine!
Edit more pics:
Is there a way to get the NCS Profiles added to NCS?
I installed NCS, but it only has 1 Profile (Expertenmodus),
I am looking to get Profiles for the E46 and all others if possible...
Thanks in advance
Can anyone confirm that NCS works on a laptop with windows 7? I tried putting it in compatibility mode and it still wont open.
I keep getting the "check your computer to see if it is 32bit or 64bit then contact the publisher for the correct software version"
And do you guys know if this wire is sufficient for NCS and Ediabas/INPA
Yes the cable is suitable.
INPA and NCS both use the EDIABAS communications layer. If INPA is talking to the car, NCS will be able to talk to the car.
I don't know about win 7/xp64/vista64 support for NCS or INPA. I can't help with Win 7 since my laptop uses XP32. See post 9.
I did not test my installation since i do not have the cables yet.
USB OBD2 is not VAG specific.
Your eBay USB OBD2 adaptor does not need to mention BMW in the title, or in the description
By law is all post 1999 EU cars (1996 US) support OBD2.
Note: Only Engine/Box/Emmisions ECUs must be OBD2 to comply with that law.
BMW 1998 on (E46/facelift E39) are fully OBD2 for all modules.
To answer my previous question.... NCSExpert is not compatible with windows 7 64bit. If you want to run it, you would need a 32bit OS.
And you cannot just use any OBDII cable (like the amazon one I purchased, they give communication errors). You need to get a cable that is designed for EDIABAS/INPA or BMW. These cables have certain pins soldered that allow communication for coding etc.. Just as Arty posted in the first post..
You might be able to use any OBD cable for simple diagnostics though.
To talk to your E39, E46 and later, all you need to do is connect the K line transceiver to all the data pins the car has.
For 1996+ E36 US models you can talk OBD2 to the DME and EGS.
So, you end up being able to communicate, but can you actually program the car? DRLs and so...
Can you reset SES, SRS, ABS...?
|All times are GMT -5. The time now is 05:18 AM.|
Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2014, vBulletin Solutions, Inc.