![]() |
*SOLVED* Soft Fail Thermostat?
2 Attachment(s)
With the colder temperatures here I am noticing my temp gauge on the X5 a little cooler than what I think is correct. It runs much cooler on the freeway than in normal stop and go traffic.
Below is the shot on the highway running 65 MPH (a little cool) and the one below that is sitting in traffic (spot on) I was under the impression the temps should always remain in the normal straight up buffer zone? Thoughts? |
Verify the actual temperature with hidden menu item 7 I believe. Temp should rise quickly to 90C and stay there. By the time the "gauge" (more of an indicator light with a needle) shows less than noon you've probably been running below operational temp for months.
If temp verified below 85-90 get a new OEM t stat and change it out it's not a difficult job just plan to remove the fan/shroud. Learn the 1-1/4 " wrench and hammer method. It's so easy I remove the fan for most front of engine repair. I replaced mine two winters ago when I couldn't get cabin heat. The needle still went to noon erroneously reporting normal temp for months when I finally noticed as ambient temperature got close to freezing the needle wouldn't get to top center. Sent from my iPhone using Tapatalk Pro |
Quote:
|
I fought with one of these last year. New Wahler stat to replace the 3mo old Behr stat; no change.
Turned out to be a bad heater valve. Even with the heater off, I was always circulating coolant through the core. With the heat off, feel both outlet hoses, neither should be hot. |
Ouch on the not the t-stat but if the heater valve open, if the t-stat is functioning the coolant temp will get to temp and stay there. Are you saying the heater core kept the needle fake gauge from hitting top center?
|
This is great input guys thank you for responding. Scott ZHP brings up a interesting scenario. While I do not think my cabin is sending heat in on the Mrs. and I, this did seem to start after turning off the AC compressor for the winter.
From all my reading, the immediate call was a soft fail thermostat. Keep the suggestions coming. :thumbup: BTW Andrew, I have modified my E46 temp gauge buffer to show actual values but the X5 is still the stock fake gauge. |
Quote:
When mine soft-failed I would get full temp and not overheat but when ambient was very cold the coolant temp would never get over 60C so i could tell something was wrong (in addition to that when really cold (like -10C), i would get no cabin heat; i had 2 or 3 trips to/from chicago where i had to stop for 5 minutes to let the engine warm up so i could get heat out of the dash to complete my trip. The t-stat had a soft-fail where it wouldn't close off completely, it would open just fine to prevent overheat, but was likely never over 70C for months, i just didn't know because of the moronic non-gauge 'idiot needle' on the dash. Now i check time-to-time to make sure the temp is normal suing dash command (my version of torque). I like the interfaces in dash command and some fun things like automatic 0-60 and quarter mile times as well as instantaneous horsepower. If you have a soft-fail open t-stat you won't achieve full operational temp when it's cold ambient, but when ambient is not that cold you will. I'm curious about the heater valve, and that's a good test anyhow to make sure it's working (that the heater hose should be cool not hot when no demand for heat). Another low-heat situation is if coolant is low; apparently no indicator on 01 e53 even though the coolant reservoir has the sensor it's not hooked up; my reservoir recently sprung a leak and it took 'too long' to get cabin heat even though dash command reported coolant temp was fine. quick check on level and it was 2L low; topped it off and heat came back immediately i didn't figure out for a week what was the source of the low coolant. |
Quote:
I yanked the heater valve; the coil in one was bad and the seals were gone in the other. Both were circulating coolant to the heater core all the time. New heater valve and all was well. |
You got cabin heat though? This is some great feedback I'd hate to go down the wrong rabbit hole when wife's x5 follows mine. I'm about 20k miles ahead of her but maybe 1000-1500 hours less (so I'm not too surrounded her fuel pump failed before mine but interesting that our CPS each failed within 2000 miles of 130,000 miles.
Sent from my iPhone using Tapatalk Pro |
Quote:
|
At 150K miles, you need a cooling overhaul (tstat-housing combo, water pump, hoses, fan clutch etc.), I posted a DIY in the forum a few years ago.
|
The "parts cannon". Great line I just learned. Easy to exclude the heater core acting like second radiator: just make sure the heater hoses aren't full temp. Heater off. Engine takes to r long to reach closed loop. I suspect you can IR temp the upper hose on the radiator it should not be hot until reaching operating temp and thermostat opens
Sent from my iPhone using Tapatalk Pro |
Quote:
|
I would maybe wait for the water pump to fail as the trigger for the parts cannon on that overhaul. I'm right at the point is about time. It's so easy to do hoses with quick release I think I may do the refurb in stages. Wife's car is about 10,000 miles behind me so that should space us a year apart.
Sent from my iPhone using Tapatalk Pro |
Quote:
|
1 Attachment(s)
I took the drive this morning to validate the temps on the highway. Sure enough, dropped to 67C. As mentioned above the car sitting in traffic would hold at 88C so it looks like it is certainly a soft fail thermostat. I picked up a new thermostat and housing from the dealer and removed the fan and shroud and am just waiting on the engine to cool a little before dumping the coolant to replace it.
|
3 Attachment(s)
All done and solved. About 30 minutes start to finish to replace the thermostat and housing. I spent more time test driving it after the job was complete. Looks like it holds right around 87C-93C all the time, on highway or in traffic. :thumbup:
|
:thumbup:
|
1 Attachment(s)
Just for an FYI, the needle high noon position is buffered from 75C to 115C. 40C variance and you will never see any change. LMAO, BMW.
I changed this buffer on my E46 to be 90C-100C with the hex editor inside PA Soft 1.4. I really should have a look at the hex on the E53 and see if we can get the same results. |
Quote:
Absolutely!! I would be all-in for that info!! I don't have PA Soft yet, but I would invest in it if I could get all my temp gauges to read closer to real World values... I have an issue with my newest addition to the family... Becky, as we have begun to call her, will not heat the cabin, despite having hot inlet heater core hoses... The return is luke warm, indicating a blockage on the return side... Has anyone experienced this one? Anyone replaced the heater core yet? I have not pulled things apart yet... I saw this post and figured I'd add instead of making a new one... Cheers all!!! |
I never found a hex set that works with my X5. I reprogrammed my other bmw's read right temp wise but I cant find anything for the X5 :(
|
The tstat is only the beginning.
At this mileag of 150K miles, a lot of things will go wrong: - WP - Fan Clutch - Fan Blades - Hoses - Belts - Pulleys x 3 etc. etc. This is why one needs to do a cooling overhaul at this mileage. |
2 Attachment(s)
Quote:
0x0F0 rolling into 0x100 0x290 rolling into 0x02A0 My original hex code starting at: 0F 62 32 CB 4B CB 73 38 78 6A 7D FF Changed to: 0F 62 3C CB 55 CB 5F 38 6E 6A 73 FF This brought my buffer to 10C (85C-95C) instead of the ridiculous 40C (75C-115C) and lowered my red zone from 125C to 115C so I have some early warning to shut it down without killing the engine. It also brought my blue zone from 50C to 60C so I would have been alerted about my soft fail thermostat easier. I programmed the EEPROM and took it for a ride with Torque Pro running and it is right on the money. I can not test the red zone but it can only be spot on as well. For anyone wanting to change the buffer on the stock X5 E53 you need PA Soft 1.4 software. Here are step-by-step instructions with PA Soft 1.4 1) Click on IKE. 2) Click "Read EEPROM" 3) Hex editor functions are in the lower left hand corner. Click the floppy disk icon to save the factory loaded file onto your desktop as backup. 4) Make revisions from "factory" values to "revised" values shown above: Find the corresponding offset and move the cursor over the bytes to be revised. You can use arrow keys to move the cursor as well. 5) Click "Write EEPROM." Your cluster will flash and beep several times after completion -- and like magic, your gauge will now reflect more accurately what's happening under the hood. 6) You will need to reset you time and date after the cluster EEPROM has been flashed Viola! |
Quote:
|
Just double checked and those numbers are different from what I have saved out as trying last time. Will try again.
|
Quote:
|
Quote:
|
I will check when I get back from getting cigs. I don't want to tinker with it till I get back in case something messes up.
The search string was different I tried before so the one you listed might work will know in under an hour. |
Quote:
|
Will do. I just got home and eating real quick and I will go out and try it.
|
I guess my cluster is weird.
Here is what mine has in the line in question. 0F 65 32 D0 4B D0 73 38 78 69 7D FF |
1 Attachment(s)
Quote:
0F 65 32 D0 4B D0 73 38 78 69 7D FF 0F 65 3C D0 55 D0 5F 38 6E 69 73 FF |
Ok lets try it.
BRB |
1 Attachment(s)
Your values modified
|
Make sure to change both strings in both addresses
|
I changed both. Gauge still works but I don't think it is matching that picture. I will have to wait till tomorrow to test better. It just started pouring rain.
Stupid auto locking doors are back not auto locking again and I have tried a bunch of different speed settings. I had this problem before with the doors and had to find a sweet spot speed setting which I cant remember what it was. Anyways between testing the gauge and testing for the door locks I didn't give the gauge as much attention as I should have but will tomorrow. |
Quote:
|
That's one nice thing about the ibus adapter I have on the stereo now. I see the water temp all the time. I actually don't even look at the gauge that much anymore but I do want to get it coded right.
|
I badly want to get my and wife's idiot needle turned into a gauge don't have the hardware or software yet.
Sent from my iPhone using Tapatalk Pro |
PA Soft is WELL worth buying. I waited far to long to get it. I had inpa and stuff and even the carsoft software. All worked fine and all but for down and dirty quick changes pa soft rocks. Its faster to get to what you need and easier to set than all the other ones.
I think I paid $20 or $30 for the cable and software off ebay. |
In case someone runs across me fussing about the auto locking I think I figured out the problem.
If you don't set the remote to do convenient locking or whatever its called you have to manually unlock the door lock with the key for it to auto lock at x mph. I have that turned off from what I remember. I will turn it back on when the rain quits or tomorrow (more likely tomorrow) and test it but I bet that's the problem. |
Ok last side track on this thread I promise. I fixed the auto locking. I didn't have after start key 1 key 2 etc checked. Once I did that I was even able to get it to lock at 4kmh which is what I wanted all along.
I watched the gauge some more and it seems to be working right. Tomorrow when its cold I will test it from cold to center position. |
Quote:
|
My 323i has 410k miles I think, haven't driven it lately so not exactly sure.
But its auto locked its entire life and still works. I worry more about getting car jacked or something blind sided wise. You can handle stuff if you see it coming but those out of the blue things are rough and I want a few seconds warning at least when I have the wife with me. I probably wouldn't of cared if I didn't have it already on the 323i all those years. You get used to it and all. I never even lock the doors on my other vehicles that don't have it but on the bmw's it just feels right for it to be there. |
Quote:
|
I never looked. I was afraid to use the programming options and such in the android stuff since it might mess up what I worked so hard to get just right with the coding. But I do need to look and see if it has stuff to issue commands like that and not be a coding thing. The software I wrote for the some of my other bmw's could do that but I wrote that so I can add to it. The x5's stuff I bought so no source code. But it may have something like that in it as it has a ton of options.
|
The double pull on the handle was annoying a few hundred thousand miles ago but it gets to be second nature pretty fast on the bmw's. Of course it makes you feel stupid on the non bmw cars when you try it.
|
If anyone wants to adjust the temperature thresholds in the gauge other than the settings/values I used, here is a chart showing the decimal values to hexadecimal values.
20C=14 25C=19 30C=1E 35C=23 40C=28 45C=2D 50C=32 55C=37 60C=3C 65C=41 70C=46 75C=4B 80C=50 85C=55 90C=5A 95C=5F 100C=64 105C=69 110C=6E 115C=73 120C=78 125C=7D 130C=82 135C=87 140C=8C |
Quote:
Annoys me because my car doesn't autolock but my wife's car does. I've recently driven a car that auto locks on shift to drive but auto unlocks on key off. Not sure if that could be programmed into x5. Anecdotally: two of wife's lock actuators are broken at 145000 miles none of mine are broken at 156000. What pisses me off regularly is moving the car 50 feet and I get out and can't get something out of the "trunk" happens a few times a month very irritating. Happened twice yesterday! Even more annoying lately because one of the broken actuators will lock but won't unlock. I have to reach in from the driver's door to unlock the rear door from inside. It's where I keep my mobility scooter. Wife likes the auto lock but once I can program it I can set it to lock at 15-20 mph for her and 750 mph for me. |
Quote:
First, general question, when you say "0x0F0 rolling into 0x100" do you mean that the 12-element byte array that you list is present in consecutive elements spread across those two 16-element rows? I think yes, but just checking. For example, my first appearance looks like: 0x0F0 08 45 14 E8 27 0F 5E 32 C9 4B C9 73 36 78 6A 7D 0X100 FF ... Then regarding the values found in there, it looks like there are different values found by overboost, crowz, and now me. Here's what I've found reported here, plus what I found on my 2001 3.0i with high cluster. 0F 62 32 CB 4B CB 73 38 78 6A 7D FF overboost original 2004 3.0i high 0F 65 32 D0 4B D0 73 38 78 69 7D FF crowz original 0F 5E 32 C9 4B C9 73 36 78 6A 7D FF oldskewel original 2001 3.0i high The fact that these arrays do not match raises some concern for me, and I figured I should think before bricking my car. 6 of the 12 values in each array seem to map to meaningful values, as I'll write out here: 0F 62 32 CB 4B CB 73 38 78 6A 7D FF overboost 0F 65 32 D0 4B D0 73 38 78 69 7D FF crowz 0F 5E 32 C9 4B C9 73 36 78 6A 7D FF oldskewel 15 -- 50 -- 75 -- 115 -- 120 -- 125 -- hex to Decimal (*C) conversions. meaningful values shown, others left as "--" It looks like those 6 break point temps all match for all 3, as do some of the others. So if it is true that the 6 other ("--") values don't matter, then the 3 original arrays do match between overboost, crowz, and me. The gauge visualizations show 8 total values, but I think I figured this one out. The two extra ones (e.g., 60*C and 118*C) are not actual break points. They are interpolated, which is why they show in light gray in the visualization. So there are only 6 actual values to adjust. So I think I've figured things out as I have carefully composed this question. I'm thinking I should leave the ("--") values as is, and modify only the 6 meaningful breakpoint values, making sure to make the change in both places this array appears. Sound good? |
Quote:
First thing to do is save your original .bin so if it gets sideways, you have a way back. Second is to remember you have 2 lines of code that need to be changed. 0x0F0 rolling into 0x100 and 0x290 rolling into 0x02A0. This will keep the checksum correct. I think you only need to change 5 hexadecimal values as I did. 0F 5E 32 C9 4B C9 73 36 78 6A 7D FF original 0F 5E 3C C9 55 C9 5F 36 6E 6A 73 FF modified 1) Click on IKE. 2) Click "Read EEPROM" 3) Hex editor functions are in the lower left hand corner. Click the floppy disk icon to save the factory loaded file onto your desktop as backup. 4) Make revisions from "factory" values to "revised" values shown above: Find the corresponding offset and move the cursor over the bytes to be revised. You can use arrow keys to move the cursor as well. 5) Click "Write EEPROM." Your cluster will flash and beep several times after completion -- and like magic, your gauge will now reflect more accurately what's happening under the hood. 6) You will need to reset you time and date after the cluster EEPROM has been flashed |
It all worked.
To clarify for others on a few things that are not clearly stated anywhere, that I can find... On those nice graphical gauges you'll see on threads like this and others, there are 6 breakpoints that can be set. Two of the 8 numbers, printed in gray, are not settable. They are just interpolated for the graphics. From looking on other threads, it appears that different (not E53, or post-facelift E53, even high vs. low cluster may be a factor) BMWs will have a different arrangement for these 6 values, e.g., they may all be consecutive in the EEPROM. But for my 2001 E53 3.0i with the high cluster, the 6 values (hexadecimal representation of the *C value of the breakpoint) are listed in every other element in an array of 12 values (2 posts earlier). The in-between values (between every other) vary between the 3 different examples I found. No idea what they mean, if anything. Other threads for other BMWs talk as if they are some representation of angle, but that is definitely not the case for my values. I left all those in-between values untouched, only editing the 6 true breakpoint values. This 12-element array is repeated twice within the EEPROM. Both arrays must be found and edited, and must match eachother - the "checksum" (not really) is done by having an entire second copy. In the PA Soft 1.4 EEPROM editor, each row contains 16 elements (bytes), and the 12-element array for the temp gauge will be / may be / was for me spread over two rows in each of the two locations in EEPROM. So don't expect the first element in the 12-element array to be the first element in a row. Similarly, the in-between values are not consistent between the 3 examples I found (crowz, overboost, oldskewel), so you can't search the whole EEPROM for a segment and expect to find it (like I tried and failed at - made tougher since I was not sure if I was using the search function wrong, etc.). So editing those 6 values within the 12-element array will let you customize your temp gauge however you like. It is said and implied in a few places that the 3rd and 4th of those 6 values correspond to the beginning and ending temps in a buffer that points to a single angle = straight up. This is the infamous "buffer." So it is said that between 75*C and 115*C (the original settings) the needle points straight up at this single point. I don't know if that is an exaggeration (i.e., single point vs. truly a small linear range, for example as is shown in the graphic). I've seen some advocate to set both ends of that buffer with the same value, to basically mean it's a point, rather than a buffer. Not sure what to believe and not wanting to make it more of a research project, I set those values to 94 and 96*C. Not quite a point in case dividing by zero would blow up my car. And believing the thermostat opens around 95*C, I figured straight up would be good at that temp (which is also the midpoint of the original 75-115 buffer). Figuring out all the above to a level of confidence needed before implementing it took some time. Hopefully these notes will help someone else. ========= However, unlike ^^^that^^^ research project (confirming exactly what EEPROM values to edit), installing and using PA Soft 1.4 was definitely not a research project. I wish I had got and installed it years ago. I bought something called BMW Scanner 1.4 on eBay: https://www.ebay.com/itm/Programmer-...3/132853106131 Searching eBay for the 1.4 BMW Scanner will find it. I paid $12. Was supposed to come from China, but somehow mine arrived 3 days later from within CA. That eBay listing very clearly says that it will only work on Windows XP, but I did not try that since it worked fine on my Win10. Then these instructions: https://forum.e46fanatics.com/showpo...72&postcount=1 Work perfectly. No need think, guess, iterate, experiment. I just followed them exactly (despite the post being 7 years old), using my completely normal Win10 x64 laptop (about as normal as you can get), and it installed, ran, etc. Reading / clearing errors (including some my Foxwell NT520Pro did not find), editing EEPROM, etc. all worked exactly as it was supposed to. I had held off for a few years on any programming solutions like this since they always seem to be research projects just to get the thing installed. Believe it or not, it took about an hour to get my Foxwell going (registering myself, registering my device, learning that there are two different things to register, checking that the software is updated, etc. - it is just not clear and accurate, guessing is required), but this BMW Scanner 1.4 was up and running in 15 minutes. |
Glad it all worked! Posting your original hex numbers and modified numbers may be helpful for future reference by those modifying their temp gauge buffers.
I think because you have a high cluster, you may be able to code the LCM overheating warning gong to 115C like we did as well. However, you will need NCS Expert and NCS Dummy for this coding. https://xoutpost.com/1150096-post81.html So it seems as though we do have an alarm for overheating engine on the high clusters which would be a gong and a text message in the cluster coming from the LCM as per wpoll's advice. I looked at my trace file for my C22 LCM and found the following. KUEHLMITTELTEMP = melden (reported) (CHECK CONTROL FOR COOLANT TEMPERATURE) KUEHLMITTELUEBERTEMP_CAN = activ (CAN-BUS COOLANT OVERHEATING) MOTOR_UEBERTEMP = 125_grad_celsius - 125 ºc (257 ºf) with an option of 130_grad_celsius - 130 ºC (266 ºf) (ENGINE OVERHEATING [TEMPERATURE_ºC=DATA]) So if MOTOR_UEBERTEMP are the alarm thresholds: I will add another parameter to MOTOR_UEBERTEMP: 115_grad_celsius - 115 ºc (239 ºf) Open up the LCM.Cxx file with NCS Dummy without loading any FSW_PSW files, go down to MOTOR_UEBERTEMP, right click it, and click "add parameter". Name it whatever you want, and under data put the hex value of the temp alarm you want. Then click on module -> update module. You will be able to select that new parameter when coding the LCM now. https://xoutpost.com/attachments/x5-...-alarm-mod.jpg |
Quote:
original 12-element array: 0F 5E 32 C9 4B C9 73 36 78 6A 7D FF updated 12-element array: 0F 5E 3C C9 5E C9 60 36 6E 6A 73 FF My earlier post has more info, comparison with crowz and overboost values, etc. With this change, I moved the breakpoints from 15 - 50 - 75 - 115 - 120 - 125 - to 15 - 60 - 94 - 96 - 110 - 115 - But I will see how this runs and may change it. On the high-cluster E53s, there is no warning light built into the gauge, as there is on the low-cluster ones. As overboost mentions, there is a gong and warning message. |
Great information for our members oldskewel. Thank you! :2thumbs:
|
Just in case someone hasn't saw the other topic a link to my post about easy recoding the temp gauge is here https://xoutpost.com/1195086-post174.html
|
| All times are GMT -4. The time now is 07:38 PM. |
vBulletin, Copyright 2026, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.6.0
© 2017 Xoutpost.com. All rights reserved.