2 OBD2 devices trough splitter ( safe ?? )
#1
AudiWorld Junior Member
Thread Starter
Join Date: Apr 2018
Posts: 34
Likes: 0
Received 0 Likes
on
0 Posts
2 OBD2 devices trough splitter ( safe ?? )
Hello!
I have a question nobody could answer so far, maybe someone have the knowledge i'm searching
if i connect a data logger to get statistics of my driving in real time in my phone ( using a bluetooth obd2 reader and the DASH app ) and a hud to display speed in my windshield using also an other obd2 both connected trough a obd2 splitter, i i understad that both devices will start querying data simultaneously to the same obd2 port trough the splitter.
What happens if both devices query at the same time different parameters and the combination of the collided bits creates a damaging instruction? is it possible? can a bad request accidentally reprogram stuff or change values to the car computer? or it is safe to us the splitter and if there's a collision, devices will just display wrong information for one second? not affecting the car.
I'm using this hardware in a Audi a6 c7 4g:
OBDLINK LX
https://www.google.de/url?sa=t&sourc...2gboiC0lOuYTqV
and this hud:
with this splitter:
thanks!!
I have a question nobody could answer so far, maybe someone have the knowledge i'm searching
if i connect a data logger to get statistics of my driving in real time in my phone ( using a bluetooth obd2 reader and the DASH app ) and a hud to display speed in my windshield using also an other obd2 both connected trough a obd2 splitter, i i understad that both devices will start querying data simultaneously to the same obd2 port trough the splitter.
What happens if both devices query at the same time different parameters and the combination of the collided bits creates a damaging instruction? is it possible? can a bad request accidentally reprogram stuff or change values to the car computer? or it is safe to us the splitter and if there's a collision, devices will just display wrong information for one second? not affecting the car.
I'm using this hardware in a Audi a6 c7 4g:
OBDLINK LX
https://www.google.de/url?sa=t&sourc...2gboiC0lOuYTqV
and this hud:
with this splitter:
thanks!!
#2
AudiWorld Junior Member
Thread Starter
Join Date: Apr 2018
Posts: 34
Likes: 0
Received 0 Likes
on
0 Posts
Hi all again.
I've been investigating the topic and i have to say it's very interesting.
Here's what i found. Please, if there's an expert that can correct me i will be very gratefull.
Basically i'm scared i can break the car plugging 2 obd devices via a splitter. As far as i Know there are 2 ways i could break the car.
1) a overlapping query from the two devices create a instruction that happens to be a rewrite or programming one , the car accepts it and messes anything with this reprogramming
2) electrical damage: a pike in voltage when both devices throw a 1 ( 5v ) or something like that
I've learned that in my case, my Audi works OBD via the CAN bus, basically it has to busses, one high that can allocate speeds up to 500kb and a low bus that can get a bandwith of 200kb.
As far as i learned, different systems at the car are wired to both busses and that's how you comunicate with it.
So basically, from the 12 pins of the obd, i'm using only 1 or 2 with my devices ( a part from the ground and 5v pins )
To transmit information through the busses there's a protocol that the car follows and the devices should follow. Among other things, this protocoll defines how long can be a information frame , how it starts, and how it ends. and where goes every part of information. Well, the important thing regarthing point 1) is that there are 16 bits of CRC ( circle redundancy check ) that basically validates that the instruction sent is what the device intended to do so, and basically it does that making a sum or a matematical operation between the other bits and putting the result in the CRC. If when received the , the CRC that is calculated again from the reciver doesnt match with the transmitted one, the instruction is disregarthed because it's corrupt. so... even if both devices overlap two comunications ( assuming they are not following the protocol of not overlaping ) then the resulting instruction would be rejected by the car as the CRC would not match with the corrupted instruction. In order to damage the car with method 1) it should happen the lottery of having a collision of 2 instructions, that the collision a) creates a valid instruction b) the instruction is destructive and not consultive c) the 16 bits of CRC are exactly the ones that would be with this instruction. That is basically that from a random collision ( because we can assume it's random and not intended ) more than 35 + 8 bytes bits should align perfectly to create a CRC validated damaging instruction. That probability is arround 0,00000000000072 % which if a collision happen every second ( that happens every minute or more ) would take over 200.000 years to produce a valid damaging instruction that the car would acknowledge and process.
So 1 ) NOT A PROBLEM
for reason number 2) Electrical damage, i know that faulty OBD dongles had fried car computers before. I'll assume that both devices i bought are not cheap chinese copyes, actually one is one of the best obd bluetooth dongle for 90€ and the other is a 40€ simple hud are not defective or low tested for electrical problems. It only remains what happens when both devices transmit a 1. Basically they will both be connecting the 5v line of the obd to the CAN bus , to transmit a 1 ( 5v ) , that there are two connections instead of one doesnt change the intensity nor the voltage, actually it's like connecting the 5v line to the bus with 2 cables instead of one and that gives the same voltage and amperage as a result. So i guess 2) NOT A PROBLEM
How do you see this reasoning? is it valid or it have any flow i don't see?
thanks!!
PD: i attach the documentation that explains how works CAN bus communications here:
https://drive.google.com/file/d/1iVw...ew?usp=sharing
I've been investigating the topic and i have to say it's very interesting.
Here's what i found. Please, if there's an expert that can correct me i will be very gratefull.
Basically i'm scared i can break the car plugging 2 obd devices via a splitter. As far as i Know there are 2 ways i could break the car.
1) a overlapping query from the two devices create a instruction that happens to be a rewrite or programming one , the car accepts it and messes anything with this reprogramming
2) electrical damage: a pike in voltage when both devices throw a 1 ( 5v ) or something like that
I've learned that in my case, my Audi works OBD via the CAN bus, basically it has to busses, one high that can allocate speeds up to 500kb and a low bus that can get a bandwith of 200kb.
As far as i learned, different systems at the car are wired to both busses and that's how you comunicate with it.
So basically, from the 12 pins of the obd, i'm using only 1 or 2 with my devices ( a part from the ground and 5v pins )
To transmit information through the busses there's a protocol that the car follows and the devices should follow. Among other things, this protocoll defines how long can be a information frame , how it starts, and how it ends. and where goes every part of information. Well, the important thing regarthing point 1) is that there are 16 bits of CRC ( circle redundancy check ) that basically validates that the instruction sent is what the device intended to do so, and basically it does that making a sum or a matematical operation between the other bits and putting the result in the CRC. If when received the , the CRC that is calculated again from the reciver doesnt match with the transmitted one, the instruction is disregarthed because it's corrupt. so... even if both devices overlap two comunications ( assuming they are not following the protocol of not overlaping ) then the resulting instruction would be rejected by the car as the CRC would not match with the corrupted instruction. In order to damage the car with method 1) it should happen the lottery of having a collision of 2 instructions, that the collision a) creates a valid instruction b) the instruction is destructive and not consultive c) the 16 bits of CRC are exactly the ones that would be with this instruction. That is basically that from a random collision ( because we can assume it's random and not intended ) more than 35 + 8 bytes bits should align perfectly to create a CRC validated damaging instruction. That probability is arround 0,00000000000072 % which if a collision happen every second ( that happens every minute or more ) would take over 200.000 years to produce a valid damaging instruction that the car would acknowledge and process.
So 1 ) NOT A PROBLEM
for reason number 2) Electrical damage, i know that faulty OBD dongles had fried car computers before. I'll assume that both devices i bought are not cheap chinese copyes, actually one is one of the best obd bluetooth dongle for 90€ and the other is a 40€ simple hud are not defective or low tested for electrical problems. It only remains what happens when both devices transmit a 1. Basically they will both be connecting the 5v line of the obd to the CAN bus , to transmit a 1 ( 5v ) , that there are two connections instead of one doesnt change the intensity nor the voltage, actually it's like connecting the 5v line to the bus with 2 cables instead of one and that gives the same voltage and amperage as a result. So i guess 2) NOT A PROBLEM
How do you see this reasoning? is it valid or it have any flow i don't see?
thanks!!
PD: i attach the documentation that explains how works CAN bus communications here:
https://drive.google.com/file/d/1iVw...ew?usp=sharing
Thread
Thread Starter
Forum
Replies
Last Post
habu
A6 / S6 (C6 Platform) Discussion
4
08-22-2012 10:06 AM