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

TPMS does not detect some Schrader Sensors (Dodge/Chrysler/Mercedes) #879

Open
helmarw opened this issue Apr 6, 2023 · 19 comments
Open
Labels
bug Something isn't working

Comments

@helmarw
Copy link

helmarw commented Apr 6, 2023

I think i posted it some time ago, but after updating to 1.6.0 i tried it again.
Still nothing from my sensors. I got a lot from other cars but not mine. So in general its working just not all.

I also recorded the BB of one of my sensors i have lying around, and could replay it.
Its beeing detected by rtl_433 on my mac using an rtl_sdr but nothing on the portapack.
see screenshot. I can even see that portapack TMPS RX is receiving some signal but nothing gest decoded
for some reason. Its a pretty standard and common sensor wildly used in most Chrsyler /Dodge and also in a lot of Mercedes
so i dont know whats happening here

who is responsible for the TPMS part ?
I would be happy if i can support getting this fixed, just dont know where to start and what the problem might be
If you need more data or different BB from other Sensors just let me know, i'v a couple of those left over.
I could even send them if that helps..

Schrader_ID19A0480.zip

Schrader_ID19A0480

here a second recording, i think its a bit cleaner and more dataset
Schrader_ID19A0480_take2.zip

@helmarw helmarw added the bug Something isn't working label Apr 6, 2023
@loewal
Copy link

loewal commented Apr 6, 2023 via email

@helmarw
Copy link
Author

helmarw commented Apr 6, 2023

thnx, i thought im the only one

@loewal
Copy link

loewal commented Apr 7, 2023

Have to correct myself (a little):
The screen stays blank, but I saw that there was a tpms.txt created.
Its contents:

20230407080427 433920000 FSK 38400 19200 Schrader C1319CB9B59A34056ACA/8DBE9763DCB37F3A4A2F

So, is this a bug?

@loewal
Copy link

loewal commented Apr 7, 2023

I had to put my microsd in an adapter on my iMac to see the contents of the txt-file.
SD over usb doesn't work (yet) on Macos.
Would it be possible to add a "view" button next to delete etc.... to view the contents of txt-files?

@helmarw
Copy link
Author

helmarw commented Apr 7, 2023

Are you sure this is your sensor?
I also recognize many sensors (including Schrader) as I ride, but none of them are mine.
(Schrader has a lot of different sensors, not all are the same!).
To test this, I got the Miller Tool 9936 to trigger the TMPS sensors on the bench.
I can see the transmitted data after triggering with rtl_433 and a RTL-SDR
but nothing happens in the portapack, neither on the screen nor in tpms.txt

also i can record the transmitted BB with the portapack an replay it. Same there nothing shows on the portapack but on rtl_433 it does...

@loewal
Copy link

loewal commented Apr 7, 2023

Sorry, overlooked the real problem.
My sensors for temp, pressure and humidity don't appear.
I would like to be able to enter the frequency manually.

@helmarw
Copy link
Author

helmarw commented Apr 7, 2023

TPMS with Humidity ? thats a new one! which car/sensor are you using ?
can you record BB and post it here!?

PS: SD card via USB doesnt work with portapack, and wont ever afaik. Nothing to do with MacOS

@gullradriel
Copy link
Member

SD card via usb was just added a few days ago.
No one is responsible for an app, nor the TPMS one

@gullradriel
Copy link
Member

I highly encourage people to try to start hacking themselves.

@loewal
Copy link

loewal commented Apr 7, 2023 via email

@helmarw
Copy link
Author

helmarw commented Apr 7, 2023

if i knew where to start i would have already, but im not even seeing any error msgs nor do i know how to get them.
Is there a debug option on the firmware? im mean not the Menue Debug, something like a logfile to see whats going on ?!
or how do i see whats going on when receiving a TPMS packet ?

someone must have programmed the TMPS readout at some timepoint. Do you know who did it? maybe that someone can point me in the right direction ?!

@helmarw
Copy link
Author

helmarw commented Apr 7, 2023

found my original post from 2020, thats how far i got at that time. Just wasnt enough feedback to actually kinda test it and then life got in the way for me to further continue at that time. maybe now if someone is actually able to program it or point me in the right direction....

just in case there are more people interested in improving the TMPS display, here is more information
furrtek/portapack-havoc#349

