fesch / CanZE

Take a closer look at your ZE car
http://canze.fisch.lu
Other
123 stars 70 forks source link

Overwriting TPMS IDs via CanZE #577

Closed minibiti closed 4 years ago

minibiti commented 4 years ago

Hi, I have the latest version of CanZE (1.45) on Android but when I try to overwrite the tires pressure sensors registered with new IDs so they match the winter tires ones, I get an error. "Could not read write valves: E-ISOTP tx flow error" Any idea?

yoh-there commented 4 years ago

Thanks for reporting. I am assuming you are using a KONNWEI902 dongle? If so, there is not a lot we can do in the short term I am afraid, as both developers own older (non TPMS) cars; we literally have to borrow another more recent ZOE to debug and test.

minibiti commented 4 years ago

I have the ELM327 Bluetooth dongle, like this one: http://www.urlaub-in-istanbul.com/images/1/en32862623124.jpg

yoh-there commented 4 years ago

Ah, that will almost certainly not work, sorry. See https://canze.fisch.lu/hardware/ and https://canze.fisch.lu/elm327/ for the explanation. Feel free to re-open when tried with a KONNWEI902 or a CanSee ( https://gitlab.com/jeroenmeijer/cansee ) dongle.

minibiti commented 4 years ago

OK thanks for the info. Sorry :)

kler commented 4 years ago

I actually have the Konwei, bought earlier this year. I get the same error.

Can I extract some information somehow that would help?

Screenshot_20191031-201658

IMG_20191031_201937__01

IMG_20191031_201922__01

yoh-there commented 4 years ago

Thank you for the offer. I need to go over the code, but it is hard as I do not have a car with TPMS. We need to consider adding some below-the-bonnet logging to get this right. If that works out, I might get back to you to see if you can do a few test.

E-Gerd-21 commented 4 years ago

I can confirm the same defect as kler reported 8 days ago. Unable to Write TPMS ID mit Error Msg "Could not read write valves:-E-ISOTP tx flow Error" as response to "Debug 673.11". I am using KONNWEI 902 (black case) for a Zoe R90 from 2017. CanZE ver.1.45.

yoh-there commented 4 years ago

Thanks for reporting. The cause it not very clear yet, but might be related to timing. I made a small change in the ELM driver which will come out in the next release. Expect it to be in the play store in under a week.

In the mean time, you MIGHT want to try with the car not "started" and see if that makes a difference. I would appreciate the results of both.

yoh-there commented 4 years ago

https://github.com/fesch/CanZE/issues/581 confirmed also in the latest update, so the timing change did not work. I have limited resources now (time) but will work on it ASAP

kler commented 4 years ago

Thanks for reporting. The cause it not very clear yet, but might be related to timing. I made a small change in the ELM driver which will come out in the next release. Expect it to be in the play store in under a week.

In the mean time, you MIGHT want to try with the car not "started" and see if that makes a difference. I would appreciate the results of both.

I've now tried with version 1.46 and the car not started, and I receive an error, slightly different than before:

Could not write walves: E-ISOTP tx flow Error:STOPPED
FredLeudon commented 4 years ago

Hi all,

It seems there are two ways to write TPMS IDS

1 : Writing all TPMS ID at same time

Request[765.3B5D000000000000000000000000] : Write_TPMS_Configuration_4      (ignorée)
    > Send       [765.3B5D000000000000000000000000.3.0]*: CodeIdentite(1)
    > Send       [765.3B5D000000000000000000000000.6.0]*: CodeIdentite(2)
    > Send       [765.3B5D000000000000000000000000.9.0]*: CodeIdentite(3)
    > Send       [765.3B5D000000000000000000000000.12.0]*: CodeIdentite(4)

2 : Writing TPMS one wheel at a time

    Request[765.3B5E00000000] : Write_TPMS_Configuration_12      (ignorée)
    > Send       [765.3B5E00000000.3.0]*: Position_roue
        Values list : 
            1   AVG
            3   ARD
            4   ARG
            2   AVD
            0   Aucune
    > Send       [765.3B5E00000000.4.0]*: CodeIdentite

In CanZE for iOS, I use second method.

Bytes to send are : 3B5E00000000

Where 00 equals Wheel ID (01 Front Left, 02 Front Right, 03 Rear Right and 04 Rear Left)

