BMW Forums : BimmerForums banner

1 - 20 of 30 Posts

·
Registered
Joined
·
6 Posts
Discussion Starter #1 (Edited)
I have 1999 E46 with ELM327 OBDII cable and Scanmaster software. It works fine with the software. No fault codes etc. so I'm happy. When I use the same software with the 20 pin connector adapter on my 1997 E36 it does not connect. Any ideas why?

Thanks for all your ideas and detailed response - but I take it that it is a no-no to try and get my E36 to connect.
 

·
Registered
Joined
·
1,500 Posts
Yes. The E46 uses 1 wire for bi directional communications using the OBD2 ISO protocol.

The E36 has separate Rx and Tx ports, and I don't think operates collision detection to prevent the units talking while they are receiving. There is also a third data line which may or may not be redundant. They are OBD2 compliant, however the modern adaptors use a single data line, so in theory you need a second TH3122 for the interface. I've not gotten to the bottom of it all yet, as to how off-the-shelf adaptors can be used on E36.
 

·
Registered
Joined
·
8,981 Posts
It does use more than one line, it has 2 separate K buses which are linked with a jumper cable in the ADS 20 pin plug, but the OBD2 code functionality in Euro cars is disabled.
I have a feeling you may be right about the 2 wires/buses being used due to overcrowding of the data line.

Any US car from 1996 will work with one of those readers, but the Euro spec wasn't fully OBD2, so missed out on post cat lambda sensors, the check engine light, and the easy OBD2 code reading.

If the OBD2 code reading was disabled via the loom / wires used, it could be interesting, as there would be a way to make it function, but it seems that OBD2's ISO protocol was barred, and only BMWs "DS2" functions.
 

·
Registered
Joined
·
1,500 Posts
Very interesting slant that OBD2 messages are not supported in EU cars !

I'v checked the wiring diagrams, and can't see a difference between post 1996 EU and US E36.

The OBD2 functionality and whether it is disabled is interesting. OBD1 and OBD2 both use the same ISO9141 communications protocol, therefore all E36 should at least be able to accept the voltages and timing of ODB2 (haha probably). After all the M52 engine ECU is the same hardware and PN in US and EU models, as are 95% of the other ECUs.

So is the message itself different for DS2? If so INPA allows you to select ADS as your interface and that should change the packet headers and footers and message content to suit EU cars.

Assuming the vehicle and the adaptor are electrically compatible (full duplex on Rxd and Txd would probably be the pivoting feature), then INPA or SSS should be able to format the message to suit the EU models.
 

·
Registered
Joined
·
8,981 Posts
Very interesting slant that OBD2 messages are not supported in EU cars !

I'v checked the wiring diagrams, and can't see a difference between post 1996 EU and US E36.

The OBD2 functionality and whether it is disabled is interesting. OBD1 and OBD2 both use the same ISO9141 communications protocol, therefore all E36 should at least be able to accept the voltages and timing of ODB2 (haha probably). After all the M52 engine ECU is the same hardware and PN in US and EU models, as are 95% of the other ECUs.

So is the message itself different for DS2? If so INPA allows you to select ADS as your interface and that should change the packet headers and footers and message content to suit EU cars.

Assuming the vehicle and the adaptor are electrically compatible (full duplex on Rxd and Txd would probably be the pivoting feature), then INPA or SSS should be able to format the message to suit the EU models.
DS2 might be a format of ISO, but it has a greater functionality. The exact messages / packet sniffing isn't something I've got into, but there are people making their own communication devices.
You are correct that the M52 / Siemens ECU is the same hardware, but it would seem this functionality is enabled or disabled with the coding/SSS when the country code (or Vehicle Order- VO) is set.

I believe all of BMWs diagnostics use their DS2 protocol, the headers would include the Bus Index (most modules will have a stick on them with the Index written on it)

There will be a difference between the codes, as an OBD2 reader will just get a P code between 0-999 (and more for the BMW specific codes)
http://endtuning.com/obdcodes.html

On the flip side, the Siemens MS41 (328 M52 ecu) only has up to 255 codes
http://endtuning.com/bmwcodes.html#MS41

Obviously there will be 8 bit "slots" in the eeprom (I believe about 12 or 14) which can be filled by an 8 bit number.

Because the OBD2 code reader does not need to be told it's talking to a BMW or MS series, it can't be taking the 8 bit number and translating it into one of the thousand plus P codes, there has to be a separate store of P and DS2 codes.
 

·
Registered
Joined
·
1,500 Posts
Having looked at the chatter and INPA logs, there is a lot of data passed beyond the fault code. Here you can see an INPA error log, it lists number of occurences, sporadic/constant fault, engine speed and so on. This will obviously be spread across a number of messages packetised in the relevant comms protocol. In this case it was a 1999 E46 over OBD2.




I'm trying to say that potentially (depending on ECU model - age related) they are way beyond 256 'daughter' messages in scope, within the bounds of an 8 bit recorded fault code in the link.