@NotherNgineer
Copy link
Contributor

NotherNgineer commented Apr 23, 2023

I'd guess proc_tpms is not matching any of the expected preambles if nothing is being written to the tpms.txt log file. From the rtl_433 debug output and C16 files in issue furrtek#349, it appears that there is no preamble and just a single start bit. Following the start bit, the next byte is 7Fh in the rtl_433 debug output and 83h in the C16 files (possibly the difference depending on whether the trace was taken using the Learn tool vs shaking the sensor). The rtl_433 debug output is also saying it's a standard "Schrader TPMS", not the "Schrader TPMS EG53MA4", and as far as I can tell rtl_433 code doesn't check for a preamble bit pattern and only checks the OOK packet length (should be 68 bits) and CRC to determine it's a TPMS sensor.

Just FYI, thought I'd take a look at this since I recently made other fixes to the TPMS code. I can attempt to create a firmware patch for you to test if it would help (unfortunately I don't have any sensors like that).

@helmarw
Copy link
Author

helmarw commented Apr 24, 2023

that would be great, i can test it for you, no problem!
if you have the possibility to trigger the sensor manually, i can also send you one of my spare sensors.

@helmarw
Copy link
Author

helmarw commented Apr 25, 2023

i just did a testbuy on Amazon to try a cheap Trigger device:
https://www.amazon.de/dp/B08R5VLYPZ?psc=1&ref=ppx_yo2ov_dt_b_product_details
working just fine for less than 12euros

the TMPS-Sensor in question is this one:
https://www.pkwteile.de/schrader/9482285

but you can find them cheaper on ebay or aliexpress, though they might be fine when triggered but not working in an actual car! i found that out the hard way ;)

sorry the video-overlay from my phone is mirrored but you get the idea. The device ID is on the label 19A0480
the same reported by rtl_433
https://user-images.githubusercontent.com/10408121/234269969-6a01fb56-eec9-4326-b459-9f2026df8dd0.mp4

@NotherNgineer
Copy link
Contributor

That's funny, I have the exact same TPMS Trigger device from Amazon sitting on my desk. (I can't help but wonder if there's any way to get hackrf to transmit at the low 125KHz to emulate this trigger device, e.g. perhaps software flipping the carrier on & off).

Anyways I usually just shake my old TPMS sensors to trigger them (or drop them on my desk a few times). When I put one in a covered pot of boiling water (in sealed bags) to check for 100C temperature output, it also transmitted regularly, perhaps because of the temperature change or perhaps from the bubbles. :-)

Would you mind running rtl_433 again with verbose logging enabled -vvv and then trigger the sensors two different ways to see how the output pattern differs?: (1) output when using Trigger device, (2) output when shaking sensor.

When I get my test code ready, I might drive over to a tire shop where they have a bucket of old removed sensors. It might be a few days, but I know you're patient since you originally reported this issue in 2020. :-)

@helmarw
Copy link
Author

helmarw commented Apr 25, 2023

i thought of that too, but 125kHz is to low for Hackrf. Was more thinking in the direction Raspberry or Arduino. But then i got the original Miller Tool for cheap and now i found out a generic 12euro TPMS Relearn Tool will do the trick as well.
So why bother?!

Shaking doesnt work at least not the one i have here extra. There is something wrong with its IMU or whatever its using to detect tyre rotation, it also doesn't work in the car! never buy those things from ebay or china! (see previous post)
But rest assured the device does not send anything different. I tested it extensively in the car while driving and and on the bench triggering it.

