Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overwriting TPMS IDs via CanZE #577

Closed
minibiti opened this issue Oct 28, 2019 · 79 comments
Labels
bug

Comments

@minibiti
Copy link

@minibiti minibiti commented Oct 28, 2019

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 yoh-there added the bug label Oct 29, 2019
@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Oct 29, 2019

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

This comment has been minimized.

Copy link
Author

@minibiti minibiti commented Oct 29, 2019

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

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Oct 29, 2019

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.

@yoh-there yoh-there closed this Oct 29, 2019
@minibiti

This comment has been minimized.

Copy link
Author

@minibiti minibiti commented Oct 29, 2019

OK thanks for the info. Sorry :)

@kler

This comment has been minimized.

Copy link

@kler kler commented Oct 31, 2019

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 yoh-there reopened this Oct 31, 2019
@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Oct 31, 2019

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

This comment has been minimized.

Copy link

@E-Gerd-21 E-Gerd-21 commented Nov 8, 2019

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

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 9, 2019

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

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 13, 2019

#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

This comment has been minimized.

Copy link

@kler kler commented Nov 18, 2019

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

This comment has been minimized.

Copy link
Collaborator

@FredLeudon FredLeudon commented Nov 18, 2019

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 18, 2019

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

@FredLeudon

This comment has been minimized.

Copy link
Collaborator

@FredLeudon FredLeudon commented Nov 18, 2019

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 18, 2019

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.

@yoh-there yoh-there closed this Nov 18, 2019
@kler

This comment has been minimized.

Copy link

@kler kler commented Nov 18, 2019

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

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 18, 2019

Oh bloody hell :-(

@yoh-there yoh-there reopened this Nov 18, 2019
@kler

This comment has been minimized.

Copy link

@kler kler commented Nov 18, 2019

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

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 18, 2019

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

This comment has been minimized.

Copy link

@kler kler commented Nov 18, 2019

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

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 18, 2019

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

This comment has been minimized.

Copy link

@bjaolsen bjaolsen commented Nov 20, 2019

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

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 20, 2019

@kler

This comment has been minimized.

Copy link

@kler kler commented Nov 21, 2019

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

This comment has been minimized.

Copy link

@softamateur softamateur commented Nov 24, 2019

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

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 27, 2019

Thank you for testing again! I have to say, that dongle, or I must actually say, most of those dongles, are awfully crappy and don't perform well at all. It's hard to say, because these blue shells are very generic and house many, many different designs. The other day I got one with a real PIC controller in it that was fine, but I had another with two stacked PCB's that was pure evil.

The code is 100% the same for each wheel (it's actually a loop), so there is not a lot I can do, other than write-read-compare maybe, retry once or twice if it fails. Hmmmm, let me think about that for a little bit.

@softamateur

This comment has been minimized.

Copy link

@softamateur softamateur commented Nov 27, 2019

Hi there,

It works alright after 25 minutes of driving. Nothing to note at all. Perfect.

But some points just to remind and perhaps add/change:

  1. "Your cars has no TPMS" can be annoying for cars with TPMS :-)

  2. "Please don't write Valves etc" Don't forget to remove this text !

  3. Strictly, the correct denomination is "Sensors" not "Valves". There are TPMS sensors, from
    Continental, that are not in contact with the valves at all, they are glued on to the inside rubber
    of the tire. You read and write to the sensor, not the valve. (Just important for the nerds ;-)

  4. A note to the user about waiting with further actions until CanZE is communication correctly? Checking the battery map for instance? (This is perhaps overkill?)

  5. A note to the user not to have "Learning tyre pressure" activated ? Just to be sure things not mess upp. (This is perhaps overkill ?)

  6. Decide the spelling of "Tires" is not easy: Googled: "Tire and tyre both mean a covering for a wheel, usually made of rubber. Tire is the preferred spelling in the U.S. and Canada. Tyre is preferred in most varieties of English outside North America. Of course, all English speakers use tire in the sense to grow weary." No problem either way I think :-)

And again, thank you very much for the development of this very useful app, I will use it at least twice a year, changing the winter tires ;-)

@softamateur

This comment has been minimized.

Copy link

@softamateur softamateur commented Nov 27, 2019

Important one almost forgot to mention is:

  1. In the display of pressures, Rear righ and Rear left still seem to be switched comparing to the Autel TS-401 reading.

Cheers!

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 27, 2019

Great news!

  1. Should be gone. I will upload beta4 in a few minutes
  2. Sure. This is fetched online and I will remove it as soon as this is in the production release
  3. Agreed and done in beta4
  4. I hear you loud and clear, but won't do. If one decides to mess with wheels, itś up to the user. I fif build in the compare thought (see comment @minibiti )
  5. Same ;-)
  6. I know. Consensus is: Tyres is UK spelling. Everywhere else and growing also in the UK is Tires. So as the code was inconsistent I had to do something and decided to go for Brexit Tires ;-)