And 000000 are TPMS ID (AB4C37) in the log below

Below, CanZE log for writing TPMS ID AB4C37 on Rear Right Wheel

:requestField(ecu[26],request[objet][Write_TPMS_Configuration_12] Virtual[0] SID[765.3B5E00000000.3.0] Data[Position_roue] Value[ARD] Raw Value[3] SID[765.3B5E00000000.4.0] Data[CodeIdentite] Value[11226167] Raw Value[11226167] Construction Bytes To Send Ecu bytes to send (original) = [3B5E00000000] ECU bytes to send (calculé) = [3B5E03AB4C37] :sendELM(elm[objet], ecu_request[objet], command[3B5E03AB4C37], auto[1] CanBus[1] > Ecriture ELM : data[063B5E03AB4C37<\n>] CanBus[1] < Ecriture ELM : Ok

Hope it’s help ;-)

Tried on my non TPMS equipped 2013’s Zoé and no error occurs; but no data where written...

Cordialement,

Frédéric RICHARD

Le 18 nov. 2019 à 08:11, Patrik Lermon notifications@github.com a écrit :

Thanks for reporting. The cause it not very clear yet, but might be related to timing. I made a small change in the ELM driver which will come out in the next release. Expect it to be in the play store in under a week.

In the mean time, you MIGHT want to try with the car not "started" and see if that makes a difference. I would appreciate the results of both.

I've now tried with version 1.46 and the car not started, and I receive an error, slightly different than before:

Could not write walves: E-ISOTP tx flow Error:STOPPED — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/fesch/CanZE/issues/577?email_source=notifications&email_token=ADA3PSAXSHGMZ4X2CXCEUX3QUI5YJA5CNFSM4JF7JSXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEJNLXQ#issuecomment-554882526, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADA3PSE7ZMQBBHP525RT4RTQUI5YJANCNFSM4JF7JSXA.

yoh-there commented 4 years ago

That is GREAT info as I can (temporarily) avoid the long frame issue on the ELMs. Thank you.

FredLeudon commented 4 years ago

You’r welcome

Cordialement,

Frédéric RICHARD

Le 18 nov. 2019 à 10:55, yoh-there notifications@github.com a écrit :

That is GREAT info as I can (temporarily) avoid the long frame issue on the ELMs. Thank you.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/fesch/CanZE/issues/577?email_source=notifications&email_token=ADA3PSD75CQIM6S66QPITMLQUJRAXA5CNFSM4JF7JSXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEJ3WZY#issuecomment-554941287, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADA3PSHGBNXPOPHZCO2FH7LQUJRAXANCNFSM4JF7JSXA.

yoh-there commented 4 years ago

I have implemented @FredLeudon suggestion, and @fesch released. I really hope this is fixed now. Thank you all for reporting. I am closing the issue, but please reopen if this release did not solve the issue.

kler commented 4 years ago

Thx for the rapid work!

However, I believe that the release caused a problem, namely that the TPMS are wiped from the car if a write is performed :(

I had working TPMS values programmed in the car, and after writing I get the error:

Could not write valves:-E-message.isotp.startswith7f

And

Timeout on [Atma] []

And after that

No TPMS valves found

Screenshot_20191118-153103

Android, CanZE version 1.47

yoh-there commented 4 years ago

Oh bloody hell :-(

kler commented 4 years ago

Well, I didn't try it, but I believe the car stills drives xD

yoh-there commented 4 years ago

I have no TPMS, but I will try to fix ASAP. I hope you have a screen print or paper with the proper (current) values?

kler commented 4 years ago

I do have screenshot from when they were attached last winter. However, I was stupid enough to not screenshot before this operation I did today though. The reason it bugs me is that realised later on I'm pretty sure that the values I saw today before writing are different from the ones I have taken note of last winter...

The reason I believe this is the case is because I today changed the last letter of front left from A to B before pressing write. But in my notes the last letter of front left is 7. And even if the wheels would have been mounted differently I have no TPMS from notes taken last winter that ends with A.

I really can't explain this. I know for a fact that I'm using the same tires, and that they most likely are mounted in the same place (I had tags on them). There is of course the possibility that I'm confused and am remembering the change I did today incorrectly. But if not I was thinking if there could be a possibility that CanZE would decode or display the value differently between now and around March this year?

Anyhow - I'll happily test the next fix, and hopefully the values I took note of last winter will work :)

yoh-there commented 4 years ago

OK, thanks for being a good sport. I went over the code and it looks quite OK, so this is a tough one. And I did test things, though a while ago and with a CanSee dongle. I'll dig deeper.

bjaolsen commented 4 years ago

Not that it helps CanZE, but if you had issues with the TPMS-IDs you can write them back with ddt4all and a suitable database for renault. I have used this the last 3 seasons without issue even with a cheapo ELM327 from Ali.

yoh-there commented 4 years ago

That's true indeed and it does work. Would also be a great way to ensure the ID's you have listed are correct.

On Wed, Nov 20, 2019 at 10:08 AM bjaolsen notifications@github.com wrote:

Not that it helps CanZE, but if you had issues with the TPMS-IDs you can write them back with ddt4all and a suitable database for renault. I have used this the last 3 seasons without issue even with a cheapo ELM327 from Ali.

— You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub https://github.com/fesch/CanZE/issues/577?email_source=notifications&email_token=ABF7XVXMYOXXHMOHQ6WYWVTQUT5CTA5CNFSM4JF7JSXKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEERILPI#issuecomment-555910589, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABF7XVSJDCRASJFA3QI3NMDQUT5CTANCNFSM4JF7JSXA .

-- Please use Signal to reach me on secure IM and VoIP http://sgnl.link/1KpeYmF

kler commented 4 years ago

Thx for input! I wasn't aware of this tool, and after reading up on it, it felt a little bit too much hardcore for me right now - especially since it requires a separate DDT2000 database that has to be downloaded illegally somewhere because it's copyrighted.

Irregardless of how stupid it is to actually copyright such a database, I couldn't find any trustworthy source for downloading it, and I don't want to do too much fiddling with neither the computer nor the car :) My hope is still that CanZE will manage this.

softamateur commented 4 years ago

Regarding Write tire ID's: I was able to write the winter tires ID numbers in to the ODB port of the ZOE.  I did this with version 1.47, not fully aware of the bug warning issued for this version. The TPMS error was shining in the ZOE. Afterwards the warning was magically unlit and the sensors started to report after half a minutes driving in approximate 50 km/h.   I did not have to do the "Learning tyre pressure" procedure.

My ODB dong is a Vgate Icar Bluetooth 3. I noted that the CanZE needed a minute of operation before it starts to read data. The setting  "use ISOPT fields" was on. To be sure CanZE had communication, I checked "Battery voltage map" was working. Write button seems not perfectly stable and different warnings and errors was output in the debug field. But when the Read button returns what was written with the Write button, it seems to work. I pushed the Write button a couple of times and the the Read button.

More details regarding ID's: I bought winter tires and rims myself from the net (ZOE R110 41 kW -2019) and realized afterwards the need of TPMS sensors. So I bought them as well, original VDO/Continental. Took photos of the printed 8 digit Hex ID numbers on the sensors. Only the six to the right is used as ID. With a service tool, Autel  MaxiTPMS TS401, I could se that the printed ID´s on the sensors had several singel character errors. The printed markings was then useless! Always check with a service tool. The local Tyre shop put on the sensors and swapped the tires for the winter.   

Recommendations for winter tires: Buy winter tires with programmable sensors from your local tire shop, and let them clone your summer tires ID and none of the above have to be done ;-) Just swap tires on your own will hereafter. Second recommendation, buy a TS401 (Ebay 120-130 Euros) and be in control. It can both read all sensor data in a comprehensive way and program Autel MX sensors. But no ODB functionality. But cloned sensors don't need ODB.   

Thanks a lot for CanZE.

yoh-there commented 4 years ago

@softamateur Thank you so much or your report. It really helps.

I put the warning in because of the issue reported by @kler above. Maybe that was a bit premature. Anyway, the next release should be more stable and also added quite a bit of checks.

What a mess with the prints on the packaging, who would expect that??

@kler Above suggests "try again", using latest version and "Use ISOTP fields" on, though the latter should not have any influence on reading and writing ID's (it does on pressure readings)? Of course you can wait until the next release, which is due quite soon.

yoh-there commented 4 years ago

Release is in the play store now. I would appreciate a retry as soon as it's in. If it works I can then change the news bar and remove the warning. Thanks!

minibiti commented 4 years ago

I just tried the new CanZE 1.48 and I get this error now, both with and without ISOTP fields: Could not write TPMS valves:-E-ISOTP rx unexpected 1st nibble of 1st frame: NO DATA On the plus side, it did update the first TPMS ID but not the last 3. So progress but not fully working yet.

yoh-there commented 4 years ago

Thank you for testing @minibiti . You can skip valves by entering value 0. So, if you can write all valves by doing them one by one, it is a timing issue that I think we can fairly easily fix.

yoh-there commented 4 years ago

I have create a public beta that should be in the play store within hours. I will keep an eye on that.The only change is in the tires part. It will write, with a delay, the ID's one by one and will NOT stop if there is an error in one of the writes. You can enter 0 to skip a write.

minibiti commented 4 years ago

I tried one valve at a time and it works great! :) One little bug: looks like the rear left and rear right are inverted. You need to write to the rear left to update the rear right, and vice versa.

