[obdgpslogger] ELM327 interface "hanging" with NO DATA condition after a random amount of time (Toyota Corolla)

Maciej Grela maciej.grela at gmail.com
Sun Sep 18 18:37:31 EDT 2011


2011/9/19 Gary Briggs <chunky at icculus.org>:
> On Sun, Sep 18, 2011 at 09:33:24PM +0200, Maciej Grela wrote:
>> Hi,
>>
> If I were a betting man, I'd guess you just have a flakey chip.
> Disappointing, but possible. Do you have a brand name device, or was it
> something from ebay just labelled "ELM327" ?
>

I will disassemble the cable tomorrow but it's from dealextreme so I
think it's some kind of clone.

> Have you seen it happen? When it happens, is there a long pause, or do
> the errors start coming back immediately?
>

Yes, I've seen it happen at least 4 times today. There is no pause,
the error messages start immidiately after valid data. Here is an
example from one strace'd run:

18:34:53.882838 write(3, "0110\r", 5)   = 5 <0.000045>
18:34:54.014053 read(3, "41", 4095)     = 2 <0.000036>
18:34:54.015051 read(3, "10", 4093)     = 2 <0.000035>
18:34:54.016019 read(3, "08", 4091)     = 2 <0.000043>
18:34:54.017004 read(3, "5F", 4089)     = 2 <0.000057>
18:34:54.018017 read(3, "\r", 4087)     = 1 <0.000040>
18:34:54.083039 read(3, "\r>", 4086)    = 2 <0.000039>
18:34:54.083277 sendmsg(4, {msg_name(0)=NULL,
msg_iov(2)=[{"l\4\1\1D\0\0\0\254\4\0\0R\0\0\0\1\1o\0\4\0\0\0/obd\0\0\0\0\2\1s\0\30\0\0\0org.icculus.obdgpslogg
er\0\0\0\0\0\0\0\0\3\1s\0\5\0\0\0value\0\0\0\10\1g\0\4udss\0\0\0\0\0\0\0",
104}, {"\20\0\0\0\0\0\0\0\0\0\0\200\24n5@\3\0\0\0maf\0'\0\0\0Air Flow
Rate from M
ass Air Flow Sensor\0", 68}], msg_controllen=0, msg_flags=0},
MSG_NOSIGNAL) = 172 <0.000179>
18:34:54.083640 write(1, "maf=21.430000\n", 14) = 14 <0.000049>
18:34:54.083768 write(3, "0111\r", 5)   = 5 <0.000045>
<...>
18:34:54.382062 read(3, "NO D", 4095)   = 4 <0.000038>
18:34:54.383060 read(3, "ATA\r", 4091)  = 4 <0.000036>
18:34:54.384060 read(3, "\r>", 4087)    = 2 <0.000037>
18:34:54.384183 write(2, "OBD reported NO DATA for 01 11: NO
DATA\r\r>\n", 43) = 43 <0.000051>
18:34:54.384323 write(1, "Ending current trip", 19) = 19 <0.000099>
<...>
18:34:54.385164 write(3, "0105\r", 5)   = 5 <0.000063>
<...>
18:34:54.685089 read(3, "NO D", 4095)   = 4 <0.000034>
18:34:54.686055 read(3, "ATA", 4091)    = 3 <0.000034>
18:34:54.687102 read(3, "\r\r>", 4088)  = 3 <0.000032>
18:34:54.687229 write(2, "OBD reported NO DATA for 01 05: NO
DATA\r\r>\n", 43) = 43 <0.000054>

As you can see there is no pause in data exchange between the PC and ELM.

> Could you turn on serial logging, and see if there's anything of
> interest in the logfile at the instant things go south?
>

If you mean the -u option then yes, I will turn it on to see if I can
catch that again. I didn't think to do that when I was driving :).
However, I do have strace files from a couple of "broken" runs. Their
size is significant but I can upload them somewhere.

>> One additional thing I've noticed, is that when this happens the "RX"
>> led on the OBD side of my interface stops blinking - as if the ECU
>> stopped responding. This may very well be the case but why it
>> "unfreezes" when I restart the obdgpslogger ? Is there some special
>> command sequence sent to the ECU "resetting" the interface when
>> obdgpslogger starts ? Or is this a buggy ELM327 clone ?
>
> Yeah, there's actually a couple. The one that's really causing the reset
> is "ATZ", which quietly covers all manner of sins. It's the closest
> thing you can get to a power cycle on those chips without an actual
> power cycle.
>
> You don't want to insert that into the stream whenever things go south,
> because that also resets a bunch of other stuff I do [turn off echo,
> turn off spaces, all kinda of performance- and reliability- enhancing
> stuff].
>
> I don't really have a good answer, just some general thoughts. I'm
> interested to see more though
>

Thanks for your time.

Best regards,
Maciej Grela


More information about the obdgpslogger mailing list