Well, I found a viable part. Doesn't matter, though. When I pulled the ECU again to confirm a few things, I took some measurements, and it turns out I flubbed it up pretty bad when I was resoldering some pins on the connector, which is what was causing all holy hell to break loose when I plugged in both sets of coils, as well as the occasional misfire. Since the errant solder blob is between the board and a 108 pin connector, the remedy is a new ECU as there is absolutely no way I am desoldering that entire connector to clear it.
I removed the IGBTs (yes, it turns out that is what they are) that drive the (not plugged in anyway) secondary coils as a temporary measure and the truck is drivable in the interim.
Full details below, if you care to read them. If not, well, thank you for stepping in to help, and I'm sorry to report that this endeavor turned out to be a complete waste of time, aside from the now solid diagnosis of an issue I've been chasing for some time.
My truck, a '97 Ford Ranger, has a dual-spark/wasted-spark ignition system. The theory of operation is such that there are two spark plugs (primary and secondary) on each cylinder and cylinders are split into pairs, sharing a single coil, for the purpose of spark control. Cylinders 1 and 4 are one pair, with 2 and 3 making the other; this is the wasted spark portion of the system, so named because both cylinders in a pair will have spark at the same time, though one will be on its exhaust stroke, thus wasting its spark. The primary ignition circuit operates at all times, the secondary only under load or after the engine reaches operating temperature; this is the dual spark portion of the system.
Due to how the dual spark system works on this engine, the engine can run on the primary coils alone, but not so on the secondary coils, as they do not activate during a cold start. This was the cause of my initial problem: a failing IGBT on the primary ignition circuit was causing rough idle, missing at idle, and occasional (becoming more frequent) stalling when returning to idle, until the engine warmed up. No misfire condition was present under load or once the engine reached operating temperature -- both conditions under which the secondary ignition circuit became active.
My initial proof of this fault was to drive the vehicle until the engine reached operating temperature, then disable the primary ignition circuit by disconnecting the input from the coils. I noted no change in engine operation, which is what I expected as the engine was at operating temperature and the secondary coils were functioning. I, then, further proved the fault be reconnecting the primary ignition coils and disabling the secondary ignition coils. My rough idle and misfires returned, and the misfire condition worsened under load.
The fault was clear, something in the primary ignition circuit was not right. I was working with new (and OEM) coils, plugs, and wires, but did not automatically assume them to be good. I swapped coil packs from primary to secondary and repeated my test with identical results -- my coils are good. The misfires were being reported primarily on cylinder 1, with most of the rest on cylinder 4, so I focused my efforts there. The spark plug wires for cylinders 1 and 2 are close enough in length that I was able to swap them, along with the spark plugs, to see if the issue followed. It did not, confirming that my spark plugs and wires were good. If the issue were on cylinder 4, it would bear the majority of the misfires.
That left the ECU.
There was no obvious or apparent damage and the combination of a thick conformal coating and lack of microscope meant inspecting solder joints was a no-go. So, I set right in on scraping the conformal coating off around the IGBTs and the related pins on the 108 pin connector, re-wetting the joints with some fresh solder, and wicking them clean before applying new solder. That's when the photo I posted earlier was taken -- and I did not reinstall and power up the ECU in that state. Instead, I removed the IGBTs, wicked their leads and the board clean, and reinstalled them in the same order in which they had been removed. I repeated the above testing with identical results. I was then ready to condemn the IGBTs themselves.
That's when I removed them again, and reinstalled them in revers order (e.g. if you label them A B C D, I reinstalled them D C B A). At this time, I also noted that one of the pins I resoldered didn't look too great, so I touched it up. *THIS* is where I screwed the pooch.
With this newest "repair" (this was purely diagnostic at this point) attempt, the observed behavior was as follows:
- With both ignition circuits active, I experienced rough idle and frequent hard stalls (the engine completely locking up, resisting the rolling inertia of the truck and locking up the wheels) at low speeds when taking off from a stop.
- With the secondary ignition circuit active and the engine warmed up, I experienced similar (but slightly worse -- we'll get to why in a moment) behavior as was previously seen with just the primary ignition circuit active.
- With the primary ignition circuit active, I experienced much improved idle, but frequent misfires under load.
And last night, when I took those measurements, I realized why: I had created a short between the primary 2-3 and secondary 1-4 circuits. With both sides enabled, every time cylinder 2 and 3 had spark on the primary side, 1 and 4 had spark on the secondary side; when spark was called for on 1 and 4 on the secondary side, and that IGBT decided to function, 2 and 3 would also see spark on the primary side, causing the hard stalls. With just the secondary side enabled, the issue should be obvious to anyone following along: the IGBTs on that side are damaged, coupled with the cylinders 1 and 4 always having spark due to the short to the primary side. Likewise, with just the primary side active, cylinders 2 and 3 were getting spark mid-stroke whenever the secondary IGBT for 1 and 4 decided to work.
Seeing that I had no viable way of clearing the short (which would have allowed me to enable both ignition circuits again) I chose to render it harmless and removed the IGBTs for the secondary ignition circuit. The secondary coils remain unplugged, but the truck runs and drives more or less fine. It is clear under certain load conditions that the IGBTs which remain are failing, but it will get me to work and back until I can replace the ECU.
Thanks again, if you stuck with me through that novel, which I totally expect you did not.