yoh-there commented 4 years ago

tataa, getting there. Are you sure about the positions? I saw the switched 3rd and 4th position and therefor double-checked the documentation multiple times?

Edit: NIL that. you are right, but it is the READING that is wrong, not the writing. Will correct in beta 2

Edit: this might do the trick: https://play.google.com/apps/testing/lu.fisch.canze Make sure to wait for 1.49beta2

softamateur commented 4 years ago

I can confirm, reading the sensors direct, with the TMPS service tool TS401, that the writing is correct and indeed the Reading of RR and RL are switched. I can se that in the pressure difference between the tires compared to CanZE (In the 1.47 version)

kler commented 4 years ago

I've tried now again with the Konwei dongle, and write still fails for me. I get 2 error messages:

Your car has no TPMS system
Could not write TPMS valves:-E-ISOTP rx unexpected 1st nibble of 1st frame: NO DATA

The first value however seems to be correct - but I don't know if CanZE actually managed to write that value, or if that particular value just wasn't overwritten when I initially tried this.

Also the tire input form is locked for long amounts of time, so I need to struggle to actually write the IDs into it. When switching app (to get to the app where I took note of the IDs) the connection breaks and the form goes into RO mode. Often if goes back to write mode in a few seconds, but sometimes it seems to stuck in RO mode. So the best option is to have the notes beside the phone, which is a shame because copy paste from another app is more convenient :) This however is not related to the bug, and just a side note.

