Ford Focus ST Forum banner

21 - 40 of 47 Posts

·
Registered
Joined
·
2,206 Posts
I've heard Keka is the preferred unarchiver for mac. Are you able to get a checksum to compare what you are extracting is the same as the source? I have had issues in the past with flashing my various phones and have had issues with not getting the exact file downloaded/extracted image causing softbricks. Highly doubt that is your issue at this time with how many times you have tried but just throwing out ideas.
 

·
Registered
Joined
·
248 Posts
Discussion Starter #22
I've heard Keka is the preferred unarchiver for mac. Are you able to get a checksum to compare what you are extracting is the same as the source? I have had issues in the past with flashing my various phones and have had issues with not getting the exact file downloaded/extracted image causing softbricks. Highly doubt that is your issue at this time with how many times you have tried but just throwing out ideas.
Sure I'll give that a shot with a Keka-unzipped version of the file. Low hopes for now.


I will also confirm: the IPC continues to update the odometer, even with this failed flash. I verified this through Forscan and FoCCCus. Makes sense since the gauges still work due to the successful firmware and EEPROM flashes. So at least I can drive the thing and not worry about an incorrect speedometer. Passing inspection without an odometer reading is another matter :cautious:
 

·
Registered
Joined
·
2,206 Posts
If the cluster is messed up beyond flashing/fixing, are you able to swap in a new cluster? Swap the whole thing to a '15+? You confirmed you can update the odometer, right?

I havent seen much on the mk3 focus with swapping but i did it with my '07 to a cluster that had a tach. Ford thought it was a good idea to not include one with a manual car for some reason and i wanted one
 

·
Registered
Joined
·
248 Posts
Discussion Starter #24
Update: My ELS27 clone arrived and I got right to work on it. I had to use ELMConfig to set the baud rate on the device (It was set to 9600 bps. Forscan complained and temporarily upped it to 2000000. ELMConfig can permanently set it to that, so I did).

Forscan thinks highly of this clone. 0% error and excellent latency. Seems to be the highest quality piece I have so far. I was optimistic.

Until I uploaded the pictures file.... I got to 84% this time

377311


So it's encouraging that I at least passed that string of blocks that caused both ELM327 cables to hang at 59%, but I now have a new wall that I hit. Following suggestions from another member, I removed the IPC and rigged up a harness so that I could do this on the bench. Using my car battery (with charger hooked up) as a 12v power supply, I got to work with a bench run.

It seems to go faster on the bench, but the first run failed at 50%. The next run caused me some more frustration. Wouldn't you know that it hung AGAIN at 84%?

5.png


Sigh... kill me now
 

·
Registered
Joined
·
248 Posts
Discussion Starter #26
After another failure at 42%, I'm trying another run with a higher CAN timeout (72ms) - I don't know much about this setting other than people say to lower it. I tried it at 36ms and 40ms and 52ms with no success. Is it possible that a higher value allows the cable to wait longer for a successful block write?

I also just tried lowering the USB block size, which is supposed to help with stability at the penalty of speed.

As far as I can tell, the port speed setting in windows' COM settings has no effect on anything.
 

·
Registered
Joined
·
248 Posts
Discussion Starter #27
Well block size minimization and raising the CAN timeout to 72 did nothing. Not only was it super slow, it crashed at 15%
 

·
Moderator
Joined
·
1,733 Posts
Congrats! Im really glad you got this straightened out.
 
  • Like
Reactions: Melchior

·
Premium Member
Joined
·
613 Posts
Awesome stuff man!! Way to fight through it!! Tough guy stuff right there!!
 
  • Like
Reactions: Melchior

·
Registered
Joined
·
2,206 Posts
lol, i was beginning to lose hope. So...was it giving a shot of rum to jobu that ultimately got this to flash? sacrificed a chicken? what was the magic combination?

 

·
Registered
Joined
·
248 Posts
Discussion Starter #33
So...was it giving a shot of rum to jobu that ultimately got this to flash?
Great reference!
The ELS27 clone is what eventually got it done. To solve hanging at 84%, I used a windows 7 laptop and the ELMConfig program (run as administrator) to set the baud rate of this cable to 115200 bps. I matched Windows COM port settings to this rate, and set the latency timer to 1ms. In FoCCCus, I had “auto” and “maximize speed” checked. Oddly, it connected at 4000000 bps, faster than it ever has under any other combination of settings (even when I had the ELS baud rate set at 2000000). I used my HW number in the recovery field when uploading the file. MM-CAN through was set to MS-CAN and I used a 28ms CAN timeout.

I also did this on the bench, using another car as a 12v power supply and a custom harness to connect/power the cluster, as per suggestion from @carrot . Since my first run with this setup also failed at 84%, I can't say whether doing this on the bench had any positive effect, but anectdotally it did seem to write faster this way.

This was the magical combination of settings that worked. I can't say that it's consistent, but I sure as hell don't want to try again. Perhaps I'll gather a nice summary for future reference.
 

·
Registered
Joined
·
168 Posts
Thanks so much for your creative thinking (and expertise).

