fenugrec / nisprog

nisprog Nissan ECU reflashing tool
GNU General Public License v3.0
77 stars 17 forks source link

Segfault on march k13 2011 (jp) #4

Closed mdenavac closed 7 years ago

mdenavac commented 7 years ago

Hi,

Tried nisprog with galletto1260 cable on nissan march k13.

Env: Linux mdenavac 4.4.0-78-generic #99-Ubuntu SMP Thu Apr 27 15:29:09 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

lsusb: Bus 001 Device 019: ID 0403:6001 Future Technology Devices International, Ltd FT232 USB-Serial (UART) IC

latest git version.

Car on (engine off)

Result:

➜  nisprog-build sudo ./nisprog
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 1496329442053ms; resolution: ~1ms
nisprog v1.01
nisprog: Interface set to default: DUMB
nisprog: Type HELP for a list of commands
nisprog: Type SCAN to start ODBII Scan
nisprog: Then use MONITOR to monitor real-time data
nisprog: **** IMPORTANT : this is beta software ! Use at your own risk.
nisprog: **** Remember, "debug all -1" displays all debugging info.
scantool_cli.c:833:  Problem with nisprog.ini, no configuration loaded

nisprog> set interface dumb
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. 
nisprog> set port /dev/ttyUSB0
port set to: /dev/ttyUSB0
nisprog> set l2protocol RAW
nisprog> setdev 1
now using 7058.
nisprog> diag nc
Unrecognized command. Try "help"
nisprog> diag connect
Connection to ECU established!
nisprog> diag disconnect
nisprog> nc
Connected to ECU !
[1]    21553 segmentation fault (core dumped)  sudo ./nisprog
➜  nisprog-build

You made an amazing work, thank you very much for that. I would love to provide more information upon your inputs.

Cheers

fenugrec commented 7 years ago

Hi, good find ! It is a bug, and I will fix it, but you're not using nisprog quite like it should :

mdenavac commented 7 years ago

Thanks for nisprog.ini ! Much easier now.

What do you think of diag connect working and not nc ? How do I know which destaddr and testerid to use ?

fenugrec commented 7 years ago

I can't see why nc wouldn't work, without seeing some debugging output.

destadaddr and testerid are set to reasonable defaults already in nisprog.ini.

mdenavac commented 7 years ago

Do you know how I can provide debug output ?

UPDATE: I'll get you some debug logs asap.

mdenavac commented 7 years ago

There you go

config.ini:

debug all -1

set
interface dumb
port /dev/ttyUSB0
dumbopts 0x48

l2protocol iso14230
initmode fast
testerid 0xfc
destaddr 0x10
addrtype phys
up

diag connect
diag disconnect

nc

set l2protocol RAW

diag connect
diag disconnect

nc

