![]() |
![]() |
|
|
||||||
|
DIY: Do It Yourself
Post here to share or improve your wrench turning skills! All BMW E46 DIY tips, tales, and projects discussed inside. Learn to work on your car and know the right BMW parts you will need! |
![]() |
|
|
Thread Tools | Search this Thread |
Rating:
|
Display Modes |
|
|
#1 |
|
Registered User
|
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.
Background: The protocol 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 The car in this case is a 1999 and has both the 20 pin and 16 pin OBD diagnostics. The pinouts The 16 pin 4 GND 5 GND 7 K line (1)(D_TXD2) 8 K Line (2)(D_TXD1) 15 L Line (Not fitted) 16 12V The 20 Pin 1 Engine rotation speed 2 OBD2 Diagnostic 7 Oil service and inspection reset 14 12V 15 L Line 16 IGN 12V 17 K line (2) (D_TXD2) 18 Programming line (PGSP) (not fitted) 19 GND 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. The software. EDIABAS=The communication layer to the car INPA=Module interface 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 Code:
[OBD] Port=Com1 Hardware=USB RETRY=ON UBAT=OFF 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. Notes: 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. Code:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Serial] "ErrorControl"=dword:00000000 "Group"="Extended base" "Start"=dword:00000001 "Tag"=dword:00000001 "Type"=dword:00000001 "RxFIFO"=dword:00000008 "ForceFifoEnable"=dword:00000001 "PermitShare"=dword:00000000 "LogFifo"=dword:00000000 "TxFIFO"=dword:00000008 Last edited by Arty; 06-11-2010 at 07:36 AM. |
|
|
|
|
|
#2 |
|
Registered User
|
You could make some interesting products with your knowledge.
__________________
|
|
|
|
|
|
#3 |
|
Registered User
|
I am, but they aren't ready yet
![]() 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. Last edited by Arty; 06-20-2010 at 05:56 AM. |
|
|
|
|
|
#4 |
|
Registered User
Join Date: Oct 2006
Location: Woodland Hills < SFV < LA < SoCal
Posts: 27,196
My Ride: 2001 3 Pedal M54b30
|
wow. good write up. I have INPA/EDIABAS/NSC Expert sitting on my computer. just too lazy to instal. lol.
|
|
|
|
|
|
#5 |
|
Registered User
|
lots of fun stuff you can do with that suite, I've been having fun w/ NCS expert myself
|
|
|
|
|
|
#6 |
|
Registered User
|
|
|
|
|
|
|
#7 |
|
Registered User
|
is anyone running this on Vista?
|
|
|
|
|
|
#8 |
|
Registered User
|
You shouldn't have a problem on vista 32 bit.
|
|
|
|
|
|
#9 |
|
Registered User
|
I have Inpa, DIS, and SSS all running on 64bit Windows 7, if only NCS Expert would run ona 64 bit machine!
__________________
![]() MysterT Huntington Beach, CA |
|
|
|
|
|
#10 | |
|
Registered User
|
Quote:
Edit more pics: ![]() ![]() ![]() ![]() ![]() Last edited by Arty; 08-14-2010 at 05:15 AM. |
|
|
|
|
|
|
#11 | |
|
Registered User
|
Quote:
Hi- 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
__________________
![]() BLESSED & H8'D! |
|
|
|
|
|
|
#12 |
|
Registered User
|
|
|
|
|
|
|
#13 |
|
Registered User
|
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 http://www.amazon.com/gp/product/B00...pf_rd_i=507846
__________________
• Endless Naruto • The Greatest Naruto Anime & Manga Fansite!
• D-Gray-Man • The Ultimate D.Gray-man Fansite! • PS4Lounge.com • The First PS4 Community |
|
|
|
|
|
#14 |
|
Registered User
|
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. |
|
|
|
|
|
#15 | |
|
Registered User
|
Quote:
I did not test my installation since i do not have the cables yet. |
|
|
|
|
|
|
#16 | |
|
Registered User
|
Quote:
![]() 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. Last edited by Arty; 01-25-2011 at 08:32 AM. |
|
|
|
|
|
|
#17 |
|
Registered User
|
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.
__________________
• Endless Naruto • The Greatest Naruto Anime & Manga Fansite!
• D-Gray-Man • The Ultimate D.Gray-man Fansite! • PS4Lounge.com • The First PS4 Community Last edited by EnDLeSs_27; 02-02-2011 at 02:47 AM. |
|
|
|
|
|
#18 | ||
|
Registered User
|
Quote:
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. Quote:
For 1996+ E36 US models you can talk OBD2 to the DME and EGS. |
||
|
|
|
|
|
#19 |
|
Registered User
|
So, you end up being able to communicate, but can you actually program the car? DRLs and so...
Can you reset SES, SRS, ABS...? |
|
|
|
|
|
#20 |
|
Registered User
|
|
|
|
|
![]() |
| Thread Tools | Search this Thread |
| Display Modes | Rate This Thread |
|
|