In every one of my attempts, "stop bit" has always been set to 1
I recall changing flow control to 'hardware' once or twice with my VINT cable with no success, so I have been keeping it back on none. I haven't tried it with the OHP, and I certainly haven't done x-on/x-off on any attempt. I don't know anything about flow control. When you say that the flow control method is usually the problem with the gear you deal with, are you referring to similar products that access OBDII ports?

As for the comm speed, that's interesting. I always have difficulty getting FoCCCus to start unless I have "auto" checked, and it always jumps the baud rate up to 500000 bps. I seem to remember getting it to connect with a manual setting once or twice, maybe at 152000bps? Your comment about crc errors is interesting. Isn't the MS-CAN bus a 125000bps thing? Should I try firing up FoCCCus at this speed? It also seems like whatever my port speed setting is in COM settings is irrelevant and FoCCCus just ignores it (default is 9600 bps FWIW).

I do have a 20-year-old Compaq presario with a serial port actually. I don't know anything about rs232 chips, is that part of the serial port?
Sorry for the delay, I only poke around here once in a while when I get the "trending posts" email.
"Flow Control" in the context I am referring to it is related to RS232 comms (serial ports). The dongle you are using is emulating RS232 so you can plug it into a USB port, so it is a virtual COM port. That being said, you still need to configure the virtual port just like you would with a physical serial port. RS232 is how the device talks to your COMPUTER, not the OBD port. I'm not real familiar, but I think the ODB ports are straight-thru wiring and the PC software talks directly to the modules through the bus. I assume it is RS232 protocol of some sort.
ANYway... changing those settings I mentioned can help eliminate errors when transferring data or character sets. sometimes you can have a "working" connection and type commands, etc just fine, but if you start trying to send data packets like you are, it can bomb out due to CRC errors, buffer overflows, stuff like that. The flow control is how various devices throttle those transfers to stop from overwhelming one side or the other. It can me a mash-up of combinations. Normally when I have problems, it's either the COM speed (9600, etc) or the flow control. Stop bit is set to "1" in about 95% of all cases, but it's something else to try when a device is being strong-headed like this thing is. Start at the slowest setting of 9600 and fart around with the flow control and see if you can get it chooching that way. I'll warn you though, 9600 is incredibly slow... but you need a successful transfer, not high-speed movie downloads. Give that a shot and see what happens.
-------
edit: Nevermind, I see you finally beat it into submission. Congrats. That stuff can be frustrating.
 

·
Registered
Joined
·
168 Posts
Thanks so much for your creative thinking (and expertise).

In every one of my attempts, "stop bit" has always been set to 1
I recall changing flow control to 'hardware' once or twice with my VINT cable with no success, so I have been keeping it back on none. I haven't tried it with the OHP, and I certainly haven't done x-on/x-off on any attempt. I don't know anything about flow control. When you say that the flow control method is usually the problem with the gear you deal with, are you referring to similar products that access OBDII ports?

As for the comm speed, that's interesting. I always have difficulty getting FoCCCus to start unless I have "auto" checked, and it always jumps the baud rate up to 500000 bps. I seem to remember getting it to connect with a manual setting once or twice, maybe at 152000bps? Your comment about crc errors is interesting. Isn't the MS-CAN bus a 125000bps thing? Should I try firing up FoCCCus at this speed? It also seems like whatever my port speed setting is in COM settings is irrelevant and FoCCCus just ignores it (default is 9600 bps FWIW).

I do have a 20-year-old Compaq presario with a serial port actually. I don't know anything about rs232 chips, is that part of the serial port?
I thought I would reply just for future reference.
Serial communications (IEEE = RS232) is a standardized communication implementation that is meant to make it possible to communicate with all sorts of different devices, normally using a PC, it will usually attempt to negotiate on connection. Sometimes it works, sometimes it doesn't, but there's always a reason. For instance, if you set your baud rate to 115,200 on the PC side, but the device you are plugging into will only speak 9600 (and there is no way of knowing without documentation from the chip maker), it won't work, you'll get nothing, or worse... corrupted packets and data. The same is true for flow control.. both sides have to speak the same language and know what to expect from one another. If settings don't match, it's basically like trying to talk to someone in chinese who doesn't understand the language. Baud rate and flow control are usually the problem... slower baud rates are "usually" a safer bet as most newer devices will negotiate to a lower speed, they just can't talk faster than what they are designed for. And I'm not even mentioning the fact that some device makers will do a non-standard pin-out on their interfaces, and it's maddening when they do it. Buying white box Chinese crap might get you into this mess, and it's undetectable without a pass-though and other complex gear to see what the hell is going on with the pins. there is also two different kinds, 3 wire and 5 wire... it's messed up for something they try to call a "standard". But it is the basis for communicating with all sorts of intelligent gear because it is a self-contained protocol and link layer... ie: no operating system is required to make it work, all comm is done at the hardware level (typically). The USB adapters that convert to RS232 are often software layers that run the transport though. Few if any manufacturers are including RS232 chips on their PC boards these days, so the USB thing is near unavoidable. They do usually work well though, it's just a matter of matching the settings for both sides as described above.
I've had to deal with this baloney for a couple of decades in my business, so it's kinda second nature for me. It's really a lot simpler than it sounds if you've ever had to deep dive into it like I have in order to make things work... CNC machinery, network gear, data center gear. Hell, I even had to use it once to connect to a funky refrigerator that my dad bought in order to setup the WiFi crap. I'm always looking for a serial port on stuff to see if I can get into it and perpetrate some sort of evil, but it's getting less and less common these days.
If you are at all interested, the wiki for RS232 is pretty good and you don't have to read the IEEE version that will bore you to tears.