( sudo because I don't know much about udev rules )

➜  nisprog-build sudo ./nisprog
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 1496432396111ms; resolution: ~1ms
nisprog v1.01
nisprog: Interface set to default: DUMB
nisprog: Type HELP for a list of commands
nisprog: Type SCAN to start ODBII Scan
nisprog: Then use MONITOR to monitor real-time data
nisprog: **** IMPORTANT : this is beta software ! Use at your own risk.
nisprog: **** Remember, "debug all -1" displays all debugging info.
Debug values: L0 0xFFFFFFFF, L1 0xFFFFFFFF, L2 0xFFFFFFFF L3 0xFFFFFFFF CLI 0xFFFFFFFF
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. 
port set to: /dev/ttyUSB0
dumbopts set to:    72
testerid: using 0xFC
destaddr: using 0x10
diag_l2.c:237:  l2_open Generic dumb serial interface on 0x12a0920, L1proto=1
diag_l1.c:100:  diag_l1_open(0x0x12a0920, l1 proto=1
diag_l0_dumb.c:202:  open port /dev/ttyUSB0 L1proto 1
diag_tty_unix.c:153:  Device /dev/ttyUSB0 opened, fd 5
diag_tty_unix.c:661:  1496432396235 : DTR/RTS changed
diag_tty_unix.c:1121:  tty_iflush: >=1 junk bytes discarded: 0x0...
diag_l2.c:349:  _startCommunications dl0d=0x12a0920 L2proto 3 flags=0x1 10400bps target=0x10 src=0xFC
diag_l2_iso14230.c:529:  _startcomms flags=0x1 tgt=0x10 src=0xFC
diag_l2.c:607:  diag_l2_ioctl 0x12a0a60 cmd 0x2101
diag_tty_unix.c:524:  setup: fd=5, 10400bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:348:  Speed set using TCSETS + BOTHER.
diag_tty_unix.c:617:  Speed set to 10400, error~0%
diag_l2.c:607:  diag_l2_ioctl 0x12a0a60 cmd 0x2202
diag_tty_unix.c:1121:  tty_iflush: >=1 junk bytes discarded: 0x0...
diag_l2.c:607:  diag_l2_ioctl 0x12a0a60 cmd 0x2201
diag_l0_dumb.c:591:  device link 0x12a0920 info 0x12a0940 initbus type 1
diag_l0_dumb.c:275:  dl0d=0x12a0920 fastinit
diag_l2_iso14230.c:858:  _send: dl2conn=0x12a0a60 msg=0x7ffda9e9d0d0 len=1
diag_l2_iso14230.c:932:  _send: 0x81 0x10 0xFC 0x81 0x0E 
diag_l1.c:156:  _send: len=5 P4=5 l0flags=0x1011; 0x81 0x10 0xFC 0x81 0x0E 
diag_l0_dumb.c:655:  l0_send dl0d=0x12a0920 len=1; 0x81 
diag_l0_dumb.c:689:  _recv dl0d=0x12a0920 req=1 bytes timeout=200
diag_l1.c:235: Unspecified Error.
diag_l2_iso14230.c:944: Unspecified Error.
diag_l2_iso14230.c:736: Unspecified Error.
diag_l2.c:434:  protocol startcomms returned -1
diag_l2.c:438: Unspecified Error.
diag_l2.c:298:  Entered diag_l2_close for dl0d=0x12a0920;
    closing dl2link 0x129f2a0.
diag_l2.c:203:  l2_closelink 0x129f2a0 called
diag_l1.c:117:  entering diag_l1_close: dl0d=0x12a0920
diag_l0_dumb.c:250:  l0 link 0x12a0920 closing
scantool_diag.c:375: Unspecified Error.

Connection to ECU failed
Please check :
    Adapter is connected to PC
    Cable is connected to Vehicle
    Vehicle is switched on
diag_l2.c:237:  l2_open Generic dumb serial interface on 0x12a0920, L1proto=1
diag_l1.c:100:  diag_l1_open(0x0x12a0920, l1 proto=1
diag_l0_dumb.c:202:  open port /dev/ttyUSB0 L1proto 1
diag_tty_unix.c:153:  Device /dev/ttyUSB0 opened, fd 5
diag_tty_unix.c:661:  1496432396884 : DTR/RTS changed
diag_tty_unix.c:1121:  tty_iflush: >=1 junk bytes discarded: 0x0...
diag_l2.c:349:  _startCommunications dl0d=0x12a0920 L2proto 3 flags=0x1 10400bps target=0x10 src=0xFC
diag_l2_iso14230.c:529:  _startcomms flags=0x1 tgt=0x10 src=0xFC
diag_l2.c:607:  diag_l2_ioctl 0x12a0a60 cmd 0x2101
diag_tty_unix.c:524:  setup: fd=5, 10400bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:348:  Speed set using TCSETS + BOTHER.
diag_tty_unix.c:617:  Speed set to 10400, error~0%
diag_l2.c:607:  diag_l2_ioctl 0x12a0a60 cmd 0x2202
diag_tty_unix.c:1121:  tty_iflush: >=1 junk bytes discarded: 0x0...
diag_l2.c:607:  diag_l2_ioctl 0x12a0a60 cmd 0x2201
diag_l0_dumb.c:591:  device link 0x12a0920 info 0x12a0940 initbus type 1
diag_l0_dumb.c:275:  dl0d=0x12a0920 fastinit
diag_l2_iso14230.c:858:  _send: dl2conn=0x12a0a60 msg=0x7ffda9e9db30 len=1
diag_l2_iso14230.c:932:  _send: 0x81 0x10 0xFC 0x81 0x0E 
diag_l1.c:156:  _send: len=5 P4=5 l0flags=0x1011; 0x81 0x10 0xFC 0x81 0x0E 
diag_l0_dumb.c:655:  l0_send dl0d=0x12a0920 len=1; 0x81 
diag_l0_dumb.c:689:  _recv dl0d=0x12a0920 req=1 bytes timeout=200
diag_l1.c:235: Unspecified Error.
diag_l2_iso14230.c:944: Unspecified Error.
diag_l2_iso14230.c:736: Unspecified Error.
diag_l2.c:434:  protocol startcomms returned -1
diag_l2.c:438: Unspecified Error.
diag_l2.c:298:  Entered diag_l2_close for dl0d=0x12a0920;
    closing dl2link 0x129f2a0.
diag_l2.c:203:  l2_closelink 0x129f2a0 called
diag_l1.c:117:  entering diag_l1_close: dl0d=0x12a0920
diag_l0_dumb.c:250:  l0 link 0x12a0920 closing
L2 StartComms failed
diag_l2.c:237:  l2_open Generic dumb serial interface on 0x12a0920, L1proto=1
diag_l1.c:100:  diag_l1_open(0x0x12a0920, l1 proto=1
diag_l0_dumb.c:202:  open port /dev/ttyUSB0 L1proto 1
diag_tty_unix.c:153:  Device /dev/ttyUSB0 opened, fd 5
diag_tty_unix.c:661:  1496432397534 : DTR/RTS changed
diag_tty_unix.c:1121:  tty_iflush: >=1 junk bytes discarded: 0x0...
diag_l2.c:349:  _startCommunications dl0d=0x12a0920 L2proto 0 flags=0x1 10400bps target=0x10 src=0xFC
diag_l2.c:607:  diag_l2_ioctl 0x12a0a60 cmd 0x2101
diag_tty_unix.c:524:  setup: fd=5, 10400bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:348:  Speed set using TCSETS + BOTHER.
diag_tty_unix.c:617:  Speed set to 10400, error~0%
diag_l2.c:456:  diag_l2_StartComms returns 0x12a0a60
Connection to ECU established!
diag_l2.c:298:  Entered diag_l2_close for dl0d=0x12a0920;
    closing dl2link 0x12a06c0.
diag_l2.c:203:  l2_closelink 0x12a06c0 called
diag_l1.c:117:  entering diag_l1_close: dl0d=0x12a0920
diag_l0_dumb.c:250:  l0 link 0x12a0920 closing
diag_l2.c:237:  l2_open Generic dumb serial interface on 0x12a0920, L1proto=1
diag_l1.c:100:  diag_l1_open(0x0x12a0920, l1 proto=1
diag_l0_dumb.c:202:  open port /dev/ttyUSB0 L1proto 1
diag_tty_unix.c:153:  Device /dev/ttyUSB0 opened, fd 5
diag_tty_unix.c:661:  1496432397572 : DTR/RTS changed
diag_tty_unix.c:1121:  tty_iflush: >=1 junk bytes discarded: 0x0...
diag_l2.c:349:  _startCommunications dl0d=0x12a0920 L2proto 0 flags=0x1 10400bps target=0x10 src=0xFC
diag_l2.c:607:  diag_l2_ioctl 0x12a0a60 cmd 0x2101
diag_tty_unix.c:524:  setup: fd=5, 10400bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:348:  Speed set using TCSETS + BOTHER.
diag_tty_unix.c:617:  Speed set to 10400, error~0%
diag_l2.c:456:  diag_l2_StartComms returns 0x12a0a60
Connected to ECU !
[1]    2252 segmentation fault (core dumped)  sudo ./nisprog

Hope this helps.

fenugrec commented 7 years ago

set l2protocol RAW

Why do you still have this ? Like I said, nc expects iso14230 and not RAW.

mdenavac commented 7 years ago

Because otherwise I do not get Connected to ECU !

fenugrec commented 7 years ago

Ok, let's take a few steps back. Remove all the diag connect, nc and set l2protocol RAW lines from your .ini , it will probably look like this

set
interface dumb
port /dev/ttyUSB0
dumbopts 0x48

l2protocol iso14230
initmode fast
testerid 0xfc
destaddr 0x10
addrtype phys
up

then reset the ECU (just IGN OFF then ON should be enough) so the comms are properly reset. restart nisprog, it will parse the .ini file, then by hand enter debug all -1 like you did, then nc . If it doesn't connect, wait a few seconds, try it a second time. If it still doesn't work, please paste the output again. Your last paste output has things that indicate some low level comms error that I want to rule out this way.

Don't use L2 RAW unless you know what you're doing. When using raw, diag connect seems to "work" simply because it hasn't actually received anything from the ECU, it basically just initialized a connection. So, don't use L2 raw.

mdenavac commented 7 years ago

Ok thanks for the explanation.

➜  nisprog-build sudo ./nisprog
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 1496463539482ms; resolution: ~1ms
nisprog v1.01
nisprog: Interface set to default: DUMB
nisprog: Type HELP for a list of commands
nisprog: Type SCAN to start ODBII Scan
nisprog: Then use MONITOR to monitor real-time data
nisprog: **** IMPORTANT : this is beta software ! Use at your own risk.
nisprog: **** Remember, "debug all -1" displays all debugging info.
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. 
port set to: /dev/ttyUSB0
dumbopts set to:    72
testerid: using 0xFC
destaddr: using 0x10
nisprog: Settings loaded from nisprog.ini

nisprog> debug all -1
Debug values: L0 0xFFFFFFFF, L1 0xFFFFFFFF, L2 0xFFFFFFFF L3 0xFFFFFFFF CLI 0xFFFFFFFF
nisprog> nc
diag_l2.c:237:  l2_open Generic dumb serial interface on 0x2460920, L1proto=1
diag_l1.c:100:  diag_l1_open(0x0x2460920, l1 proto=1
diag_l0_dumb.c:202:  open port /dev/ttyUSB0 L1proto 1
diag_tty_unix.c:153:  Device /dev/ttyUSB0 opened, fd 4
diag_tty_unix.c:661:  1496463546734 : DTR/RTS changed
diag_tty_unix.c:1121:  tty_iflush: >=1 junk bytes discarded: 0x0...
diag_l2.c:349:  _startCommunications dl0d=0x2460920 L2proto 3 flags=0x1 10400bps target=0x10 src=0xFC
diag_l2_iso14230.c:529:  _startcomms flags=0x1 tgt=0x10 src=0xFC
diag_l2.c:607:  diag_l2_ioctl 0x247be30 cmd 0x2101
diag_tty_unix.c:524:  setup: fd=4, 10400bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:348:  Speed set using TCSETS + BOTHER.
diag_tty_unix.c:617:  Speed set to 10400, error~0%
diag_l2.c:607:  diag_l2_ioctl 0x247be30 cmd 0x2202
diag_tty_unix.c:1121:  tty_iflush: >=1 junk bytes discarded: 0x0...
diag_l2.c:607:  diag_l2_ioctl 0x247be30 cmd 0x2201
diag_l0_dumb.c:591:  device link 0x2460920 info 0x2460940 initbus type 1
diag_l0_dumb.c:275:  dl0d=0x2460920 fastinit
diag_l2_iso14230.c:858:  _send: dl2conn=0x247be30 msg=0x7ffd6be9c770 len=1
diag_l2_iso14230.c:932:  _send: 0x81 0x10 0xFC 0x81 0x0E 
diag_l1.c:156:  _send: len=5 P4=5 l0flags=0x1011; 0x81 0x10 0xFC 0x81 0x0E 
diag_l0_dumb.c:655:  l0_send dl0d=0x2460920 len=1; 0x81 
diag_l0_dumb.c:689:  _recv dl0d=0x2460920 req=1 bytes timeout=200
diag_l1.c:235: Unspecified Error.
diag_l2_iso14230.c:944: Unspecified Error.
diag_l2_iso14230.c:736: Unspecified Error.
diag_l2.c:434:  protocol startcomms returned -1
diag_l2.c:438: Unspecified Error.
diag_l2.c:298:  Entered diag_l2_close for dl0d=0x2460920;
    closing dl2link 0x2472450.
diag_l2.c:203:  l2_closelink 0x2472450 called
diag_l1.c:117:  entering diag_l1_close: dl0d=0x2460920
diag_l0_dumb.c:250:  l0 link 0x2460920 closing
L2 StartComms failed
nisprog> 
nisprog> nc
diag_l2.c:237:  l2_open Generic dumb serial interface on 0x2460920, L1proto=1
diag_l1.c:100:  diag_l1_open(0x0x2460920, l1 proto=1
diag_l0_dumb.c:202:  open port /dev/ttyUSB0 L1proto 1
diag_tty_unix.c:153:  Device /dev/ttyUSB0 opened, fd 4
diag_tty_unix.c:661:  1496463560230 : DTR/RTS changed
diag_tty_unix.c:1121:  tty_iflush: >=1 junk bytes discarded: 0x0...
diag_l2.c:349:  _startCommunications dl0d=0x2460920 L2proto 3 flags=0x1 10400bps target=0x10 src=0xFC
diag_l2_iso14230.c:529:  _startcomms flags=0x1 tgt=0x10 src=0xFC
diag_l2.c:607:  diag_l2_ioctl 0x247bfa0 cmd 0x2101
diag_tty_unix.c:524:  setup: fd=4, 10400bps, 8 bits, 1 stop, parity 3
diag_tty_unix.c:348:  Speed set using TCSETS + BOTHER.
diag_tty_unix.c:617:  Speed set to 10400, error~0%
diag_l2.c:607:  diag_l2_ioctl 0x247bfa0 cmd 0x2202
diag_tty_unix.c:1121:  tty_iflush: >=1 junk bytes discarded: 0x0...
diag_l2.c:607:  diag_l2_ioctl 0x247bfa0 cmd 0x2201
diag_l0_dumb.c:591:  device link 0x2460920 info 0x2460940 initbus type 1
diag_l0_dumb.c:275:  dl0d=0x2460920 fastinit
diag_l2_iso14230.c:858:  _send: dl2conn=0x247bfa0 msg=0x7ffd6be9c770 len=1
diag_l2_iso14230.c:932:  _send: 0x81 0x10 0xFC 0x81 0x0E 
diag_l1.c:156:  _send: len=5 P4=5 l0flags=0x1011; 0x81 0x10 0xFC 0x81 0x0E 
diag_l0_dumb.c:655:  l0_send dl0d=0x2460920 len=1; 0x81 
diag_l0_dumb.c:689:  _recv dl0d=0x2460920 req=1 bytes timeout=200
diag_l1.c:235: Unspecified Error.
diag_l2_iso14230.c:944: Unspecified Error.
diag_l2_iso14230.c:736: Unspecified Error.
diag_l2.c:434:  protocol startcomms returned -1
diag_l2.c:438: Unspecified Error.
diag_l2.c:298:  Entered diag_l2_close for dl0d=0x2460920;
    closing dl2link 0x2472450.
diag_l2.c:203:  l2_closelink 0x2472450 called
diag_l1.c:117:  entering diag_l1_close: dl0d=0x2460920
diag_l0_dumb.c:250:  l0 link 0x2460920 closing
L2 StartComms failed
nisprog> exit
fenugrec commented 7 years ago

Heh, I first should have asked this : are you sure your ECU uses K line comms ? 2011 is pretty recent, it may only have CAN bus.

mdenavac commented 7 years ago

Then I would be wasting your time... By looking at the plug, it appears that the corresponding wire exists. How to be sure ?

this is the exact same part: http://autoparts.beforward.jp/detail/Computers---Sensors/Computers-Engine/PA01296931/

Should I dismantle the thing in order to know ? Google is kinda mute on these codes.

fenugrec commented 7 years ago

No, those ECUs are not fun to open !

In your last log,

diag_l1.c:156:  _send: len=5 P4=5 l0flags=0x1011; 0x81 0x10 0xFC 0x81 0x0E 
diag_l0_dumb.c:655:  l0_send dl0d=0x2460920 len=1; 0x81 
diag_l0_dumb.c:689:  _recv dl0d=0x2460920 req=1 bytes timeout=200
diag_l1.c:235: Unspecified Error.

the _recv is failing because it's not receiving the echoed byte (since K comms are half-duplex). This is either because

mdenavac commented 7 years ago
fenugrec commented 7 years ago

If you can find a service manual for your exact model (or at least with wiring diagrams you can trust), you can see whether or not the K line is wired

mdenavac commented 7 years ago

you can see whether or not the K line is wired

You mean on the cable chip ?

prebuilt nisprog 1_01 on Windows XP ie6 virtualbox image provided by MS + FTDI EOBD2 driver.

ini:

set
interface dumb
port \COM1
dumbopts 0x48

l2protocol iso14230
initmode fast
testerid 0xfc
destaddr 0x10
addrtype phys
up
Debug values: L0 0xFFFFFFFF, L1 0xFFFFFFFF, L2 0xFFFFFFFF L3 0xFFFFFFFF CLI 0xFFFFFFFF
nisprog> nc
diag_l2.c:237:  l2_open Generic dumb serial interface on 003E65D0, L1proto=1
diag_l1.c:100:  diag_l1_open(0x003E65D0, l1 proto=1
diag_l0_dumb.c:202:  open port \\.\COM1 L1proto 1
diag_tty_win.c:62:  Device \\.\COM1 opened, fd 000007B4
diag_tty_win.c:347:  tty_read: ttyh=003E51C0, fd=000007B4, len=1024, t=30
diag_l2.c:349:  _startCommunications dl0d=003E65D0 L2proto 3 flags=0x1 10400bps target=0x10 src=0xFC
diag_l2_iso14230.c:529:  _startcomms flags=0x1 tgt=0x10 src=0xFC
diag_l2.c:607:  diag_l2_ioctl 003E76C8 cmd 0x2101
diag_tty_win.c:168:  dev 000007B4; 10400bps 8,1,3
diag_l2.c:607:  diag_l2_ioctl 003E76C8 cmd 0x2202
diag_tty_win.c:347:  tty_read: ttyh=003E51C0, fd=000007B4, len=1024, t=30
diag_l2.c:607:  diag_l2_ioctl 003E76C8 cmd 0x2201
diag_l0_dumb.c:591:  device link 003E65D0 info 003E65E8 initbus type 1
diag_tty_win.c:347:  tty_read: ttyh=003E51C0, fd=000007B4, len=1024, t=30
diag_l0_dumb.c:275:  dl0d=003E65D0 fastinit
diag_tty_win.c:347:  tty_read: ttyh=003E51C0, fd=000007B4, len=1024, t=10
diag_l2_iso14230.c:858:  _send: dl2conn=003E76C8 msg=0022F894 len=1
diag_l2_iso14230.c:932:  _send: 0x81 0x10 0xFC 0x81 0x0E
diag_l1.c:156:  _send: len=5 P4=5 l0flags=0x1011; 0x81 0x10 0xFC 0x81 0x0E
diag_l0_dumb.c:655:  l0_send dl0d=003E65D0 len=1; 0x81
diag_l0_dumb.c:689:  _recv dl0d=003E65D0 req=1 bytes timeout=200
diag_tty_win.c:347:  tty_read: ttyh=003E51C0, fd=000007B4, len=1, t=200
diag_l1.c:235: Unspecified Error.
diag_l2_iso14230.c:944: Unspecified Error.
diag_l2_iso14230.c:736: Unspecified Error.
diag_l2.c:434:  protocol startcomms returned -1
diag_l2.c:438: Unspecified Error.
diag_l2.c:298:  Entered diag_l2_close for dl0d=003E65D0;
        closing dl2link 003E51F0.
diag_l2.c:203:  l2_closelink 003E51F0 called
diag_l1.c:117:  entering diag_l1_close: dl0d=003E65D0
diag_l0_dumb.c:250:  l0 link 003E65D0 closing
diag_tty_win.c:120:  diag_tty_close : closing fd 000007B4
L2 StartComms failed
nisprog>
fenugrec commented 7 years ago

see whether or not the K line is wired

No, I mean if there is a wire in the car's harness that goes from the ECU to the K pin of the OBD connector. I think some vehicles may use K for other modules (TCM / BCM) but not the ECU. The wiring diagram, if it's accurate, would indicate this.

fenugrec commented 7 years ago

@mdenavac I fixed the initial issue you reported (segfault), you could start another GH issue for the other problem you're having with your interface / ECU.