fr3ts0n / AndrOBD

Android OBD diagnostics with any ELM327 adapter
http://fr3ts0n.github.io/AndrOBD/
GNU General Public License v3.0
1.45k stars 310 forks source link

OBD protocol error (NRC:0x11) Service 0x0A not supported #257

Open rustysixslinger opened 8 months ago

rustysixslinger commented 8 months ago

Describe the bug

Receive the error message of "OBD protocol error (NRC:0x11) Service 0x0A not supported" when trying to view and clear DTCs. I am unable to view DTCs. When trying to clear DTCs, error message is shown but DTCs are cleared when the error message is closed.

To Reproduce

Steps to reproduce the behavior: Attempt to view or clear DTCs.

AndrOBD Debug log files

Log file with FINE logging option attached. Both trying to view and then clearing DTCs is included in the log file. AndrOBD.log.1.txt .

Important details on your environment:

Additional context

I AM able to view live OBD data without error or issue which makes this issue odd. I know that the log file shows that there are zero DTCs to display but the application will still not show them when the MIL is on. Clearing, and getting the error, clears the MIL and DTCs.

Issue is present AndrOBD v2.6.7, v2.6.6 and v2.6.5 in Android version 13 and 14. Issue is not present, and all works as should, in v2.6.4 in Android version 13 or 14. Or at least the version where Pending and Perm codes were separate functions.

rustysixslinger commented 8 months ago

On doing some further research on this, it appears that the response of 7F0A11 is being sent back because my ECU does not support PDTCs. PDTCs first started to be introduced in 2010 as a slow 3-year rollout to then have them to be mandatory. This also could resolve issue #246 with the 2008 RAV4.

Just spitballing, but is it possible to catch this response, ignore and move on or possibly not perform PTDC checks if data is received indicating that the ECU is pre 2010?

SpookySkeletons commented 8 months ago

Is there a quick way in source to zap this check out?

rustysixslinger commented 8 months ago

Is there a quick way in source to zap this check out?

Start with looking at all references to OBD_SVC_PERMACODES

rustysixslinger commented 8 months ago

Log file attached that shows that there are to 2 fault codes. Attempted to view twice so that will show in the log file. Fault codes are not displayed after clicking away from the error message in the attached screenshot. Fault codes were cleared, while receiving the same error message, and this is shown in the log file as well as indicated by the MIL light on the dash going off.

AndrOBD.log.0.txt

error

rustysixslinger commented 8 months ago

Last addition to this issue unless anything is requested. I'm not a developer and throwing a new protocol in the mix is a bit beyond me but I can say that I'm 100% sure the issue initially reported is due to permanent DTCs not being supported by my ECU.

permdtcremove

fr3ts0n commented 8 months ago

Ok, I understand that you car does not support OBD service 0x0A (Permanent Fault codes), which it correctly responds with NRC 0x11 (Service not supported). So the app does clear the DFC's, but when reading them (to verify clearance) it gets annswer by the car that it doesn't support mode 0x0A.

The problem does occur after AndrOBD change to combine all 3 versions of fault codes (OBD modes 0x03 (DFC), 0x07 (PENDING DFC), 0x0A (PERMANENT DFC))

Since the response if NRC 11 usually is a serious problem for OBD diagnostics, I'll have to find a way to silently accept it in this case ...

fr3ts0n commented 8 months ago

Test version is availabe here: https://t.me/c/1434285001/2318

Please verify if the fix matches your needs

rustysixslinger commented 8 months ago

I don't have a telegram account and can't access/download the test/beta version without one. I'll attempt to sign up to the service and report back if I can get it downloaded, installed and tested.

edit And thank you for working on getting this sorted out and thank you for creating AndrOBD. It's a great program that has provided a great service to many people. :+1:

tjbp commented 7 months ago

Just wanted to chip in that I've had this problem with two cars (a 2007 Ford Fusion (Europe) and a 2004 Peugeot 206) - the test version fixed the problem for me.

rustysixslinger commented 4 months ago

The latest release, and I thank you for publishing it, still did not solve the issue stated. From what I've seen, suppression of the error was stopped but continuation of checking for non-perm DTCs and reporting them back was also skipped.

Can I give you at least a small recommendation? Provide an option in the application settings (enabled by default to check for) to disable checking for perm DTCs. That's it. Period.

I'll send you my code to get this to work if you'd like but that's all I really did, commented all references in your code to pull permanent DTCs.

As said before I don't do telegram so if you want/need feedback then provide it here.