OBDX Development - Developer Tools and Suggestions

Programs / Tools / Scripts
User avatar
antus
Site Admin
Posts: 8237
Joined: Sat Feb 28, 2009 8:34 pm
cars: TX Gemini 2L Twincam
TX Gemini SR20 18psi
Datsun 1200 Ute
Subaru Blitzen '06 EZ30 4th gen, 3.0R Spec B
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by antus »

The phone is dual stack, or moving in the IPV6 direction. It should work in a compatible kind of way, and I've never looked at these tools that you are using, but it's worth keeping in mind as you may need to turn something on for IPV6 support even though you want only IPv4.
Have you read the FAQ? For lots of information and links to significant threads see here: http://pcmhacking.net/forums/viewtopic.php?f=7&t=1396
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

This is something I am not well versed with so I’m not even sure where to start with it.
This would make sense why the windows socket library is screwing up whereas the one I created actually works.

I might try bring it up with the Microsoft devs, but I think they are as stumped as I am. The last comment from them was basically to compare what they are doing to what I am, but I believe they are doing something else in the backend relating to ip4/6 which must be causing the problem.

If I could get the MAC to be using a slightly older iOS.net framework, I’d be able to use it then on the windows Visual Studio install which is what 99% of devs use. It then “should” work as visual studio brings out newer updates due to backwards compatibility. (I believe) which is how plugs still work even if not updated for years.

Maybe if I just don’t update the MAC VS for a long time and then the Microsoft version should eventually be newer.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

I tinkered (way too much) with the iphone socket stuff again in MAUI. And no matter what I do, I cannot disable its requirement to use ipv6. Even when its told to exclusively use ipv4.... it still tries to use ipv6 which has to be some sort of coding issue in the socket library for ios that is not being managed correctly.

Anyways, ignoring that saga again, Iv come to the conclusion that using a 3rd party setup to help with expandability of remote J2534 is a must. I have been coding up the socket interface in PHP, and can easily see how painful it is going to be to manage users + socket connections this way over multiple servers.

So... a bit of googling has brought me to look at Azure Web PubSub.
This service is basically designed to act as a websocket API to easily allow creating groups of people to communicate between one another. This works perfectly for what we are after, and allows setting up different locations almost instantly (big plus).

The only thing I have to do is generate session tokens per user and that each two users (the host and client) are in their own group, and then its basically done!

This creates a secure connection, using extremely low latency servers that is easily expandable into other locations.

I do still need to make some coding on the OBDX site to generate the sessions per client, but after that, its pretty much all done using Azures service :thumbup:
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

I love how when I point out errors in dealership softwares to the actual support/devs, all email contact just stops.

I have recently had someone trying to use Fords FJDS on a Ford BA/BA/FG ECU and have issues being able to detect the ECU.
I have previously tested this with a Ford F150 ECU which worked correctly, but not with a Aus Ford ECU, one would assume it should all work as it was all CANBus.... but of course... never that simple.

Now, for the issue.
When setting a filter in J2534, there is an option to 'state' that the filter being set is 11bit or 29bit.
Fords dealership software completely ignores this... and sets just random values here.
This results in some filters being set as 11bit... some being set as 29bit.. ect when it should all be 11bit.

This is another perfect example of how dealership J2534 software's do not comply to the J2534 standard.
What makes it worse is when I contact these companies about a "Scantool manufacture account" for testing with our tools, I always get the same response of "If your tool is J25345 complaint then it will work". Yet, I always find a flaw which is actually critical to how it is suppose to work.... and get zero responses from that point onwards.

Anyways... its all fixed now.
I will be release an update for FT and GT J2534 APIs tomorrow to address the above so that they work happily in the latest versions of Fords FJDS and FDRS.

As I expect more surprises from Ford somehow, I have gone ahead and purchased a year subscription for FJDS. At least I can use this to test out the remote OBDX J2534 using the Ford software as well to see how it holds up. Or even offer a few shops to use it remotely. :thumbup:
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

It might not look like alot... but theres some cool stuff going on in the background here 8-)