yoh-there commented 4 years ago

Hi Patrick, thanks for trying. NO DATA suggests a problem between the car and the dongle or the dongle being overwhelmed. Hmmm. I take it this was done with 1.49beta2 right?

I would appreciate if the other participants in this thread can give that a spin too.

I need to borrow a car with TPMS.......

kler commented 4 years ago

I will order a Vgate Icar Bluetooth 3, since that seems to have worked for @softamateur

And I was not the beta - sry :/ I was using v.1.48 How do I install the beta? 🤔

yoh-there commented 4 years ago

Some extra info: in the Tires screen, the app queries the car every 6 seconds for the pressures, wheel state and if there is a TPMS installed. If there is no TPMS installed, it will not enable the read, write and 4 fields. So, if this goes "back and forth", that query gives strange results. But what I fail to understand is, if there is a faulty response, values (including the state) should not be updated at all.

yoh-there commented 4 years ago

If you go to the play store >> My apps >> installed and open the CanZE screen, there is an option to enroll in Beta testing. It will take a while but after a while you will get an update. You can always leave the beta. See also https://canze.fisch.lu/open-beta-for-android/

yoh-there commented 4 years ago

Hopefully fixed issue when switching to other app. 1.49.beta3 in play store

kler commented 4 years ago

Success (more or less)!

Thx for the instruction, and the hard work! Sad that the community need to bridge this crappy design from Renault, but what an adventure ;)

With 1.49.beta2 it actually worked (I'm on beta2, that's what I got after signing up for beta).

There are some strange behaviours in the form still - but it's better than in 1.48. What's happening is the same, it disables the input, and then enables it again. Also at least once it got stuck so that I had to restart the app. The period of time that the form is disabled is much shorter than in 1.48, so it's really not a problem. But when switching between my notes and CanZE, I just need to wait (unless it actually get stuck).

