Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #30 on: April 27, 2011, 04:39:41 PM »
|
|
|
Thanks for the suggestions, but the NefMoto Flasher already handles everything you suggested. It will try to connect three times, and it uses all of the default inter byte, and inter message timings until it can negotiate faster timings later on. Currently we don't get any response from the EDC15 to the fast init or slow init wake up sequences. I have verified that the slow init 5 baud address byte that is sent, is sent with 200.044ms per bit. The spec requires 200ms per bit +/- 1ms. VAG-COM uses 199.934ms per bit for the 5 baud address byte. I have one or two more ideas that we can try in another test release. I would say that the issue is possibly your computer or USB cable, but it is highly unlikely that all people with diesel cars have bad luck with cables.
|
|
|
Logged
|
|
|
|
mtx-electronics
|
|
« Reply #31 on: April 27, 2011, 04:40:15 PM »
|
|
|
The timing I'm using is 1ms between bytes sent and 15ms wait after every reply from ecu before next request.
ok, just saw your reply.. Never mind, it's probably something else them.
|
|
« Last Edit: April 27, 2011, 04:43:05 PM by mtx-electronics »
|
Logged
|
|
|
|
Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #32 on: April 27, 2011, 06:37:36 PM »
|
|
|
orienz, can you confirm that VCDS connects to address 0x01 when you connect to the ECU?
|
|
|
Logged
|
|
|
|
mtx-electronics
|
|
« Reply #33 on: April 28, 2011, 02:39:16 AM »
|
|
|
Check on my car and the address is 01.
|
|
|
Logged
|
|
|
|
Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #34 on: April 28, 2011, 11:20:18 AM »
|
|
|
If anyone else with an FTDI USB cable and an EDC15 ECU would like to help test some change to the NefMoto software, please let me know.
I want to make sure the problem is really with the NefMoto software and the EDC15 ECU and not just one users setup.
|
|
|
Logged
|
|
|
|
Rick
|
|
« Reply #35 on: April 28, 2011, 01:57:09 PM »
|
|
|
I have a Ford Fiesta TDCI with EDC15 sat here, not sure if that is any use?
Rick
|
|
|
Logged
|
|
|
|
Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #36 on: April 28, 2011, 02:16:31 PM »
|
|
|
I have a Ford Fiesta TDCI with EDC15 sat here, not sure if that is any use?
If you have a chance to test, that would be great, but I doubt it will support the VAG protocols. It would be nice to know if it can at least wake up the ECU though. Also, if any EDC15 people get a chance, can you try connecting to your ECU using UniSettings? It is attached in this thread: http://www.nefariousmotorsports.com/forum/index.php/topic,41.0.htmlUniSettings uses the same FTDI libraries as the NefMoto software does, so I would like to see if there is also a problem with this program.
|
|
|
Logged
|
|
|
|
mtx-electronics
|
|
« Reply #37 on: April 28, 2011, 06:02:23 PM »
|
|
|
Here are some logs while trying to init. communications with my EDC15P+ on a Seat Cordoba 1.9TDI 101HP from 2005.
- in the NefMoto file you will find both slow & fast init. with relative log files and saleae logic sessions; - in the VAGCOM file you will find the screen shot with ecu details from vagcom and relative saleae logic session files (There are two saleae files because I repeated the test twice).
I used vagcom 3.xx and it connected in KWP1281, I'm not sure why it does not use KWP2000 (maybe v3.xx is too old or there is some option to force kwp2000??).
I tried to init. the ecu with a basic fast init. & start communication service request with an interbyte time from 5ms up to 15ms and still no reply, this same procedure on several other EDC15 ecu's I've got laying around works flawlessly.
|
|
|
Logged
|
|
|
|
mtx-electronics
|
|
« Reply #38 on: April 28, 2011, 06:04:32 PM »
|
|
|
P.S. The UniSettings prog. does not work on this ecu.
|
|
|
Logged
|
|
|
|
Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #39 on: April 28, 2011, 10:00:26 PM »
|
|
|
Here are some logs while trying to init. communications with my EDC15P+ on a Seat Cordoba 1.9TDI 101HP from 2005.
You are awesome. Now I need to look at some logs. If you send me your email address I can send you a NefMoto test release which may solve some connection problems. I haven't looked at the logs yet though, so it may not fix anything.
|
|
« Last Edit: April 28, 2011, 10:02:05 PM by Tony@NefMoto »
|
Logged
|
|
|
|
Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #40 on: April 28, 2011, 10:29:26 PM »
|
|
|
After looking at the logs, all I can do is hope that my latest test release resolves the issue. In the latest test release my connection timings are more accurate than the ones that VCDS uses for slow init. Anyone willing to try out the test release, please send me a PM or email, with your email address so that I can send you the test release. I also posted all of the Saleae Logic Analyzer recordings I did of connections by different communication software here: http://www.nefariousmotorsports.com/forum/index.php/topic,568.0.html
|
|
|
Logged
|
|
|
|
mtx-electronics
|
|
« Reply #41 on: April 29, 2011, 03:34:51 AM »
|
|
|
After many hours of tests finally I was able to get the ecu identifying itself So here is the full procedure for wakeup & reading ecu identification: 1. Fast init; 2. Start communication service (0x81) with interbyte time of 20ms; 3. Ecu reply; 4. Start diagnostic session service (0x10) in diasgnostic mode (0x85) with interbyte time of 10ms; 5. Ecu reply; 6. Read Ecu Identification service (0x1A) with option data set to all (0x80) with interbyte time of 10ms; 7. Ecu reply; 8. Read Ecu Identification service (0x1A) with option data set to software number (0x94) with interbyte time of 10ms; 9. Ecu reply; 10. Stop communication service (0x82) with interbyte time of 10ms; 11. Ecu reply; So in the end I had to give a longer interbyte time for the start com. service, the timings I used are the minimum which my ecu accepted any less and coms. where too flaky so probably it would be better to use slightly higher values... Attached is a saleae logic session of this working on my car.
|
|
|
Logged
|
|
|
|
Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #42 on: April 29, 2011, 09:29:55 AM »
|
|
|
Awesome! Thanks for letting me know what worked for you.
The KWP2000 spec defines the default minimum P4 tester inter byte time as 5ms, and the maximum as 20ms. The NefMoto software uses the default inter byte time of 5ms until it can negotiate a faster time.
I will put together a test release using the maximum inter byte time instead of the minimum and see if that works.
PS: The MonoScan software also appears to use 5ms for its fast init inter byte timings.
|
|
« Last Edit: April 29, 2011, 09:34:19 AM by Tony@NefMoto »
|
Logged
|
|
|
|
mtx-electronics
|
|
« Reply #43 on: April 29, 2011, 10:35:21 AM »
|
|
|
It's strange but so far this seems to be the only way to get this ecu to communicate with my setup. Also if you look at the VAGCOM logs they are using interbyte times of min. 10ms too so maybe for some of these vag ecu's this is normal (at least edc15p).
The Fiat kwp2000 spec. talks about min. 5ms & max 20ms too but like I mentioned in one of my earlier posts on the EDC15C7 ecu I am using 1ms interbyte time for wakeup and for read/writing flash actually drop down to 0ms with no problems.
|
|
|
Logged
|
|
|
|
Tony@NefMoto
Administrator
Hero Member
Karma: +132/-4
Offline
Posts: 1389
2001.5 Audi S4 Stage 3
|
|
« Reply #44 on: April 29, 2011, 10:46:09 AM »
|
|
|
All of the VAGCOM logs I have seen only show the KWP1281 protocol which doesn't have the same timing requirements as KWP2000. I don't think the issue with the NefMoto software and slow init is related to inter byte timing. The slow init connection only sends one byte at 5 baud, so there is no time between bytes...
You can use the AccessTimingParameters KWP2000 messages to read the current P timings, get the limits of them, and set new timings.
|
|
|
Logged
|
|
|
|
|