Thank for testing and the heads up!

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 27, 2019

  1. Triple checked again with the docs, again now for the state and pressures too. Truth I guess is "in the middle"; either documentation or Autel is wrong :-( . I'll leave it for now.
@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 27, 2019

Thinking about the swapping of pressures (ID is fine now I think?) some more. As said, I triple checked both the ISOTP as well as the free frame definitions, and they both are most definitely according to three sets of documentation.

If you have time, you might want to check pressures with Use ISOTP Fields setting off. I would suggest that:

  • If they are then the same as the Autel, it would suggest the ISOTP documentation might be in error.
  • If they are again in disagreement, I would tend to think the Autel firmware is wrong, as three sets of documentation from reputable source would then disagree with it. I wouldn't blame them, it is a very easy error to make, said the guy who did!
@softamateur

This comment has been minimized.

Copy link

@softamateur softamateur commented Nov 27, 2019

...or just drain Right Rear of 0.2 Bar and se what will be reported on the CanZE pressure display? :-)
I am a little bit curious so I will try this in late evening....

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 27, 2019

Yes please!

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 27, 2019

But if you do, please check both with ISOTP on and off, because those are different queries to the car. Thanks!

@minibiti

This comment has been minimized.

Copy link
Author

@minibiti minibiti commented Nov 27, 2019

I have 0.2 bar diff between RR and RL. It looks to me that the readings switch places now that upgraded to 1.49b3 vs 1.48...
Can it be?
What is the recommended setting for ISOTP? on or off?

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 27, 2019

@minibiti The pressure readings have not switched between 1.48 and 1.49beta3, or I am totally crazy (please note that I uploaded beta4 this morning). The rear ID's have switched and I am pretty sure these are OK now.

With your dongle the recomended setting is absolutely ISOTP on.

Is it possible to know which tire is REALLY 0.2 lower/higher and verify (with ISOTP on, and if it works also with ISOTP off)? But remember, to do this test, you need to be 100% sure that the ID's of the sensors match the exact positions. The car does not know the real positons; if two IDs are swapped, the car is happy, but the pressures are swapped in CanZE too.

I know, it's complicated.

@softamateur Please realize (I forgot!) this can be your use case too and the Autel will not be of help unless you are 100% sure about which sensor has which ID.
Edit: oh I think the Autel actually does help as it reads the actual sensor, not the car!

@softamateur

This comment has been minimized.

Copy link

@softamateur softamateur commented Nov 27, 2019

TPMS tools, like the Autel Maxitpms TS401. works with an initial 150 KHz LF signal that activates the sensor. You hold the tool in contact with the tire as close to the inside sensor as possible during that procedure. The range is sad to be small for the LF signal. The system is designed not to be fooled by surrendering cars and tires and just activate,read and in cases, program, just one at a time.

A very good tutorial is given on youtube "Autel TS401, how to program MX sensors" https://www.youtube.com/watch?v=vwMxHx8WoYw And for the hardcore DIY "How to install a tps yourself! But should you?" also featuring a TS401 :-)

I will dig in to it and make sure how the displays are linked to the sensors and be back to night :-)

@softamateur

This comment has been minimized.

Copy link

@softamateur softamateur commented Nov 27, 2019

Heavy shower and +4 degree. On Friday it will snow here...

Testing of the tire pressure displays mapping to the actual sensors/ wheels. Summary: CanZE is ok :-)

Method:

  1. Do a Write with CanZE. And a read. Leave Tire page and then go back. Now pressure fields are empty, waiting for the sensors to start transmit. Normally this will be when wheels are spinning above 40 km/h.
  2. Make the individual sensor send data by activating them one by one with the Autel TS401 service tool for TPMS working my self around the car clockwise.
  3. After each activation look on the CanZE Tire page and check in what position pressure is written from the activated tire
    (Sensors are activated by a weak LF signal and only the sensor in a close distance to the service tool will be activated )

Result:
Rear Left and Rear Right sensor/Wheel positions are ......correct. It is the sensor IDs that have been switched in the write positions, by myself messing around.

Full report view from CanZE after working around the car:
image

Full report view from Autel TS 401 (display view 2/(3)):

image

Noted a very small difference in pressure presentations between CanZE and the Autel (to left) and CanZE (to right) tool
Note sensor ID positions corrected for CanZe in this table:
FL 252 253,9 delta 1.9
FR 261 263,5 delta 2,0
RR 249 249,7 delta 0,7
RL 254 255,2 delta 1,2

CanZe reports a little bit higher but less than 1% in difference.

So the masterpiece is still perfect. Users with Autel will have to watch for the table order of IDs differ on the to last positions comparing to CanZE. That all.

Over and out.

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 27, 2019

You're a hero, thank you! I will merge the tires branch now in "development" (it has a few more changes), upload it to beta5, wait a few days and push that to production. Yay!

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 27, 2019

To all: thank you so much for all the testing and reporting. Community cooperation at it's best. 1.49Beta5 is now in the play store and will roll out in the next few hours. Unless there are unforeseen "disasters", this will go to production in a couple of days. I will close this issue shortly after that.