RS232 Wiki Page
 

·
Registered
Joined
·
248 Posts
Discussion Starter #36
I thought I would reply just for future reference.
Serial communications (IEEE = RS232) is a standardized communication implementation that is meant to make it possible to communicate with all sorts of different devices, normally using a PC, it will usually attempt to negotiate on connection. Sometimes it works, sometimes it doesn't, but there's always a reason. For instance, if you set your baud rate to 115,200 on the PC side, but the device you are plugging into will only speak 9600 (and there is no way of knowing without documentation from the chip maker), it won't work, you'll get nothing, or worse... corrupted packets and data. The same is true for flow control.. both sides have to speak the same language and know what to expect from one another. If settings don't match, it's basically like trying to talk to someone in chinese who doesn't understand the language. Baud rate and flow control are usually the problem... slower baud rates are "usually" a safer bet as most newer devices will negotiate to a lower speed, they just can't talk faster than what they are designed for. And I'm not even mentioning the fact that some device makers will do a non-standard pin-out on their interfaces, and it's maddening when they do it. Buying white box Chinese crap might get you into this mess, and it's undetectable without a pass-though and other complex gear to see what the hell is going on with the pins. there is also two different kinds, 3 wire and 5 wire... it's messed up for something they try to call a "standard". But it is the basis for communicating with all sorts of intelligent gear because it is a self-contained protocol and link layer... ie: no operating system is required to make it work, all comm is done at the hardware level (typically). The USB adapters that convert to RS232 are often software layers that run the transport though. Few if any manufacturers are including RS232 chips on their PC boards these days, so the USB thing is near unavoidable. They do usually work well though, it's just a matter of matching the settings for both sides as described above.
I've had to deal with this baloney for a couple of decades in my business, so it's kinda second nature for me. It's really a lot simpler than it sounds if you've ever had to deep dive into it like I have in order to make things work... CNC machinery, network gear, data center gear. Hell, I even had to use it once to connect to a funky refrigerator that my dad bought in order to setup the WiFi crap. I'm always looking for a serial port on stuff to see if I can get into it and perpetrate some sort of evil, but it's getting less and less common these days.
If you are at all interested, the wiki for RS232 is pretty good and you don't have to read the IEEE version that will bore you to tears.

RS232 Wiki Page
Thanks for the fabulous info!
 

·
Registered
Joined
·
19 Posts
Great reference!
The ELS27 clone is what eventually got it done. To solve hanging at 84%, I used a windows 7 laptop and the ELMConfig program (run as administrator) to set the baud rate of this cable to 115200 bps. I matched Windows COM port settings to this rate, and set the latency timer to 1ms. In FoCCCus, I had “auto” and “maximize speed” checked. Oddly, it connected at 4000000 bps, faster than it ever has under any other combination of settings (even when I had the ELS baud rate set at 2000000). I used my HW number in the recovery field when uploading the file. MM-CAN through was set to MS-CAN and I used a 28ms CAN timeout.

I also did this on the bench, using another car as a 12v power supply and a custom harness to connect/power the cluster, as per suggestion from @carrot . Since my first run with this setup also failed at 84%, I can't say whether doing this on the bench had any positive effect, but anectdotally it did seem to write faster this way.

This was the magical combination of settings that worked. I can't say that it's consistent, but I sure as hell don't want to try again. Perhaps I'll gather a nice summary for future reference.
What was the exact cable you used?

Definitely just ran in to this issue. Definitely no longer have an instrument panel. LOL
 

·
Registered
Joined
·
248 Posts
Discussion Starter #38
What was the exact cable you used?

Definitely just ran in to this issue. Definitely no longer have an instrument panel. LOL
If I recall, it's the Sojoy one on Amazon. The one with the clear plastic.

Don't panic. If this cable still doesn't work, then try to run the update on the bench like I did. You'll eventually get this thing flashed.
 

·
Registered
Joined
·
19 Posts
If I recall, it's the Sojoy one on Amazon. The one with the clear plastic.

Don't panic. If this cable still doesn't work, then try to run the update on the bench like I did. You'll eventually get this thing flashed.
What does on the bench mean in this context, and what does a custom harness entail? I'm a little confused here.
 

·
Registered
Joined
·
248 Posts
Discussion Starter #40
What does on the bench mean in this context, and what does a custom harness entail? I'm a little confused here.
You basically take out the instrument cluster (really easy to do) and directly power it with a 12v source (I used a car battery), and directly connect the ELS27 cable to the data pins on the back of the IPC. Here's a diagram:

385230
 
21 - 40 of 47 Posts
Top