However, from my point of view these are minors, and CanZE managed the task from what I can tell.

Now I just need to drive like 10 km or so to verify that it really works - that I managed to get the right ID in the right place. But from a CanZE perspective it seems like WIN.

Again, thank you! 🎆

yoh-there commented 4 years ago

Ah great! You will get beta3 pretty soon (usually in less than an hour) and it should have shortened the waiting time significantly and not repeat the disabled fields when switching apps.

I can't determine if this is "real release ready" and would appreciate input after checking beta3.

The one time that I drove in a ZOE with TPMS the pressures were shown in less than a minute. I think as soon as the valves detect motion they are triggered to transmit state

kler commented 4 years ago

I know that when the shop failed to write TPMS (they failed 3 times on 2 different Zoes) it took around 8-10 km for the car to come to the conclusion that it cannot read the TPMS.

I will try beta3 once I get it, I will change to an incorrect value and the back again.

yoh-there commented 4 years ago

Got it. Slightly different scenario I guess. What I meant was the pressures showing after a minutes, as in, valves transmitted, car received, CanZE displayed.

From what I understand from your comment is the car throws a fit after 10 minutes if not all 4 are received. That makes sense. Combining the above, I would bet that if you see 4 pressures in CanZE, by definition no error will pop up on the dashboard.

But hey, you never know ;-)

kler commented 4 years ago

So I have read values in the app, so from my perspective this works.

Pressure low, which is also confirmed by the car.

Screenshot_20191126-145157__01

yoh-there commented 4 years ago

And you could program all 4 ID's without having to do them one-by-one? If so I think it's releasable.

ps: Google is still not rolling out beta3 it seems. Changes were small.

Edit: Play store is on beta3 at last.

kler commented 4 years ago

How would I program then one by one?

I just filled out all values and pressed write, however one or two of them happened to be right from the beginning (I suspect that they either weren't completely wiped, or CanZE managed to write some of the IDs when I tried using 1.48).

yoh-there commented 4 years ago

If you enter zero, that valve is skipped while writing. I think I wrote that somewhere earlier but it doesn't matter. So I think you are saying is now works as it should. If not, please let me know.

@minibiti - @E-Gerd-21 - @softamateur maybe want to chime in on the beta3? It would be nice if we can finally close this chapter!

One word about Open Beta. As soon as I release a new production version, that will overwrite your beta, so no worries about being left behind. The only thing is if we decide to launch something else to test in the Beta track and if you are still enrolled, you will get that.

minibiti commented 4 years ago

I joined the beta testing :) I will retest as soon as I can, hopefully tomorrow. But now that it is all fine for my car, what should I try? Write bad ID values and then write the good ones again? All the 4 of them at the same time?

yoh-there commented 4 years ago

Yes please!

softamateur commented 4 years ago

Hi there!

Beta test repport:

  1. Perfectly working winter tires TPMS with correct ID written according to Canze.
  2. Did read. Ok.
  3. Did write (still with the ok ID:s)
  4. Pressure displays was wiped out.
  5. Drove in about 30- 60 seconds at 50 km/h
  6. All sensor started to display again.
  7. Entered wrong ID.
  8. Write. ok
  9. Read. ok.
  10. Pressure display was wiped out ( as in point 4)
  11. Didn´t bother to drive
  12. Entered correct ID's again.
  13. Read ok
  14. After 30 seconds of driving all pressure was displayed (as in point 6.)

So far so good :-)

But there is a message coming up when phone is rotated or if going out of "Tires" and the on re-enter to "Tires"
It says, a little worrying, "Your car has no TPMS system".

I will report back if any problems occurs, if the warning lamp on the Zoe dashboard lights up. I will also check with CanZE to se if it still display the message above.

When writing there was some text flickering in the debug field. But the writing seamed to proceed well.

For the protocol: Vgate Icar Bluetooth 3, ZOE R110 41 kW 2019 CanZE: 1.49beta3 2019-11-26 @10:16

Happy driving everyone !

yoh-there commented 4 years ago

Thank you! Rotation issue solved in source code.

The debug flickering is "as designed". I hope it didn't flash "Fail" though, even while that is not a biggie