@minibiti

This comment has been minimized.

Copy link
Author

@minibiti minibiti commented Nov 28, 2019

@yoh-there Thank YOU for the great work!

@redflo

This comment has been minimized.

Copy link

@redflo redflo commented Nov 28, 2019

Hi, just wanted to add another success report:

  • read sensor data using a 10€ DVB-T USB Stick with RTL2832 chipset using https://github.com/merbanan/rtl_433
  • got IDs with 7 characters, tried to write the last 6 with canZE using ELM327 - no luck
  • compiled Development branch (did not notice the beta program :-) )and tried to write again: IDs got written, but tire pressure did not show up.
  • wrote the first 6 characters from the IDs - bazinga! Pressure showed within one minute!
    The sensors are aftermarket from Jansite.
    Complete hardware costs < one time TPMS learning ids at Renault
@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 29, 2019

Great! Yes, >6 characters were reported earlier, but 3 bytes per sensor is the space in the BCM module. Good to know it's the first ones to use. If the print on the box is to be trusted at all (see softamateur's comment above)

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 29, 2019

@redflo I never realized rtl_433 could decode TPMS, but it makes perfects sense. I assume you simply waited until the valves transmitted? Because there is not LF transmitter to make the sensors bow to your will involved.

I really should order a digital radio stick ;-)

@redflo

This comment has been minimized.

Copy link

@redflo redflo commented Nov 29, 2019

@yoh-there Just put the stick into a notebook in your car and run rtl_443. I had to add the switch "-G" because i have Jansite TPMS sensors. Simply drive one minute, the sensors should send almost every second if your speed is > 20km/h. Note that you may see other things too like TPMS from other cars or other devices in the area. So in case you are unsure, make a trip to the countryside :-)

@DompaEV

This comment has been minimized.

Copy link

@DompaEV DompaEV commented Nov 30, 2019

First of all, I would like to say big "Thank you!" to CanZe team for all those years of devotion to develop this very handy tool.
I recently bought used blue ZE40 R90 from 2017 with 17kkm (which looks and feels like new) and immediatelly started to use CanZe with OBDII I already had at home (Panlong, https://www.amazon.co.uk/gp/product/B00PJPHEBO). That adapter might be good for some other cars, but definitelly not for Zoe.

Therefore I ordered recommended KW902 (I got black one from https://www.amazon.co.uk/gp/product/B0785F9P57), which so far seems to be working fine with CanZe.
I faced same problem as @kler (Could not write valves:-E-message.isotp.startswith7f) with version 1.48, so after some Googling ended up here last night and joined test team this morning ;-)
Now I'm waiting for installation of beta release in order to test myself writing of TPMS IDs.

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Nov 30, 2019

Thank you for the heads up. You might want to try to set "Use ISOTP fields" with that dongle, though I see it is one with 2 PCB's stacked and must assume it is like one I bought a few years ago to no avail. While unrelated to this TPMS topic, I'd like to hear if that helps, as that mode soves a lot of "crappy dongle" issues. But not all. Happy driving (and CanZe-ing)

@DompaEV

This comment has been minimized.

Copy link

@DompaEV DompaEV commented Dec 1, 2019

@yoh-there, thank you.
FYI, I made tests with 1.49beta5 and KW902 adapter and now I can successfully write TPMS IDs into Zoe's memory. CanZe was complaining, but values were written (I confirmed by reading them), here are screenshots combined into one resized photo:
1 49beta5_TPMS_KW902

For KW902 it seems that "Use ISOTP fields" should not be checked (although I made successful TPMS test with both set and unset value of this parameter), since some other screens do not work ok (e.g. Charging prediction screen remains with empty values)

BTW, for some unknown reason to me, even Panlong is now able to write TPMS values, regardles of if "Use ISOTP fields" was checked or not.

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Dec 1, 2019

Thank you for reporting back,appreciated. I will test KW902 on Charging Prediction with Use ISOTP fields, as that should work.

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Dec 1, 2019

@minibiti I saw your comment under the release blog post. Can you elaborate?

@DompaEV

This comment has been minimized.

Copy link

@DompaEV DompaEV commented Dec 1, 2019

I think that @minibiti had following in mind:
Screenshot_1 49_main

Message "Please do not try to write Tyre IDs now" is still visible on main page after initially opening app.
It stays there even if you go to "Tires" screen and read TPMS ID values and then you return back to main page.
I suppose that message is gone only after you write TPMS ID values, but haven't checked that this time.

@minibiti

This comment has been minimized.

Copy link
Author

@minibiti minibiti commented Dec 1, 2019

Thanks @DompaEV, this is what I was referring to indeed :)

@yoh-there

This comment has been minimized.

Copy link
Collaborator

@yoh-there yoh-there commented Dec 1, 2019

Ah right, thanks. Fixed. It will take a few minutes to propagate within the github ecosystem to githubusercontent.com. Closing this issue now.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
9 participants
You can’t perform that action at this time.