This is just a template socket application using Azures setup which I have integrated my own command structure to allow performing individual actions, so far we have:
1) Ping check which is the total time to client and back (Not just the server).
2) Chat Message to allow live communication between host and client.
3) J2534 Commands which are how we pass the J2534 requests

I implemented the chat section since in the event of key cycle or specific commands needed, this can be communicated via the chat live instead of relying on 3rd party apps.

The ping 'seems' high, but I typically see a latency of around 25ms when I connect to a server in Sydney (As I am in Perth), so its 25ms to the Azure Sydney server, 25ms to the client, and then the same time back to the host again. This does indicate the importance of which server to be using. Azure apparently has a ping bot that I can test off to try automate server connections.
But as this is sending data in chunks, the latency is not as bad as when other solutions may be trying to emulate/simulate a USB port over the internet which does result in severe latency.

The whole system is being built completely off of a JSON string setup, so efficiency is not exactly fantstic, but due to the complexity of the J2534 structures, it will be the best option for now.

Hopefully in the next couple days, I will be able to demonstrate some live programming examples using remote J2534 with the new Azure setup :thumbup:
RemoteAPI.png
RemoteAPI.png (34.5 KiB) Viewed 2052 times
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
Whiteford
Posts: 30
Joined: Mon Jan 21, 2019 10:35 am
cars: Ford Falcon

Re: OBDX Development - Developer Tools and Suggestions

Post by Whiteford »

Tazzi wrote: Anyways... its all fixed now.
I will be release an update for FT and GT J2534 APIs tomorrow to address the above so that they work happily in the latest versions of Fords FJDS and FDRS.
Any update on this? Keen to test out the FT on FDRS
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

Whiteford wrote:Any update on this? Keen to test out the FT on FDRS
J2534 api for both FT and GT updated today. Has been reported to fix the FJDS issue.
There wasn’t any reports of problems on FRDS previously, but If the same problem was affecting, it would have also been fixed.
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
Whiteford
Posts: 30
Joined: Mon Jan 21, 2019 10:35 am
cars: Ford Falcon

Re: OBDX Development - Developer Tools and Suggestions

Post by Whiteford »

Tazzi wrote:
Whiteford wrote:Any update on this? Keen to test out the FT on FDRS
J2534 api for both FT and GT updated today. Has been reported to fix the FJDS issue.
There wasn’t any reports of problems on FRDS previously, but If the same problem was affecting, it would have also been fixed.
I see the 32bit installer on the download page but no 64bit installer?
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

Whiteford wrote:
Tazzi wrote:
Whiteford wrote:Any update on this? Keen to test out the FT on FDRS
J2534 api for both FT and GT updated today. Has been reported to fix the FJDS issue.
There wasn’t any reports of problems on FRDS previously, but If the same problem was affecting, it would have also been fixed.
I see the 32bit installer on the download page but no 64bit installer?
There is no public J2534 software for people to use that requires 64bit, all dealership software (and 3rd part software's) that I have ever used are all 32bit :)
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
User avatar
Tazzi
Posts: 3422
Joined: Thu May 17, 2012 8:53 pm
cars: VE SS Ute
Location: WA
Contact:

Re: OBDX Development - Developer Tools and Suggestions

Post by Tazzi »

Few questions Iv received to OBDX and Envyous regarding the remote flashing

Q) How much time does the latency add?
A) Live demonstrations will be the best way to give real stats. Obviously the larger the ping between host/client, the larger the latency, but Ill be able to give examples of doing full flash via a direct connection and over the web soon.

Q) Can I use it with any J2534 software?
A) Anything that uses the 4.04 J2534 API will be supported (This is 99.999% of softwares). I can add support for 5.00 eventually.

Q) Does the client need to have a laptop? Can they use a cellular hotspot?
A) I am only working on a PC option at this second, I will go to a smartphone client option afterwards.
Cellular will likely cause too much latency, but I can test this out by using my own phones hotspot and see how bad it is.

Q) Can I use this with tuning software?
A) It will need to be J2534 compliant software. (Ie.. will not work with efilive or hp)
Your Local Aussie Reverse Engineer
Contact for Software/Hardware development and Reverse Engineering
Site:https://www.envyouscustoms.com
Mob:+61406 140 726
Image
Post Reply