However, if the goal today is not to guess what the EU MS41 can do rather figure out how to talk DS2 to it on the cheap, I'm rather peturbed by finding this unsubstantiated tidbit here.
Now I understand BMW only decided to institute OBD to conform to californian emission standards and did so rather reluctantly as you only get the bearest minimum on the OBD.

I also believe E39's use the more 'in house' DS2 standard of communication with the car, and contain everything you could ever want to have a converstation to the car with, again through the OBD socket but using 9600,e,8,1 on a standard COM, instead of the 10400 n,8,1 but using the same K/L line wires.
If the baud rate has been clobbered to 9600 from ISO9141 10.4k, this immediately means TH3122 ISO9141 compliant transceivers ICs (~£1 each at Farnell) are not compatible with DS2, and a few of them in full duplex would not be a suitable interface.

A simple level translator would be the sort of thing needed.
 

·
Registered
Joined
·
8,981 Posts
Some of those timestamps are available to OBD2 systems under the name of "freeze frame data", and the frequency counter for errors is also 8 bit (recording up to 255 occurances)

The error codes underneath some of those errors show 10 bytes, so it seems reasonable to think for each error, a 10 byte message is sent detailing the module, code, frequency, and freeze frame.

I think I might have had some BMW diag training docs, but they are usually bare bones minimum to keep the techs up to speed of working the kit, rather than building their own ones.
 

·
Registered
Joined
·
1,500 Posts
I've seen a few schematics too, for 'OBD1' (Probably DS2) and most are based around level shifters, with no baud rate modifiers.
 

·
Registered
Joined
·
171 Posts
just trying to make sense of this being a novice with this side of electronics; am i right in thinking that an OBDI handheld system will be able to work with the BMW DS2?
 

·
Registered
Joined
·
1,500 Posts
Allegedly so according to what I read on another site today. OBD1 - being totally proprietary to BMW - is DS2. I've yet to confirm this.

It was certainly the high price of the proprietary connector, interface and manufacturer's software independent garages faced that forced the relevant regulatory body to mandate OBD2 used a standard 16 pin connector and supported a standard bunch of generic fault codes over ISO9141.
 

·
Registered
Joined
·
1,500 Posts
Allegedly so according to what I read on another site today. OBD1 - being totally proprietary to BMW - is DS2. I've yet to confirm this.

It was certainly the high price of the proprietary connector, interface and manufacturer's software independent garages faced that forced the relevant regulatory body to mandate OBD2 used a standard 16 pin connector and supported a standard bunch of generic fault codes over ISO9141.
 

·
Registered
Joined
·
1,500 Posts
Just adding this document here, as it's the most relevant thread.

It's concerning the ADS serial interface that BMW use on the older ECU/cars.

It is all in German but handy

from rv8flyboy who can supply rs232->ADS interfaces
Thanks I actually got linked that by DavidMC just yesterday. I will this weekend attempt to get a PCIExpress RS232 card configured with the necessary IRQ and physical address setting that ADS interfaces seem to need to see.

I don't know if one of the many adaptors languishing in my spare room is OBD1 capable, but I will try to find out if one rather compicated one (it has a GAL) is OBD1. Wore case I have found this but it's another £60 adaptor.

 

·
Registered
Joined
·
8,981 Posts
I've just bought one of them, so I should have the full suite of leads.
I've already got an rs232 ediabas lead, a USB DCAN lead with the ethernet pin adaptor, and that rs232 ->ADS/OBD should replace the ediabas one.

There's always going to be a bit of switching to be done,
STD:ADS for old cars
STD:OBD for most stuff past 1995-ish.
and STD:OBD / USB Com port for DCAN, but even BMW need to swap between the yellow head and OPS so I can't really complain.
 

·
Registered
Joined
·
8,981 Posts
My E36 was hanging on everything, I think only the ABS would talk to it. Other similar E36s would scan through fine, so it's not solely down to the lead.

I have it set up as STD:OBD, and generally it works fine with most 96 onwards cars, but pre-95 it varies.

If you wanted to flip, you'd need to edit the .ini file, I think it was the obd.ini, but either way, you'll spot it in one of the files.
 

·
Registered
Joined
·
1,500 Posts
My E36 was hanging on everything, I think only the ABS would talk to it. Other similar E36s would scan through fine, so it's not solely down to the lead.

I have it set up as STD:OBD, and generally it works fine with most 96 onwards cars, but pre-95 it varies.

If you wanted to flip, you'd need to edit the .ini file, I think it was the obd.ini, but either way, you'll spot it in one of the files.
Just so that I understand, do you have to reinstall INPA framework to switch to the ADS interface?

Or do you just edit the OBD.ini?
Code:
[OBD]
Port=Com1
Hardware=OBD  		//USB 
RETRY=ON 
//UBAT=OFF
 
1 - 20 of 30 Posts
Top