what exactly do you want to see from -vvv?
somehow i cannot get the entire stdout written to a file. everthing with "Pulse" in front of it its only displayed in the console but not written to file. i tried this: rtl_433 -R 60 -vvv -F kv:trigger_tpms.txt
but here is the output I copied from console: (one dataset from the sensor)

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
time      : 2023-04-25 16:40:37
model     : Schrader     type      : TPMS          flags     : 00            ID        : 19A0480
Pressure  : 2.5 kPa      Temperature: 22 C         Integrity : CRC
Pulse data: 57 pulses
[  0] Pulse:  102, Gap:   24, Period:  126
[  1] Pulse:   38, Gap:   23, Period:   61
[  2] Pulse:   39, Gap:   23, Period:   62
[  3] Pulse:   38, Gap:   25, Period:   63
[  4] Pulse:   36, Gap:   26, Period:   62
[  5] Pulse:   67, Gap:   23, Period:   90
[  6] Pulse:   37, Gap:   56, Period:   93
[  7] Pulse:   37, Gap:   25, Period:   62
[  8] Pulse:   36, Gap:   24, Period:   60
[  9] Pulse:   37, Gap:   25, Period:   62
[ 10] Pulse:   37, Gap:   25, Period:   62
[ 11] Pulse:   37, Gap:   23, Period:   60
[ 12] Pulse:   37, Gap:   25, Period:   62
[ 13] Pulse:   37, Gap:   24, Period:   61
[ 14] Pulse:   39, Gap:   24, Period:   63
[ 15] Pulse:   37, Gap:   23, Period:   60
[ 16] Pulse:   37, Gap:   24, Period:   61
[ 17] Pulse:   69, Gap:   24, Period:   93
[ 18] Pulse:   37, Gap:   56, Period:   93
[ 19] Pulse:   37, Gap:   23, Period:   60
[ 20] Pulse:   69, Gap:   25, Period:   94
[ 21] Pulse:   36, Gap:   56, Period:   92
[ 22] Pulse:   67, Gap:   55, Period:  122
[ 23] Pulse:   37, Gap:   26, Period:   63
[ 24] Pulse:   36, Gap:   23, Period:   59
[ 25] Pulse:   37, Gap:   24, Period:   61
[ 26] Pulse:   37, Gap:   25, Period:   62
[ 27] Pulse:   38, Gap:   25, Period:   63
[ 28] Pulse:   66, Gap:   55, Period:  121
[ 29] Pulse:   38, Gap:   24, Period:   62
[ 30] Pulse:   68, Gap:   55, Period:  123
[ 31] Pulse:   37, Gap:   24, Period:   61
[ 32] Pulse:   38, Gap:   25, Period:   63
[ 33] Pulse:   36, Gap:   25, Period:   61
[ 34] Pulse:   37, Gap:   23, Period:   60
[ 35] Pulse:   37, Gap:   24, Period:   61
[ 36] Pulse:   38, Gap:   24, Period:   62
[ 37] Pulse:   38, Gap:   26, Period:   64
[ 38] Pulse:   35, Gap:   24, Period:   59
[ 39] Pulse:   37, Gap:   24, Period:   61
[ 40] Pulse:   38, Gap:   24, Period:   62
[ 41] Pulse:   39, Gap:   22, Period:   61
[ 42] Pulse:   38, Gap:   24, Period:   62
[ 43] Pulse:   37, Gap:   24, Period:   61
[ 44] Pulse:   70, Gap:   54, Period:  124
[ 45] Pulse:   67, Gap:   55, Period:  122
[ 46] Pulse:   38, Gap:   24, Period:   62
[ 47] Pulse:   68, Gap:   54, Period:  122
[ 48] Pulse:   38, Gap:   23, Period:   61
[ 49] Pulse:   38, Gap:   25, Period:   63
[ 50] Pulse:   68, Gap:   23, Period:   91
[ 51] Pulse:   37, Gap:   24, Period:   61
[ 52] Pulse:   38, Gap:   56, Period:   94
[ 53] Pulse:   67, Gap:   55, Period:  122
[ 54] Pulse:   38, Gap:   23, Period:   61
[ 55] Pulse:   38, Gap:   25, Period:   63
[ 56] Pulse:   34, Gap: 2501, Period: 2535

and here what's been saved is the file. nothing new though
trigger_tpms.txt

dont worry, whenever you have time i'd like to help ! :)

@NotherNgineer
Copy link
Contributor

Just FYI, I noticed that Honda CRV TPMS sensors aren't showing up either, so I guess it's hit or miss whether a vehicle is supported or not. But, while I've been side-tracked on other code changes, I'm still thinking about how the TPMS code is going to handle the incoming data stream when there is no preamble to check (a preamble helps to filter out random noise). Eventually I will get back to this one... :-)

@helmarw
Copy link
Author

helmarw commented May 14, 2023

maybe have a look at the RTL_433 code?! they somehow handle it...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants