Giter Site home page Giter Site logo

freediag's Introduction

freediag's People

Contributors

aaeegg avatar brendanburns avatar brendandburns avatar cfehse avatar fenugrec avatar junofield avatar nsajko avatar sea-kg avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

freediag's Issues

Another compilation issues, that I miss to report

These features are not in C standard and are something GCC precific.

inside diag_general.c:

#ifdef _MSC_VER
 #define ASSIGN_ARRAY(ARR_POSITION)
#else
 #define ASSIGN_ARRAY(ARR_POSITION) [ ARR_POSITION ] =
#endif

const char *dbg_prefixes[] = {
	ASSIGN_ARRAY(DIAG_DEBUGPF_NONE)   "GLOB:",
	ASSIGN_ARRAY(DIAG_DEBUGPF_OPEN)   "OPEN:",
	ASSIGN_ARRAY([DIAG_DEBUGPF_CLOSE) "CLOSE:",
	ASSIGN_ARRAY(DIAG_DEBUGPF_READ)   "READ:",
	ASSIGN_ARRAY(DIAG_DEBUGPF_WRITE) "WRITE:",
	ASSIGN_ARRAY(DIAG_DEBUGPF_IOCTL)  "IOCTL:",
	ASSIGN_ARRAY(DIAG_DEBUGPF_PROTO)  "PROTO:",
	ASSIGN_ARRAY(DIAG_DEBUGPF_INIT)   "INIT:",
	ASSIGN_ARRAY(DIAG_DEBUGPF_DATA)   "DATA:",
	ASSIGN_ARRAY(DIAG_DEBUGPF_TIMER)  "TIMER:",
};

inside diag_l2.c

/* struct to manage L2 stuff, used in here only */
static struct {
	diag_mtx connlist_mtx;            // mutex for accessing dl2conn_list
	struct diag_l2_conn *dl2conn_list; // linked-list of current diag_l2_conn-s
	struct diag_l2_link *dl2l_list;    // linked-list of current L2-L0 links
	bool init_done;
} l2internal = {
#ifdef _MSC_VER
        NULL, NULL, NULL
#else
	.dl2conn_list = NULL,
	.dl2l_list = NULL,	// linked-list of current L2-L0 links
	.init_done = NULL
#endif
};

diag_l0_*_send() ; assert if !len

all (?) L0 drivers have something like

	if (len <= 0) {
		return diag_iseterr(DIAG_ERR_BADLEN);
	}

but len is unsigned (size_t).
Anyway that should be an assert(0) unrecoverable error; L0 should never get 0-length sends.

Same idea in tty_read and tty_write

Software asked to report this..

I use ELM327 over usb on /dev/ttyUSB0

$ sudo ./scantool
scantool: Interface set to default: CARSIM on /dev/null
scantool: freediag version 1.07
scantool: Type HELP for a list of commands
scantool: Type SCAN to start ODBII Scan
scantool: Then use MONITOR to monitor real-time data
scantool: **** IMPORTANT : this is beta software ! Use at your own risk.
scantool: **** Remember, "debug all -1" displays all debugging info.
interface is now ELM on /dev/ttyUSB0
hardware interface: use "set interface NAME [dev]" .
NAME is the interface type and [dev] is
a complete device path such as "/dev/ttyS0" or ".\COM11"
Valid NAMEs are:
MET16 BR1 ELM CARSIM DUMB DUMBT
Valid ports:
0 : /dev/ttyUSB0
scantool: Settings loaded from scantool.ini

scantool> scan

Trying SAEJ1850-VPW:
clock_gettime(): using CLOCK_MONOTONIC_RAW
clock_nanosleep(): using CLOCK_MONOTONIC
diag_os_gethrt() resolution <= 0us, avg ~0us
diag_os_getms() resolution <= ~1ms, avg ~1ms
testing diag_os_millisleep(), this will take a moment...
diag_os_chronoms() : initial time 1459089321879ms; resolution: ~1ms

LM327 v1.4 not recognized! Please report this ! Resp=
L2 connection OK; tring to add SAE J1979 layer...
diag_l2.c:588: Illegal error code: 0x00
.
diag_l3.c:333: Illegal error code: 0x00
.
diag_l3.c:238: Illegal error code: 0x00
.
diag_l3_saej1979.c:716: Read/Write timeout.
diag_l3_saej1979.c:745: J1979 Keepalive failed ! Try to disconnect and reconnect.
diag_l3_saej1979.c:748: Read/Write timeout.
diag_l3.c:110: Read/Write timeout.
Failed to enable SAEJ1979 mode

Trying SAEJ1850-PWM:

LM327 v1.4 not recognized! Please report this ! Resp=
L2 connection OK; tring to add SAE J1979 layer...
diag_l2.c:588: Illegal error code: 0x00
.
diag_l3.c:333: Illegal error code: 0x00
.
diag_l3.c:238: Illegal error code: 0x00
.
diag_l3_saej1979.c:716: Read/Write timeout.
diag_l3_saej1979.c:745: J1979 Keepalive failed ! Try to disconnect and reconnect.
diag_l3_saej1979.c:748: Read/Write timeout.
diag_l3.c:110: Read/Write timeout.
Failed to enable SAEJ1979 mode

Trying ISO14230_FAST:

LM327 v1.4 not recognized! Please report this ! Resp=
Note : explicit bus init not available on clones. Errors here are ignored.
L2 connection OK; tring to add SAE J1979 layer...
ISO14230_FAST Connected.
Connection to ECU established
Exploring Mode 0x01 supported PIDs (block 0x00)...
Exploring Mode 0x01 supported PIDs (block 0x20)...
Exploring Mode 0x02 supported PIDs (block 0x00)...
Exploring Mode 0x05 supported PIDs (block 0x00)...
Exploring Mode 0x06 supported PIDs (block 0x00)...
Exploring Mode 0x08 supported PIDs (block 0x00)...
Exploring Mode 0x09 supported PIDs (block 0x00)...
Requesting Mode 0x01 PID 0x01 (Current DTCs)...
MIL light OFF, 0 stored DTCs
Requesting Mode 1 Pid 0x03...
Requesting Mode 1 Pid 0x04...
Requesting Mode 1 Pid 0x05...
Requesting Mode 1 Pid 0x06...
Requesting Mode 1 Pid 0x07...
Requesting Mode 1 Pid 0x0B...
Requesting Mode 1 Pid 0x0C...
Requesting Mode 1 Pid 0x0D...
Requesting Mode 1 Pid 0x0E...
Requesting Mode 1 Pid 0x0F...
Requesting Mode 1 Pid 0x10...
Requesting Mode 1 Pid 0x11...
Requesting Mode 1 Pid 0x12...
Requesting Mode 1 Pid 0x13...
Requesting Mode 1 Pid 0x15...
Requesting Mode 1 Pid 0x1C...
Requesting Mode 1 Pid 0x20...
Requesting Mode 1 Pid 0x21...
Requesting Mode 1 Pid 0x24...
Requesting Mode 0x02 Pid 0x02 (Freeze frame DTCs)...
ECU 0 is EOBD (Europe) compliant
Requesting Mode 0x01 PID 0x13 (O2 sensors location)...
2 Oxygen (O2) sensors in vehicle
Oxygen (O2) sensor tests not supported
Requesting Mode 7 (Current cycle emission DTCs)...
Currently monitored DTCs:
Non-continuously monitored system tests (failures only): -
Requesting Mode 6 TestID 0x01...
Requesting Mode 6 TestID 0x02...
Requesting Mode 6 TestID 0x03...
Requesting Mode 6 TestID 0x06...
Requesting Mode 6 TestID 0x07...
Requesting Mode 6 TestID 0x08...
Requesting Mode 6 TestID 0x09...
scantool> exit

cannot connect to Chrysler Voyager

fails at scantool_diag.c Line 365 which leads to iInitbus type not supported by HW.
Presently looking at C code to see for myself.
There's a good possibility it has nothing to do with the program.
My 2000 Chrysler Voyager passed the inspection scan but failed autoparts scanner, my sears scanner, the ELM327 with an iPhone and freediag run from Laptop. Chrysler Voyager has OBDII but there's an excellent possibility it has it's own protocol.
I'm lightly familiar with the SCI & CCD data lines.
Thanks ahead for your time Dave

diag_os_unix.c: Posix threads usage, pthread.h

The definitions of the diag_os_[a-z]*(mtx|lock) functions are the only thing that depends on <pthread.h> being included in diag_os_unix.c, thus it would be nice to move them out to a separate file; say, diag_os_unix_pthread.c

use of assert() : move to always-enabled DIAG_ASSERT ?

Follow-up to discussion in PR #71 , as well as issue #68 .

There's already some use of assert() throughout the codebase, but there could be more - for instance more argument validation (such as calling diag_l0_send with len == 0), etc.

To have those always-enabled (regardless of NDEBUG), it could be a better idea to use a new macro or wrapper func with our own assert implementation.

Processes, privilege, and setting realtime scheduling options

Scantool needs real time scheduling.

But a program/process that interfaces with external devices, like scantool, should not have the capability to set process scheduling settings; as that is a theoretical security risk and a cautious user could hardly be expected to give scantool root rights without an audit.

This change fixes the issue by introducing another process, meant to be run with root rights and execute scantool safely: #42

CI / continuous testing would be nice

from PR #64 , the ability to test compilation on MSVC + borland + mingw automatically would be nice.

  • run diag_test binary for some internal tests
  • run the subset of ctest tests that don't require a hardware interface (currently ctest -I 3 ...)
  • running with valgrind for bonus points
  • cppcheck / other static checker for more bonus

L7 KWP71 code uses static variables inside functions

A few functions use a static struct diag_msg and static data[] to construct requests.
These should preferably be caller-provided, and not static.

  • read_MEMORY_req()
  • read_ROM_req()
  • read_ADC_req()

The request struct diag_msg could probably live inside diag_l7_kwp71_read() with only minor changes.
@aaeegg

diag_os_unix : diag_os_periodic() not reentrant

  • diag_os_periodic() is called every ~300ms (ALARM_TIMEOUT defined in diag_os.h);
  • if diag_os_periodic() hasn't completed within 300ms, it is called again regardless.
  • diag_os_periodic() calls extremely non-reentrant-safe functions

Solution is simple : test-and-set a flag on function entry to allow only one running "instance" of diag_os_periodic(). Probably best to make diag_os_*() wrapper functions, that will implement basic mutex / locking primitives ? The os-dependant implementations could then use

  • C11 atomics from <stdatomic.h> ?
  • pthreads on *nix ?
  • native win API functions ?

Error Message asks for bug report

Hi there,

I've been trying to use your software with a cheap ELM327 to usb adapter I've bought off of ebay, and I'm having some trouble getting it to connect to my Ford Fiesta. I've posted some of the logging output below.

`scantool> set show
interface: using ELM
Connect speed: 10400
display: metric units
testerid: using 0xF1
addrtype: functional addressing
destaddr: using 0x33
l1protocol: Layer 1 (H/W) protocol to use ISO9141
l2protocol: Layer 2 protocol to use ISO9141
initmode: Initmode to use with above protocol is FAST
L0 options:
port=/dev/ttyUSB0
elmspeed=38400
scantool> scan

Trying SAEJ1850-VPW:
clock_gettime(): using CLOCK_MONOTONIC_RAW
clock_nanosleep(): using CLOCK_MONOTONIC
diag_os_gethrt() resolution <= 0us, avg ~0us
diag_os_getms() resolution <= ~1ms, avg ~1ms
testing diag_os_millisleep(), this will take a moment...
diag_os_chronoms() : initial time 1500139781966ms; resolution: ~1ms
diag_l0_elm.c:410: Sending ATI to ELM32x at 38400...
Clone ELM found, v1.5. Expect inferior performance
L2 connection OK; tring to add SAE J1979 layer...
diag_l2.c:550: Read/Write timeout.
diag_l3.c:301: Read/Write timeout.
diag_l3.c:214: Read/Write timeout.
diag_l3_saej1979.c:728: Read/Write timeout.
diag_l3_saej1979.c:764: J1979 Keepalive failed ! Try to disconnect and reconnect.
diag_l3_saej1979.c:766: Read/Write timeout.
diag_l3.c:98: Read/Write timeout.
Failed to enable SAEJ1979 mode

Trying SAEJ1850-PWM:
diag_l0_elm.c:410: Sending ATI to ELM32x at 38400...
diag_l0_elm.c:466: no valid version string !! Report this !. Got:

LM37 v1.5
diag_l0_elm.c:469: L0 adapter comms failed.
diag_l2.c:257: L0 adapter comms failed.
scantool.c:714: L0 adapter comms failed.
scantool.c:812: Unspecified Error.
SAEJ1850-PWM Failed!

Trying ISO14230_FAST:
diag_l0_elm.c:410: Sending ATI to ELM32x at 38400...
Clone ELM found, v1.5. Expect inferior performance
Note : explicit bus init not available on clones. Errors here are ignored.
diag_l0_elm.c:686: got error while forcing init: ERR
diag_l0_elm.c:687: Unspecified Error.
diag_l0_elm.c:882: Unspecified Error.
diag_l2.c:650: Unspecified Error.
diag_l2_iso14230.c:736: Unspecified Error.
diag_l2.c:438: Unspecified Error.
scantool.c:724: l2_common_start: l2_StartComm failed
scantool.c:791: Unspecified Error.
ISO14230_FAST Failed!

Trying ISO9141:
diag_l0_elm.c:410: Sending ATI to ELM32x at 38400...
Clone ELM found, v1.5. Expect inferior performance
Note : explicit bus init not available on clones. Errors here are ignored.
diag_l0_elm.c:686: got error while forcing init: ERR
diag_l0_elm.c:687: Unspecified Error.
diag_l0_elm.c:882: Unspecified Error.
diag_l2.c:650: Unspecified Error.
diag_l2_iso9141.c:86: Unspecified Error.
diag_l2_iso9141.c:239: Unspecified Error.
diag_l2.c:438: Unspecified Error.
scantool.c:724: l2_common_start: l2_StartComm failed
scantool.c:761: Unspecified Error.
ISO9141 Failed!

Trying ISO14230_SLOW:
diag_l0_elm.c:410: Sending ATI to ELM32x at 38400...
Clone ELM found, v1.5. Expect inferior performance
Note : explicit bus init not available on clones. Errors here are ignored.
diag_l0_elm.c:686: got error while forcing init: ERR
diag_l0_elm.c:687: Unspecified Error.
diag_l0_elm.c:882: Unspecified Error.
diag_l2.c:650: Unspecified Error.
diag_l2_iso14230.c:736: Unspecified Error.
diag_l2.c:438: Unspecified Error.
scantool.c:724: l2_common_start: l2_StartComm failed
scantool.c:791: Unspecified Error.
ISO14230_SLOW Failed!
scantool.c:1535: Unspecified Error.
Connection to ECU failed
Please check :
Adapter is connected to PC
Cable is connected to Vehicle
Vehicle is switched on
Vehicle is OBDII compliant
scantool> quit`

Unable to build, error in CMakeLists.txt

As the title says, I can't get the program to build. It errors out with two errors;

CMake Error at CMakeLists.txt:117 (install):
install TARGETS given no RUNTIME DESTINATION for executable target
"scantool"

CMake Error at CMakeLists.txt:163 (install):
install FILES given no DESTINATION!

Using gcc version 6.3.0.

l2 iso14230 : keybytes are swapped

KB1 is the first one received, but KB2 is the one that should always be 0x8F for iso14230.
Actually it's probably just a wrong warning message, code seems ok at first glance.

diag_l2_iso14230.c:63:  decode len 7, 0x83 0xFC 0x58 0xC1 0x6D 0x8F 0x94
diag_l2_iso14230.c:158:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:455:  msg 01e01520 decode/rejig done rv=7 hdrlen=3 datalen=3 src=58 dst=FC
Warning : non-standard KB1 received (0x6D) !
diag_l2_iso14230.c:656:  _StartComms Physaddr=0x58 KB1=6D, KB2=8F

modernize cmake buildsys

  • replace "set_source_files_properties" trick with add_definitions()
  • possibly set CMAKE_C_FLAGS also with add_definitions() instead

diag_os_chronoms() abused

The ability to use diag_os_chronoms() as a resettable "stopwatch" is just not used at all. Even the "log" command doesn't ever reset it !

Plus, the L2 code uses it to timestamp incoming messages, which is meaningless if the reference can be reset at any time.

split out CLI as generic lib ?

would be nice to simplify nisprog and allow replacing / hooking into cmd_exit() etc, as well as removing spurious entries like 850, vw, dyno submenus.

assert strcasecmp is present on win32 environments

I recently went to compile and had to modify the source code (for private use, as permitted under the licensing) to compile.

My issue was that strcasecmp was not present on my system.

similar to #70, a simple assert in the win32.cppcheck file would help resolve this, as was done in the linux.cppcheck file.

Useless call for reading Mode 9 CVN

scantool_test.c
Line 159:

if (merged_mode9_info[6]) {
		**get_vit_info**(d_conn, 6, infostring, MODE9_INFO_MAXLEN);
		unsigned cvn_len = **get_vit_info**(d_conn, 6, infostring, MODE9_INFO_MAXLEN);
		if (cvn_len) {
			printf("CVN: ");
			diag_data_dump(stdout, infostring, cvn_len);
			printf("\n");
		}
	} else {
		printf("ECU doesn't support CVN request\n");
	}

Can anybody explain me why get_vit_info() is called twice with the same parameters ?
If this is a bug the first call should be removed.
If this is by purpose a comment should be added which explains the sense of the second call.

iso9141 OBD connection aborts if Mode 5 is not supported

a weird Nissan ECU (4M860) stops responding and requires a re-connect when Mode 5 results are requested.
behavior should be changed to either

  • abort scan when connection fails to resync (01 00) ?
  • re-do init when connection fails to resync ?

cppcheck: remove knownConditionTrueFalse suppression

cppcheck-2.6 can't follow the sequence


	msg = msg->next;
	if (msg == NULL) {
		return CMD_OK;
	}

	msg = msg->next;
	if (msg == NULL) {
		return CMD_OK;
	}

in scantool_850.c:1232 .

see
https://sourceforge.net/p/cppcheck/discussion/general/thread/7ff3948cbc/
and its ticket (fixed and included in cppcheck-2.7)
https://trac.cppcheck.net/ticket/10649

When cppcheck 2.7 eventually lands in more distros, we can remove the suppression.
e.g.
https://tracker.debian.org/pkg/cppcheck

help not helpful enough

from inside the UI, it's not obvious that

"help"
"help <command>"
"<command> ?"

all give different, complementary information about commands : those give "short help", "description" and "usage".

This needs to be improved / unified

Freediag cannot connect to Mazda 6

Freediag cannot connect to Mazda 6 GY.

But another tool can communicate without any problem:
DiagConnected

M:\ProgramFiles\freediag-1.08-win32>freediag.exe
diag_os_gethrt() resolution <= 0us, avg ~0us
diag_os_getms() resolution: ~15ms.
Calibrating timing, this will take a few seconds...
Calibration done.
freediag version 1.08
interface is now DUMB
Note concerning generic (dumb) interfaces : there are additional
options which can be set with "set dumbopts". By default
"K-line only" and "MAN_BREAK" are set.
freediag: Type HELP for a list of commands
freediag: Type SCAN to start ODBII Scan
freediag: Then use MONITOR to monitor real-time data
freediag: **** IMPORTANT : this is beta software ! Use at your own risk.
freediag: **** Remember, "debug all -1" displays all debugging info.
interface is now ELM
port set to: \\.\COM10
freediag: Settings loaded from freediag.ini

freediag> scan

Trying SAEJ1850-VPW:
diag_l0_elm.c:410:  Sending ATI to ELM32x at 38400...
Clone ELM found, v1.5. Expect inferior performance
L2 connection OK; trying to add SAE J1979 layer...
diag_l2.c:546: Read/Write timeout.
diag_l3.c:321: Read/Write timeout.
diag_l3.c:234: Read/Write timeout.
diag_l3_saej1979.c:750: Read/Write timeout.
diag_l3_saej1979.c:789:  J1979 Keepalive failed ! Try to disconnect and reconnect.
diag_l3_saej1979.c:791: Read/Write timeout.
diag_l3.c:119: Read/Write timeout.
Failed to enable SAEJ1979 mode

Trying ISO14230_SLOW:
diag_l0_elm.c:410:  Sending ATI to ELM32x at 38400...
Clone ELM found, v1.5. Expect inferior performance
Note : explicit bus init not available on clones. Errors here are ignored.
diag_l0_elm.c:681:  got error while forcing init: ERR
diag_l0_elm.c:682: Unspecified Error.
diag_l0_elm.c:889: Unspecified Error.
diag_l2.c:648: Unspecified Error.
diag_l2_iso14230.c:755: Unspecified Error.
diag_l2.c:439: Unspecified Error.
scantool.c:721:  l2_common_start: l2_StartComm failed
scantool.c:788: Unspecified Error.
ISO14230_SLOW Failed!
scantool.c:1541: Unspecified Error.
Connection to ECU failed
Please check :
        Adapter is connected to PC
        Cable is connected to Vehicle
        Vehicle is switched on
        Vehicle is OBDII compliant

Debug log

In case it is of any interest, I captured a debug log. The program claims that I have a clone chip. Which device is best with FreeDiag, will I get better results if I buy that? I would like to help the project if I can.

Script started on Tue 27 Oct 2015 07:38:11 PM CET
janus@Fugl ~/freediag/scantool
 % ./diag_test /dev/ttyUSB0
diag_l1.c:63:  entered diag_l1_init
diag_os_unix.c:434:  WARNING: Not running as superuser; things may not work correctly
diag_l2.c:169:  entered diag_l2_init
clock_gettime(): using CLOCK_MONOTONIC_RAW
clock_nanosleep(): using CLOCK_MONOTONIC
diag_os_gethrt() resolution <= 0us, avg ~0us
diag_os_getms() resolution <= ~1ms, avg ~1ms
testing diag_os_millisleep(), this will take a moment...
diag_os_chronoms() : initial time 2862209049ms; resolution: ~1ms
diag_l2.c:236:  l2_open DUMB on /dev/ttyUSB0, L1proto=128
diag_l1.c:105:  diag_l1_open DUMB on /dev/ttyUSB0 with l1 proto 128
diag_l0_dumb.c:135:  open subinterface /dev/ttyUSB0 protocol 128
diag_tty_unix.c:150:  Device /dev/ttyUSB0 opened, fd 3
diag_tty_unix.c:170:  open: TIOCGSERIAL failed: Inappropriate ioctl for device
diag_tty_unix.c:663:  2862209053 : DTR/RTS changed
open dl0d = 0x97d1240
diag_l2.c:367:  _startCommunications dl0d=0x97d1240 L2proto 3 flags=0x0 10400bps target=0x21 src=0xF1
diag_l2_iso14230.c:520:  _startcomms flags=0x0 tgt=0x21 src=0xF1
diag_l2.c:645:  diag_l2_ioctl 0x97d13b8 cmd 0x2101
diag_tty_unix.c:526:  setup: fd=3, 10400bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:349:  Speed set using TCSETS + BOTHER.
Warning : speed off by >= 5% !
diag_tty_unix.c:619:  Speed set to 14400, error~38%
diag_l2.c:645:  diag_l2_ioctl 0x97d13b8 cmd 0x2202
diag_l2.c:645:  diag_l2_ioctl 0x97d13b8 cmd 0x2201
diag_l0_dumb.c:532:  device link 0x97d1240 info 0x97d11f0 initbus type 2
diag_l0_dumb.c:352:  slowinit dl0d=0x97d1240 address 0x21
diag_tty_unix.c:526:  setup: fd=3, 5bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:349:  Speed set using TCSETS + BOTHER.
Warning : speed off by >= 5% !
diag_tty_unix.c:619:  Speed set to 300, error~5900%
diag_l0_dumb.c:457:  _slowinit: address echo error
diag_l0_dumb.c:556:  L0 initbus failed with -1
diag_l0_dumb.c:557: Unspecified Error.
diag_l2.c:688: Unspecified Error.
diag_l2_iso14230.c:721: Unspecified Error.
diag_l2.c:457:  protocol startcomms returned -1
diag_l2.c:463: Unspecified Error.
diag_l2.c:305:  Entered diag_l2_close for dl0d=0x97d1240;
    closing unused dl2link 0x97d10d8.
diag_l2.c:200:  l2_closelink 0x97d10d8 called
diag_l1.c:134:  entering diag_l1_close: ppdl0d=0x97d10d8
diag_l0_dumb.c:186:  l0 link 0x97d1240 closing
Connection to ECU failed (con. (nil))
do_l2_raw_test error. Exiting.
janus@Fugl ~/freediag/scantool
 % ./scantool              
scantool: Interface set to default: CARSIM on /dev/null
scantool: freediag version 1.06
scantool: Type HELP for a list of commands
scantool: Type SCAN to start ODBII Scan
scantool: Then use MONITOR to monitor real-time data
scantool: **** IMPORTANT : this is beta software ! Use at your own risk.
scantool: **** Remember, "debug all -1" displays all debugging info.
hardware interface: use "set interface NAME [dev]" .
NAME is the interface type and [dev] is
a complete device path such as "/dev/ttyS0" or "\\.\COM11"
Valid NAMEs are: 
MET16 BR1 ELM CARSIM DUMB DUMBT 
scantool: Settings loaded from scantool.ini

scantool> set interface elm /dev/ttyUSB0
interface is now ELM on /dev/ttyUSB0
scantool> debug all -1
Debug values: L0 0xFFFFFFFF, L1 0xFFFFFFFF, L2 0xFFFFFFFF L3 0xFFFFFFFF CLI 0xFFFFFFFF
scantool> scan

Trying SAEJ1850-VPW:
diag_l1.c:63:  entered diag_l1_init
diag_os_unix.c:434:  WARNING: Not running as superuser; things may not work correctly
diag_l2.c:169:  entered diag_l2_init
clock_gettime(): using CLOCK_MONOTONIC_RAW
clock_nanosleep(): using CLOCK_MONOTONIC
diag_os_gethrt() resolution <= 0us, avg ~0us
diag_os_getms() resolution <= ~1ms, avg ~1ms
testing diag_os_millisleep(), this will take a moment...
diag_os_chronoms() : initial time 2862256918ms; resolution: ~1ms
diag_l2.c:236:  l2_open ELM on /dev/ttyUSB0, L1proto=4
diag_l1.c:105:  diag_l1_open ELM on /dev/ttyUSB0 with l1 proto 4
diag_l0_elm.c:303:  open subinterface /dev/ttyUSB0 protocol 4
diag_tty_unix.c:150:  Device /dev/ttyUSB0 opened, fd 3
diag_tty_unix.c:170:  open: TIOCGSERIAL failed: Inappropriate ioctl for device
diag_tty_unix.c:526:  setup: fd=3, 38400bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:349:  Speed set using TCSETS + BOTHER.
diag_tty_unix.c:619:  Speed set to 38400, error~0%
diag_l0_elm.c:375:  elm_open : sending ATZ...
diag_l0_elm.c:216:  elm_sendcmd: ATZ
diag_l0_elm.c:239:  received 20 bytes (ATZ


ELM327 v1.5

>
); hex: 0x41 0x54 0x5A 0x0A 0x0A 0x0A 0x45 0x4C 0x4D 0x33 0x32 0x37 0x20 0x76 0x31 0x2E 0x35 0x0A 0x0A 0x3E 
Clone ELM found, v1.5
diag_l0_elm.c:438:  ELM reset success, elmflags=0xe
diag_l0_elm.c:216:  elm_sendcmd: ATE0
diag_l0_elm.c:239:  received 10 bytes (ATE0
OK

>
); hex: 0x41 0x54 0x45 0x30 0x0A 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATL0
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATH1
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATM0
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATTP2
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:520:  ELM ready.
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 4 flags 0x1C6A0
diag_l2.c:367:  _startCommunications dl0d=0x85615f8 L2proto 4 flags=0x0 10400bps target=0x6A src=0xF1
diag_l2_saej1850.c:85:  diag_l2_j1850_startcomms dl2conn 0x85720f0
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2202
diag_l2.c:485:  diag_l2_StartComms returns 0x85720f0
L2 connection OK; tring to add SAE J1979 layer...
diag_l3.c:68:  start protocol SAEJ1979 l2 0x85720f0
diag_l3.c:85:  start protocol SAEJ1979 found
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2021
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2011
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 4 flags 0x1C6A0
diag_l3.c:222:  _request dl3c=0x8572950 msg=0xbff6618c called
diag_l2.c:576:  _request dl2c=0x85720f0 msg=0xbff6618c called
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff6618c msglen 2 called
diag_l2_saej1850.c:175:  diag_l2_j1850_send 0x85720f0 msg 0xbff6618c len 2 called
diag_l2_saej1850.c:207:  diag_l2_j1850_send sending 5 bytes to L1
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 4 flags 0x1C6A0
diag_l1.c:179:  _send: len=5 P4=0 l0flags=0x1C6A0; 0x68 0x6A 0xF1 0x01 0x00 
diag_l0_elm.c:777:  ELM: sending 5 bytes
)iag_l0_elm.c:789:  ELM: (sending string 686AF10100
diag_l2_saej1850.c:236:  diag_l2_j1850_int_recv offset 0x0
diag_l1.c:277:  _recv request len=1024, timeout=250;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 250 ms timeout(+400)...got 1 bytes, 0xDA 
diag_l2_saej1850.c:300: Cant decode msg (ever).
diag_l2_saej1850.c:381: Unspecified Error.
diag_l2.c:583:  _request returns (nil), err -18
diag_l2.c:587: Cant decode msg (ever).
diag_l3.c:331: Cant decode msg (ever).
diag_l3.c:232:  _request returns (nil), err -18
diag_l3.c:236: Cant decode msg (ever).
diag_l3_saej1979.c:713: Read/Write timeout.
diag_l3_saej1979.c:742:  J1979 Keepalive failed ! Try to disconnect and reconnect.
diag_l3_saej1979.c:745: Read/Write timeout.
diag_l3.c:109: Read/Write timeout.
Failed to enable SAEJ1979 mode
diag_l2.c:519:  l2_stopcomm: removing dl2 for ID=0x6A
diag_l2.c:305:  Entered diag_l2_close for dl0d=0x85615f8;
    closing unused dl2link 0x8571e90.
diag_l2.c:200:  l2_closelink 0x8571e90 called
diag_l1.c:134:  entering diag_l1_close: ppdl0d=0x8571e90
diag_l0_elm.c:216:  elm_sendcmd: ATPC
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:131:  link 0x85615f8 closing

Trying SAEJ1850-PWM:
diag_l2.c:236:  l2_open ELM on /dev/ttyUSB0, L1proto=8
diag_l1.c:105:  diag_l1_open ELM on /dev/ttyUSB0 with l1 proto 8
diag_l0_elm.c:303:  open subinterface /dev/ttyUSB0 protocol 8
diag_tty_unix.c:150:  Device /dev/ttyUSB0 opened, fd 3
diag_tty_unix.c:170:  open: TIOCGSERIAL failed: Inappropriate ioctl for device
diag_tty_unix.c:526:  setup: fd=3, 38400bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:349:  Speed set using TCSETS + BOTHER.
diag_tty_unix.c:619:  Speed set to 38400, error~0%
diag_l0_elm.c:375:  elm_open : sending ATZ...
diag_l0_elm.c:216:  elm_sendcmd: ATZ
diag_l0_elm.c:239:  received 16 bytes (

ELM327 v1.5

>
); hex: 0x0A 0x0A 0x45 0x4C 0x4D 0x33 0x32 0x37 0x20 0x76 0x31 0x2E 0x35 0x0A 0x0A 0x3E 
Clone ELM found, v1.5
diag_l0_elm.c:438:  ELM reset success, elmflags=0xe
diag_l0_elm.c:216:  elm_sendcmd: ATE0
diag_l0_elm.c:239:  received 10 bytes (ATE0
OK

>
); hex: 0x41 0x54 0x45 0x30 0x0A 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATL0
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATH1
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATM0
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATTP1
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:520:  ELM ready.
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 8 flags 0x1C6A0
diag_l2.c:367:  _startCommunications dl0d=0x85615f8 L2proto 4 flags=0x0 10400bps target=0x6A src=0xF1
diag_l2_saej1850.c:85:  diag_l2_j1850_startcomms dl2conn 0x85720f0
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2202
diag_l2.c:485:  diag_l2_StartComms returns 0x85720f0
L2 connection OK; tring to add SAE J1979 layer...
diag_l3.c:68:  start protocol SAEJ1979 l2 0x85720f0
diag_l3.c:85:  start protocol SAEJ1979 found
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2021
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2011
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 8 flags 0x1C6A0
diag_l3.c:222:  _request dl3c=0x8572950 msg=0xbff6618c called
diag_l2.c:576:  _request dl2c=0x85720f0 msg=0xbff6618c called
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff6618c msglen 2 called
diag_l2_saej1850.c:175:  diag_l2_j1850_send 0x85720f0 msg 0xbff6618c len 2 called
diag_l2_saej1850.c:207:  diag_l2_j1850_send sending 5 bytes to L1
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 8 flags 0x1C6A0
diag_l1.c:179:  _send: len=5 P4=0 l0flags=0x1C6A0; 0x61 0x6A 0xF1 0x01 0x00 
diag_l0_elm.c:777:  ELM: sending 5 bytes
)iag_l0_elm.c:789:  ELM: (sending string 616AF10100
diag_l2_saej1850.c:236:  diag_l2_j1850_int_recv offset 0x0
diag_l1.c:277:  _recv request len=1024, timeout=250;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 250 ms timeout(+400)...got 1 bytes, 0xDA 
diag_l2_saej1850.c:300: Cant decode msg (ever).
diag_l2_saej1850.c:381: Unspecified Error.
diag_l2.c:583:  _request returns (nil), err -18
diag_l2.c:587: Cant decode msg (ever).
diag_l3.c:331: Cant decode msg (ever).
diag_l3.c:232:  _request returns (nil), err -18
diag_l3.c:236: Cant decode msg (ever).
diag_l3_saej1979.c:713: Read/Write timeout.
diag_l3_saej1979.c:742:  J1979 Keepalive failed ! Try to disconnect and reconnect.
diag_l3_saej1979.c:745: Read/Write timeout.
diag_l3.c:109: Read/Write timeout.
Failed to enable SAEJ1979 mode
diag_l2.c:519:  l2_stopcomm: removing dl2 for ID=0x6A
diag_l2.c:305:  Entered diag_l2_close for dl0d=0x85615f8;
    closing unused dl2link 0x8571e90.
diag_l2.c:200:  l2_closelink 0x8571e90 called
diag_l1.c:134:  entering diag_l1_close: ppdl0d=0x8571e90
diag_l0_elm.c:216:  elm_sendcmd: ATPC
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:131:  link 0x85615f8 closing

Trying ISO14230_FAST:
diag_l2.c:236:  l2_open ELM on /dev/ttyUSB0, L1proto=2
diag_l1.c:105:  diag_l1_open ELM on /dev/ttyUSB0 with l1 proto 2
diag_l0_elm.c:303:  open subinterface /dev/ttyUSB0 protocol 2
diag_tty_unix.c:150:  Device /dev/ttyUSB0 opened, fd 3
diag_tty_unix.c:170:  open: TIOCGSERIAL failed: Inappropriate ioctl for device
diag_tty_unix.c:526:  setup: fd=3, 38400bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:349:  Speed set using TCSETS + BOTHER.
diag_tty_unix.c:619:  Speed set to 38400, error~0%
diag_l0_elm.c:375:  elm_open : sending ATZ...
diag_l0_elm.c:216:  elm_sendcmd: ATZ
diag_l0_elm.c:239:  received 16 bytes (

ELM327 v1.5

>
); hex: 0x0A 0x0A 0x45 0x4C 0x4D 0x33 0x32 0x37 0x20 0x76 0x31 0x2E 0x35 0x0A 0x0A 0x3E 
Clone ELM found, v1.5
diag_l0_elm.c:438:  ELM reset success, elmflags=0xe
diag_l0_elm.c:216:  elm_sendcmd: ATE0
diag_l0_elm.c:239:  received 10 bytes (ATE0
OK

>
); hex: 0x41 0x54 0x45 0x30 0x0A 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATL0
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATH1
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATM0
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:520:  ELM ready.
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l2.c:367:  _startCommunications dl0d=0x85615f8 L2proto 3 flags=0x31 10400bps target=0x33 src=0xF1
diag_l2_iso14230.c:520:  _startcomms flags=0x31 tgt=0x33 src=0xF1
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2101
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2202
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2201
diag_l0_elm.c:634:  ELM initbus type 1
Note : explicit bus init not available on clones. Errors here are ignored.
diag_l0_elm.c:216:  elm_sendcmd: ATTP5
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:216:  elm_sendcmd: ATSH C1 33 F1
diag_l0_elm.c:239:  received 5 bytes (OK

>
); hex: 0x4F 0x4B 0x0A 0x0A 0x3E 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0100
diag_l0_elm.c:587:  received 46 bytes
diag_l0_elm.c:590:  (got BUS INIT: OK
86 F1 12 41 00 98 3B A0 13 50 

>)
diag_l2_iso14230.c:730:  new modeflags=0x0030
diag_l1.c:277:  _recv request len=1024, timeout=100;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 100 ms timeout(+400)...
diag_l2.c:485:  diag_l2_StartComms returns 0x85720f0
L2 connection OK; tring to add SAE J1979 layer...
diag_l3.c:68:  start protocol SAEJ1979 l2 0x85720f0
diag_l3.c:85:  start protocol SAEJ1979 found
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2021
diag_l2.c:645:  diag_l2_ioctl 0x85720f0 cmd 0x2011
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l3.c:222:  _request dl3c=0x8572958 msg=0xbff6618c called
diag_l2.c:576:  _request dl2c=0x85720f0 msg=0xbff6618c called
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff6618c msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff6618c len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x00 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0100
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=60
diag_l2_iso14230.c:261:  before recv, state=1 timeout=160, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=160;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 160 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x00 0x98 0x3B 0xA0 0x13 0x50 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x00 0x98 0x3B 0xA0 0x13 0x50 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x00 0x98 0x3B 0xA0 0x13 0x50 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2.c:583:  _request returns 0x856c778, err 0
diag_l3.c:232:  _request returns 0x856c778, err 0
diag_l3_saej1979.c:717:  keepalive : got 6 bytes, 41 ...
diag_l3.c:125:  start returns 0x8572958
ISO14230_FAST Connected.
debug: L2 connection ID 0x85720f0, L3 ID 0x8572958
Connection to ECU established
Exploring Mode 0x01 supported PIDs (block 0x00)...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66150 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66150 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x00 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0100
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x00 0x98 0x3B 0xA0 0x13 0x50 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x00 0x98 0x3B 0xA0 0x13 0x50 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x00 0x98 0x3B 0xA0 0x13 0x50 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 6 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 6 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x00 0x98 0x3B 0xA0 0x13 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Exploring Mode 0x01 supported PIDs (block 0x20)...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66150 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66150 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x20 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0120
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x20 0xB0 0x01 0xA0 0x15 0x50 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x20 0xB0 0x01 0xA0 0x15 0x50 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x20 0xB0 0x01 0xA0 0x15 0x50 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 6 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 6 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x20 0xB0 0x01 0xA0 0x15 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Exploring Mode 0x01 supported PIDs (block 0x40)...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66150 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66150 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x40 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0140
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x40 0x40 0x00 0x00 0x00 0x4A 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x40 0x40 0x00 0x00 0x00 0x4A 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x40 0x40 0x00 0x00 0x00 0x4A 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 6 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 6 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x40 0x40 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Exploring Mode 0x02 supported PIDs (block 0x00)...
diag_l3_saej1979.c:211:  send 3 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66150 msglen 3 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66150 len=3
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=3 P4=5 l0flags=0x1C6AB; 0x02 0x00 0x00 
diag_l0_elm.c:777:  ELM: sending 3 bytes
)iag_l0_elm.c:789:  ELM: (sending string 020000
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 11 bytes, 0x87 0xF1 0x12 0x42 0x00 0x00 0x58 0x3B 0x00 0x01 0x60 
diag_l2_iso14230.c:278:  after recv, rv=11 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 11
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=11
diag_l2_iso14230.c:316:  Copying 11 bytes to data: 0x87 0xF1 0x12 0x42 0x00 0x00 0x58 0x3B 0x00 0x01 0x60 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 11, 0x87 0xF1 0x12 0x42 0x00 0x00 0x58 0x3B 0x00 0x01 0x60 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=7, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=11 hdrlen=3 datalen=7 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 7 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 7 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x42 0x00 0x00 0x58 0x3B 0x00 0x01 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Exploring Mode 0x05 supported PIDs (block 0x00)...
diag_l3_saej1979.c:211:  send 3 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66150 msglen 3 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66150 len=3
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=3 P4=5 l0flags=0x1C6AB; 0x05 0x00 0x00 
diag_l0_elm.c:777:  ELM: sending 3 bytes
)iag_l0_elm.c:789:  ELM: (sending string 050000
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 11 bytes, 0x87 0xF1 0x12 0x45 0x00 0x00 0x00 0x00 0x00 0x00 0xCF 
diag_l2_iso14230.c:278:  after recv, rv=11 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 11
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=11
diag_l2_iso14230.c:316:  Copying 11 bytes to data: 0x87 0xF1 0x12 0x45 0x00 0x00 0x00 0x00 0x00 0x00 0xCF 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 11, 0x87 0xF1 0x12 0x45 0x00 0x00 0x00 0x00 0x00 0x00 0xCF 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=7, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=11 hdrlen=3 datalen=7 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 7 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 7 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x45 0x00 0x00 0x00 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Exploring Mode 0x06 supported PIDs (block 0x00)...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66150 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66150 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x06 0x00 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0600
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 11 bytes, 0x87 0xF1 0x12 0x46 0x00 0xFF 0x00 0x00 0x00 0x00 0xCF 
diag_l2_iso14230.c:278:  after recv, rv=11 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 11
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=11
diag_l2_iso14230.c:316:  Copying 11 bytes to data: 0x87 0xF1 0x12 0x46 0x00 0xFF 0x00 0x00 0x00 0x00 0xCF 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 11, 0x87 0xF1 0x12 0x46 0x00 0xFF 0x00 0x00 0x00 0x00 0xCF 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=7, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=11 hdrlen=3 datalen=7 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 7 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 7 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x46 0x00 0xFF 0x00 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Exploring Mode 0x08 supported PIDs (block 0x00)...
diag_l3_saej1979.c:211:  send 7 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66150 msglen 7 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66150 len=7
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=7 P4=5 l0flags=0x1C6AB; 0x08 0x00 0x00 0x00 0x00 0x00 0x00 
diag_l0_elm.c:777:  ELM: sending 7 bytes
)iag_l0_elm.c:789:  ELM: (sending string 08000000000000
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 11 bytes, 0x87 0xF1 0x12 0x48 0x00 0x00 0x00 0x00 0x00 0x00 0xD2 
diag_l2_iso14230.c:278:  after recv, rv=11 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 11
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=11
diag_l2_iso14230.c:316:  Copying 11 bytes to data: 0x87 0xF1 0x12 0x48 0x00 0x00 0x00 0x00 0x00 0x00 0xD2 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 11, 0x87 0xF1 0x12 0x48 0x00 0x00 0x00 0x00 0x00 0x00 0xD2 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=7, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=11 hdrlen=3 datalen=7 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 7 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 7 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x48 0x00 0x00 0x00 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Exploring Mode 0x09 supported PIDs (block 0x00)...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66150 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66150 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x09 0x00 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0900
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 11 bytes, 0x87 0xF1 0x12 0x49 0x00 0x01 0x30 0x00 0x00 0x00 0x04 
diag_l2_iso14230.c:278:  after recv, rv=11 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 11
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=11
diag_l2_iso14230.c:316:  Copying 11 bytes to data: 0x87 0xF1 0x12 0x49 0x00 0x01 0x30 0x00 0x00 0x00 0x04 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 11, 0x87 0xF1 0x12 0x49 0x00 0x01 0x30 0x00 0x00 0x00 0x04 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=7, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=11 hdrlen=3 datalen=7 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 7 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 7 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x49 0x00 0x01 0x30 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 0x01 PID 0x01 (Current DTCs)...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x01 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0101
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x01 0x81 0x06 0x80 0x00 0xD2 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x01 0x81 0x06 0x80 0x00 0xD2 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x01 0x81 0x06 0x80 0x00 0xD2 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 6 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 6 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x01 0x81 0x06 0x80 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
MIL light ON, 1 stored DTC 
Requesting Mode 0x03 (Emission DTCs)...
diag_l3_saej1979.c:211:  send 1 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 1 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=1
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=1 P4=5 l0flags=0x1C6AB; 0x03 
diag_l0_elm.c:777:  ELM: sending 1 bytes
)iag_l0_elm.c:789:  ELM: (sending string 03
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 11 bytes, 0x87 0xF1 0x12 0x43 0x14 0x07 0x00 0x00 0x00 0x00 0xE8 
diag_l2_iso14230.c:278:  after recv, rv=11 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 11
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=11
diag_l2_iso14230.c:316:  Copying 11 bytes to data: 0x87 0xF1 0x12 0x43 0x14 0x07 0x00 0x00 0x00 0x00 0xE8 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 11, 0x87 0xF1 0x12 0x43 0x14 0x07 0x00 0x00 0x00 0x00 0xE8 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=7, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=11 hdrlen=3 datalen=7 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 7 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 7 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x43 0x14 0x07 0x00 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
P1407 
Requesting Mode 1 Pid 0x04...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x04 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0104
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x04 0x45 0x10 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x04 0x45 0x10 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x04 0x45 0x10 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x04 0x45 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x05...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x05 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0105
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x05 0x67 0x33 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x05 0x67 0x33 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x05 0x67 0x33 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x05 0x67 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x0B...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x0B 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 010B
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x0B 0x64 0x36 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x0B 0x64 0x36 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x0B 0x64 0x36 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x0B 0x64 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x0C...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x0C 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 010C
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x0C 0x0C 0x34 0x14 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x0C 0x0C 0x34 0x14 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x0C 0x0C 0x34 0x14 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x0C 0x0C 0x34 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x0D...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x0D 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 010D
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x0D 0x00 0xD4 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x0D 0x00 0xD4 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x0D 0x00 0xD4 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x0D 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x0F...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x0F 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 010F
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x0F 0x41 0x17 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x0F 0x41 0x17 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x0F 0x41 0x17 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x0F 0x41 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x10...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x10 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0110
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x10 0x05 0x21 0xFE 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x10 0x05 0x21 0xFE 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x10 0x05 0x21 0xFE 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x10 0x05 0x21 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x11...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x11 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0111
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x11 0x0C 0xE4 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x11 0x0C 0xE4 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x11 0x0C 0xE4 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x11 0x0C 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x13...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x13 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0113
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x13 0x01 0xDB 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x13 0x01 0xDB 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x13 0x01 0xDB 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x13 0x01 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x1C...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x1C 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 011C
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x1C 0x06 0xE9 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x1C 0x06 0xE9 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x1C 0x06 0xE9 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x1C 0x06 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x1F...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x1F 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 011F
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x1F 0x00 0x6E 0x55 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x1F 0x00 0x6E 0x55 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x1F 0x00 0x6E 0x55 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x1F 0x00 0x6E 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x20...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x20 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0120
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x20 0xB0 0x01 0xA0 0x15 0x50 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x20 0xB0 0x01 0xA0 0x15 0x50 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x20 0xB0 0x01 0xA0 0x15 0x50 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 6 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 6 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x20 0xB0 0x01 0xA0 0x15 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x21...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x21 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0121
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x21 0x01 0x47 0x31 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x21 0x01 0x47 0x31 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x21 0x01 0x47 0x31 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x21 0x01 0x47 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x23...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x23 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0123
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x23 0x0C 0xF6 0xED 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x23 0x0C 0xF6 0xED 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x23 0x0C 0xF6 0xED 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x23 0x0C 0xF6 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x24...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x24 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0124
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x24 0x00 0x00 0x00 0x00 0xEE 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x24 0x00 0x00 0x00 0x00 0xEE 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x24 0x00 0x00 0x00 0x00 0xEE 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 6 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 6 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x24 0x00 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x30...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x30 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0130
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x30 0x46 0x3D 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x30 0x46 0x3D 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x30 0x46 0x3D 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x30 0x46 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x31...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x31 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0131
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x31 0x2E 0x69 0x90 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x31 0x2E 0x69 0x90 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x31 0x2E 0x69 0x90 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x31 0x2E 0x69 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x33...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x33 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0133
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x33 0x63 0x5D 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x33 0x63 0x5D 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x33 0x63 0x5D 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x33 0x63 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x3C...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x3C 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 013C
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x3C 0x05 0x94 0x9D 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x3C 0x05 0x94 0x9D 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x3C 0x05 0x94 0x9D 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x3C 0x05 0x94 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x3E...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x3E 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 013E
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x3E 0x05 0x2C 0x37 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x3E 0x05 0x2C 0x37 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x3E 0x05 0x2C 0x37 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x3E 0x05 0x2C 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x40...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x40 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0140
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x40 0x40 0x00 0x00 0x00 0x4A 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x40 0x40 0x00 0x00 0x00 0x4A 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x40 0x40 0x00 0x00 0x00 0x4A 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 6 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 6 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x40 0x40 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x42...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x42 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0142
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x42 0x37 0x6F 0xB0 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x42 0x37 0x6F 0xB0 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x42 0x37 0x6F 0xB0 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x42 0x37 0x6F 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 0x02 Pid 0x02 (Freeze frame DTCs)...
diag_l3_saej1979.c:211:  send 3 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 3 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=3
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=3 P4=5 l0flags=0x1C6AB; 0x02 0x02 0x00 
diag_l0_elm.c:777:  ELM: sending 3 bytes
)iag_l0_elm.c:789:  ELM: (sending string 020200
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 9 bytes, 0x85 0xF1 0x12 0x42 0x02 0x00 0x14 0x07 0xE7 
diag_l2_iso14230.c:278:  after recv, rv=9 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 9
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=9
diag_l2_iso14230.c:316:  Copying 9 bytes to data: 0x85 0xF1 0x12 0x42 0x02 0x00 0x14 0x07 0xE7 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 9, 0x85 0xF1 0x12 0x42 0x02 0x00 0x14 0x07 0xE7 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=5, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=9 hdrlen=3 datalen=5 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 5 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 5 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x42 0x02 0x00 0x14 0x07 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
ECU 0 is EOBD (Europe) compliant
Requesting Mode 0x01 PID 0x13 (O2 sensors location)...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff66180 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff66180 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x13 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0113
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x13 0x01 0xDB 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x13 0x01 0xDB 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x13 0x01 0xDB 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x13 0x01 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
1 Oxygen (O2) sensors in vehicle
Oxygen (O2) sensor monitoring not supported
Requesting Mode 7 (Current cycle emission DTCs)...
diag_l3_saej1979.c:211:  send 1 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661c0 msglen 1 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661c0 len=1
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=1 P4=5 l0flags=0x1C6AB; 0x07 
diag_l0_elm.c:777:  ELM: sending 1 bytes
)iag_l0_elm.c:789:  ELM: (sending string 07
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 11 bytes, 0x87 0xF1 0x12 0x47 0x00 0x00 0x00 0x00 0x00 0x00 0xD1 
diag_l2_iso14230.c:278:  after recv, rv=11 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 11
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=11
diag_l2_iso14230.c:316:  Copying 11 bytes to data: 0x87 0xF1 0x12 0x47 0x00 0x00 0x00 0x00 0x00 0x00 0xD1 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 11, 0x87 0xF1 0x12 0x47 0x00 0x00 0x00 0x00 0x00 0x00 0xD1 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=7, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=11 hdrlen=3 datalen=7 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 7 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 7 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x47 0x00 0x00 0x00 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Currently monitored DTCs: 
Non-continuously monitored system tests (failures only): -
scantool> monitor
Please wait
Requesting Mode 1 Pid 0x04...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x04 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0104
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x04 0x45 0x10 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x04 0x45 0x10 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x04 0x45 0x10 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x04 0x45 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x05...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x05 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0105
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x05 0x68 0x34 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x05 0x68 0x34 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x05 0x68 0x34 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x05 0x68 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x0B...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x0B 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 010B
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x0B 0x64 0x36 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x0B 0x64 0x36 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x0B 0x64 0x36 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x0B 0x64 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x0C...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x0C 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 010C
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x0C 0x0C 0x34 0x14 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x0C 0x0C 0x34 0x14 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x0C 0x0C 0x34 0x14 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x0C 0x0C 0x34 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x0D...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x0D 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 010D
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x0D 0x00 0xD4 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x0D 0x00 0xD4 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x0D 0x00 0xD4 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x0D 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x0F...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x0F 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 010F
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x0F 0x42 0x18 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x0F 0x42 0x18 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x0F 0x42 0x18 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x0F 0x42 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x10...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x10 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0110
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x10 0x05 0x27 0x04 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x10 0x05 0x27 0x04 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x10 0x05 0x27 0x04 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x10 0x05 0x27 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x11...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x11 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0111
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x11 0x0C 0xE4 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x11 0x0C 0xE4 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x11 0x0C 0xE4 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x11 0x0C 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x13...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x13 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0113
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x13 0x01 0xDB 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x13 0x01 0xDB 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x13 0x01 0xDB 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x13 0x01 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x1C...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x1C 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 011C
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x1C 0x06 0xE9 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x1C 0x06 0xE9 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x1C 0x06 0xE9 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x1C 0x06 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x1F...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x1F 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 011F
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x1F 0x00 0x7D 0x64 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x1F 0x00 0x7D 0x64 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x1F 0x00 0x7D 0x64 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x1F 0x00 0x7D 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x20...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x20 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0120
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x20 0xB0 0x01 0xA0 0x15 0x50 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x20 0xB0 0x01 0xA0 0x15 0x50 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x20 0xB0 0x01 0xA0 0x15 0x50 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 6 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 6 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x20 0xB0 0x01 0xA0 0x15 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x21...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x21 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0121
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x21 0x01 0x47 0x31 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x21 0x01 0x47 0x31 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x21 0x01 0x47 0x31 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x21 0x01 0x47 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x23...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x23 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0123
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x23 0x0C 0xCA 0xC1 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x23 0x0C 0xCA 0xC1 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x23 0x0C 0xCA 0xC1 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x23 0x0C 0xCA 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x24...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x24 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0124
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x24 0x00 0x00 0x00 0x00 0xEE 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x24 0x00 0x00 0x00 0x00 0xEE 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x24 0x00 0x00 0x00 0x00 0xEE 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 6 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 6 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x24 0x00 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x30...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x30 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0130
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x30 0x46 0x3D 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x30 0x46 0x3D 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x30 0x46 0x3D 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x30 0x46 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x31...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x31 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0131
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x31 0x2E 0x69 0x90 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x31 0x2E 0x69 0x90 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x31 0x2E 0x69 0x90 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x31 0x2E 0x69 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x33...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x33 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0133
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 7 bytes, 0x83 0xF1 0x12 0x41 0x33 0x63 0x5D 
diag_l2_iso14230.c:278:  after recv, rv=7 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 7
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=7
diag_l2_iso14230.c:316:  Copying 7 bytes to data: 0x83 0xF1 0x12 0x41 0x33 0x63 0x5D 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 7, 0x83 0xF1 0x12 0x41 0x33 0x63 0x5D 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=3, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=7 hdrlen=3 datalen=3 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 3 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 3 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x33 0x63 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x3C...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x3C 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 013C
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x3C 0x05 0xAB 0xB4 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x3C 0x05 0xAB 0xB4 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x3C 0x05 0xAB 0xB4 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x3C 0x05 0xAB 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x3E...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x3E 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 013E
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x3E 0x05 0x54 0x5F 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x3E 0x05 0x54 0x5F 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x3E 0x05 0x54 0x5F 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x3E 0x05 0x54 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x40...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x40 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0140
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 10 bytes, 0x86 0xF1 0x12 0x41 0x40 0x40 0x00 0x00 0x00 0x4A 
diag_l2_iso14230.c:278:  after recv, rv=10 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 10
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=10
diag_l2_iso14230.c:316:  Copying 10 bytes to data: 0x86 0xF1 0x12 0x41 0x40 0x40 0x00 0x00 0x00 0x4A 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 10, 0x86 0xF1 0x12 0x41 0x40 0x40 0x00 0x00 0x00 0x4A 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=6, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=10 hdrlen=3 datalen=6 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 6 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 6 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x40 0x40 0x00 0x00 0x00 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 1 Pid 0x42...
diag_l3_saej1979.c:211:  send 2 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 2 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=2
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=2 P4=5 l0flags=0x1C6AB; 0x01 0x42 
diag_l0_elm.c:777:  ELM: sending 2 bytes
)iag_l0_elm.c:789:  ELM: (sending string 0142
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 8 bytes, 0x84 0xF1 0x12 0x41 0x42 0x37 0x5B 0x9C 
diag_l2_iso14230.c:278:  after recv, rv=8 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 8
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=8
diag_l2_iso14230.c:316:  Copying 8 bytes to data: 0x84 0xF1 0x12 0x41 0x42 0x37 0x5B 0x9C 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 8, 0x84 0xF1 0x12 0x41 0x42 0x37 0x5B 0x9C 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=4, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=8 hdrlen=3 datalen=4 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 4 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 4 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x41 0x42 0x37 0x5B 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0
Requesting Mode 0x02 Pid 0x02 (Freeze frame DTCs)...
diag_l3_saej1979.c:211:  send 3 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661b0 msglen 3 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661b0 len=3
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=3 P4=5 l0flags=0x1C6AB; 0x02 0x02 0x00 
diag_l0_elm.c:777:  ELM: sending 3 bytes
)iag_l0_elm.c:789:  ELM: (sending string 020200
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 9 bytes, 0x85 0xF1 0x12 0x42 0x02 0x00 0x14 0x07 0xE7 
diag_l2_iso14230.c:278:  after recv, rv=9 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 9
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=9
diag_l2_iso14230.c:316:  Copying 9 bytes to data: 0x85 0xF1 0x12 0x42 0x02 0x00 0x14 0x07 0xE7 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=0
diag_l2_iso14230.c:62:  decode len 9, 0x85 0xF1 0x12 0x42 0x02 0x00 0x14 0x07 0xE7 
diag_l2_iso14230.c:150:  decode hdrlen=3, datalen=5, cksum=1
diag_l2_iso14230.c:432:  msg 0x856c778 decode/rejig done rv=9 hdrlen=3 datalen=5 src=12 dst=F1
diag_l2_iso14230.c:965:  _int_recv : handle=0x8572958 timeout=300
diag_l3_saej1979.c:249:  rcv_callback for 5 bytes fmt 0xA conn rxoffset 0
scantool: Got handle 0x806cc60; 5 bytes of data, src=0x12, dest=0xF1
msg 00 src=0x12 dest=0xF1
msg 00 data: 0x42 0x02 0x00 0x14 0x07 
diag_l2_iso14230.c:979:  _recv callback completed
diag_l3_saej1979.c:456:  recv returns 0


Press return to checkpoint then return to quit
Parameter                      Current         FreezeFrame
Calculated Load Value           27.1%          -----          
Engine Coolant Temperature      64C            -----          
Intake Manifold Pressure       100kPaA         -----          
Engine RPM                       781RPM        -----          
Vehicle Speed                    0km/h         -----          
Intake Air Temperature          26C            -----          
Air Flow Rate                   13.19gm/s      -----          
Absolute Throttle Position       4.7%          -----          
Location of Oxygen Sensors                     -----          
Requesting Mode 7 (Current cycle emission DTCs)...
diag_l3_saej1979.c:211:  send 1 bytes, l2 flags 0x5
diag_l2.c:549:  diag_l2_send 0x85720f0 msg 0xbff661c0 msglen 1 called
diag_l2_iso14230.c:847:  _send: dl2conn=0x85720f0 msg=0xbff661c0 len=1
diag_l0_elm.c:940:  getflags link 0x85615f8 proto 2 flags 0x1C6AB
diag_l1.c:179:  _send: len=1 P4=5 l0flags=0x1C6AB; 0x07 
diag_l0_elm.c:777:  ELM: sending 1 bytes
)iag_l0_elm.c:789:  ELM: (sending string 07
diag_l3_saej1979.c:444:  recv state 4 tout 300
diag_l2.c:614:  diag_l2_recv 0x85720f0 timeout 300 called
diag_l2_iso14230.c:213:  _int_recv dl2conn=0x85720f0 offset=0x0, tout=300
diag_l2_iso14230.c:261:  before recv, state=1 timeout=300, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=300;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 300 ms timeout(+400)...got 11 bytes, 0x87 0xF1 0x12 0x47 0x00 0x00 0x00 0x00 0x00 0x00 0xD1 
diag_l2_iso14230.c:278:  after recv, rv=11 rxoffset=0
diag_l2_iso14230.c:261:  before recv, state=2 timeout=23, rxoffset 11
diag_l2_iso14230.c:278:  after recv, rv=-8 rxoffset=11
diag_l2_iso14230.c:316:  Copying 11 bytes to data: 0x87 0xF1 0x12 0x47 0x00 0x00 0x00 0x00 0x00 0x00 0xD1 
diag_l2_iso14230.c:261:  before recv, state=3 timeout=150, rxoffset 0
diag_l1.c:277:  _recv request len=1024, timeout=150;diag_l0_elm.c:833:  Expecting 3*1024 bytes from ELM, 150 ms timeout(+400)...^C
janus@Fugl ~/freediag/scantool
 % 

Script done on Tue 27 Oct 2015 07:41:57 PM CET

j1850 duplicate timeout check ?

reported by 'frozen' on AUR package comments @ https://aur.archlinux.org/packages/freediag#comment-900843

diff --color -u -r freediag-1.09-src.orig/scantool/diag_l2_saej1850.c freediag-1.09-src.new/scantool/diag_l2_saej1850.c
--- freediag-1.09-src.orig/scantool/diag_l2_saej1850.c  2021-05-30 03:37:48.000000000 +0200
+++ freediag-1.09-src.new/scantool/diag_l2_saej1850.c   2023-02-06 00:40:43.733688655 +0100
@@ -421,11 +421,6 @@
                return NULL;
        }

-       /* Return the message to user, who is responsible for freeing it */
-       if (!d_l2_conn->diag_msg) {
-               //no response, but no error either
-               *errval = DIAG_ERR_TIMEOUT;
-       }
        rmsg = d_l2_conn->diag_msg;
        d_l2_conn->diag_msg = NULL;
        return rmsg;

freeze with "watch" command with ELM clone

with ELM327 clone, J1850-PWM ECU connected:

set <...>
diag connect
watch

freediag freezes after printing "waiting to receive data" and the whole system becomes unresponsive.

Linking issue whilst building 'scangui'

Linking CXX executable scangui
/usr/bin/ld: /usr/lib/x86_64-linux-gnu/libfltk.a(Fl_x.o): undefined reference to symbol 'dlsym@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libdl.so.2: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [scangui/scangui] Error 1
make[1]: *** [scangui/CMakeFiles/scangui.dir/all] Error 2
make: *** [all] Error 2

Unorthodox file location

Hi,

I found that the software installs and loads number of files into weird locations.

For example, "doc" folder goes into doc (must be share/doc/package-version).

The worst is prefix/bin/ directory. The configuration file (.ini) should go into /etc folder. DB files freediag_carsim.db should be kept at /var/lib/*

would be good if you could fix it in a next release. I'm sure there are dedicated variables in CMakeLists.txt config file which should be defined.

Thank you

(from SF) behaviour when mode 7 not supported

Copied from an old sourceforge ticket.

scan doesn't react properly if SID 07 returned a negative response


scantool> diag sr 7
diag_l0_dumb.c:577:  l0_send dl0d=000368F0 len=1; 0xC1
diag_l0_dumb.c:577:  l0_send dl0d=000368F0 len=1; 0x33
diag_l0_dumb.c:577:  l0_send dl0d=000368F0 len=1; 0xF1
diag_l0_dumb.c:577:  l0_send dl0d=000368F0 len=1; 0x07
diag_l0_dumb.c:577:  l0_send dl0d=000368F0 len=1; 0xEC
diag_l0_dumb.c:610:  _recv dl0d=000368F0 req=1024 bytes timeout=300
diag_l0_dumb.c:619:  Got 0x83 0xF1 0x10 0x7F 0x07 0x11 0x1B
diag_l0_dumb.c:610:  _recv dl0d=000368F0 req=1017 bytes timeout=23
diag_l0_dumb.c:610:  _recv dl0d=000368F0 req=1024 bytes timeout=50
msg 00 src=0x10 dest=0xF1
msg 00 data: 0x7F 0x07 0x11

TODO : check, fix, add to testsuite

Global identifiers

Here is a list of identifiers with "global" in them, in case somebody decides to get rid of them, hide them behind Set and Get functions, etc. ...

diag_l2.h

global_l2_conn

diag_l3.h

global_l3_conn

scantool.c

global_cfg
global_dl0d
global_l2_conn
global_l3_conn
global_O2_sensors
global_state

scantool_850.c

global_cfg
global_dl0d
global_l2_conn
global_state

scantool_aif.c

global_cfg
global_dl0d
global_l2_conn
global_l3_conn
global_state

scantool_cli.c

global_dl0d
global_l2_conn
global_l3_conn
global_logfp
global_log_tstart
global_state

scantool_cli.h

global_cfg
global_dl0d
global_logfp
global_state

scantool_debug.c

global_dl0d

scantool_diag.c

global_cfg
global_dl0d
global_l2_conn
global_l3_conn
global_state

scantool_dyno.c

global_l3_conn

scantool_obd.c

global_cfg
global_dl0d
global_l2_conn
global_l3_conn
global_logfp
global_state

scantool_set.c

global_cfg
global_dl0d

scantool_test.c

global_l3_conn
global_state

I am facing big troubles when attempt to compile with Visual Studio

I am facing big troubles when attempt to compile with Visual Studio.
I could attempt to fix it.

1>------ Skipped Build: Project: RUN_TESTS, Configuration: Debug Win32 ------
1>Project not selected to build for this solution configuration
2>------ Build started: Project: freediag, Configuration: Debug Win32 ------
2>Linking...
2>scantool.obj : error LNK2019: unresolved external symbol _LL_CONCAT referenced in function _j1979_data_rcv
2>diag.lib(diag_l2.obj) : error LNK2001: unresolved external symbol _LL_CONCAT
2>diag.lib(diag_l3_saej1979.obj) : error LNK2001: unresolved external symbol _LL_CONCAT
2>diag.lib(diag_cfg.obj) : error LNK2001: unresolved external symbol _snprintf
2>diag.lib(diag_l3_iso14230.obj) : error LNK2001: unresolved external symbol _snprintf
2>diag.lib(diag_l3_saej1979.obj) : error LNK2019: unresolved external symbol _snprintf referenced in function _diag_l3_j1979_decode
2>diag.lib(diag_l0_elm.obj) : error LNK2001: unresolved external symbol _snprintf
2>scantool_obd.obj : error LNK2001: unresolved external symbol _snprintf
2>freediagcli.lib(scantool_cli.obj) : error LNK2001: unresolved external symbol _snprintf
2>diag.lib(diag_os_win.obj) : error LNK2001: unresolved external symbol _snprintf
2>diag.lib(diag_dtc.obj) : error LNK2001: unresolved external symbol _snprintf
2>R:\freediag-master\bin\scantool\Debug\freediag.exe : fatal error LNK1120: 2 unresolved externals
2>Build log was saved at "file://r:\freediag-master\bin\scantool\freediag.dir\Debug\BuildLog.htm"
2>freediag - 12 error(s), 0 warning(s)
3>------ Skipped Build: Project: INSTALL, Configuration: Debug Win32 ------
3>Project not selected to build for this solution configuration
4>------ Skipped Build: Project: PACKAGE, Configuration: Debug Win32 ------
4>Project not selected to build for this solution configuration
========== Build: 0 succeeded, 1 failed, 5 up-to-date, 3 skipped ==========

disabling diag_lx_debug in the periodic timer functions

Why do saej1979 and iso14230 timer functions disable debugging for callee functions? (Note: added in d6cecf3 .)

It is a non-essential feature as far as I understand?

The issue is that if you are going to override user settings locally, suddenly the diag_x_debug variables being global instead of parameter based becomes much uglier/hairier to reason about, at least it seems like that to me.

On the other hand, right now the accesses to the diag_x_debug variables are racy, and if there were not for those local overrides in the timer functions, the concurrency issues could be fixed by hiding the global variables behind atomic set/store and get/load functions (see the atomics stuff in proposed commit b9ccc01 "Add atomic types, funcs; fix with periodic timer deletion data race"), which would be nicer than using mutexes directly.

OBD 2 bluetooth interface support

Hi,
I'm looking for a obd 2 bluetooth interface that is compatible with protocol ELM 327. I can find very cheap (less than 10 €) model on ebay http://www.ebay.it/sch/i.html?_odkw=obd2+bluetooth+4&_osacat=0&_from=R40&_trksid=p2045573.m570.l1313.TR0.TRC0.H0.Xobd2+bluetooth.TRS0&_nkw=obd2+bluetooth&_sacat=0 up to quite expensive (about 70 €) model here https://www.scantool.net/scan-tools/pc-based/obdlink-mxbt/.
What are the main differences? I know that expensive model allows to manage also error codes.
What do you recommend? Something compatible with GNU/linux?
Thank you

linux/unix read timeouts vs multi-thread signal delivery

Summary of email conversations with Tomasz K. There are issues with linux/unix timeouts in diag_tty_read() and diag_tty_write().

  • SIGUSR1 is used with timer_settime() to interrupt the read() and write() calls, this is so far the best way to get precise timeouts
  • SIGALRM periodically triggers a handler to call the timeout functions diag_l2_timer(), diag_l3_timer(). It is set to run every ~300ms (ALARM_TIMEOUT defined in diag_os.h)

Tomasz was having issues with some read/write calls not being interrupted, he notes

issue A) Yep – the problem is with the signal, but it’s not that it isn’t delivered at all, but it is being caugth by incorrect thread. [...]

Some background info:
http://pubs.opengroup.org/onlinepubs/7908799/xsh/sigaction.html

  1. the periodic callback timer has sigev_notify=SIGEV_THREAD, which calls diag_os_periodic() thus : " The function will be executed in an environment as if it were the start_routine for a newly created thread with thread attributes specified by sigev_notify_attributes."

  2. we're using sigev_notify=SIGEV_SIGNAL for the timeout timer, which means "The signal specified in sigev_signo will be generated for the process when the event of interest occurs."

  3. POSIX:

    "At the time of generation, a determination is made whether the signal has been generated for the process or for a specific thread within the process."

That sounds like a bad sign - the timeout SIGUSR1 is delivered "to the process" because of SIGEV_SIGNAL; this seems to agree 100% with your findings : the "wrong" thread receives SIGUSR1.

Maybe the main thread (and whole process) could be set to ignore SIGUSR1; but inside the diag_tty_read() and _write() functions, we could temporarily set the signal mask to unblock SIGUSR1 for the current thread; and reset the masks to SIG_IGN before returning.

POSIX:

Each thread has a signal mask that defines the set of signals currently blocked from delivery to it. The signal mask for a thread is initialised from that of its parent or creating thread. [...] The sigaction(), sigprocmask() and sigsuspend() functions control the manipulation of the signal mask.

As well as setting signal masks, a robust solution would probably need a different timer + signal for every open tty. POSIX already has provisions for this, defining a range of signal numbers from "SIGRTMIN" to "SIGRTMAX".

ISO14230 can't distinguish between a TXD break condition and a valid 0x00 byte

If operating in monitor mode, a fast init (25ms break on TXD) will typically show up as a spurious 0x00 byte in the RX buffer. The tty layer and the L2 layer are currently not able to detect a break condition, so it simply discarded any received 0x00 byte at the beginning of a packet. This is a problem because some valid iso14230 frames start with 0x00 (no addresses, and extra LEN byte : iso14230-2 section 4.2).

add (optional) cppcheck and other static analysis to cmake

ideas:
1- https://stackoverflow.com/questions/48625499/cppcheck-support-in-cmake

2- The method described in cppcheck docs to do a "single run" doesn't really work:

cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON ..

The file compile_commands.json is created in the current folder. Now run Cppcheck like this:

cppcheck --project=compile_commands.json

fails with
Bailing out from checking ...scantool/scantool_aif.c since there was an internal error: bad macro syntax. macroname=CURFILE value=\"scantool_aif.c\"
etc.

3- Running cppcheck standalone, per file, fails differently because it doesn't define stuff like unix etc.

4- Running cppcheck-gui with the cppcheck_proj file I just committed isn't perfect : it manually defines unix and HAVE_STRCASECMP, but otherwise doesn't duplicate what the cmake configuration would do.

compile error on Mac OSX

when compiling with make on Mac OSX El Capitan 10.11.5 (15F34), I get the following error:
`$home/.../freediag/scantool/diag.h:34:10: fatal error: 'cconf.h' file not found

include "cconf.h"

There is a file calledfreediag/cconf.h.in. How do you go fromcconf.h.intocconf.h`so that the make compiler can read it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.