First my disclaimer... I haven't done this yet, so I'm working off of theory and what "should" work.
With that out of the way, your canbus explanation is exactly why I believe that the body ECU trick SHOULD work.
The Body ECU isn't reading CANBUS messages. Although, in theory, everything could be connected to the canbus, and
send and receive messages over it,
that's not how the 4th gen was designed.
On the 4th Gen the CANBUS use is far
more limited than it *could* be. I'm assuming it's used for engine management, maybe antilock brakes (maybe not), and some other
critical operation items on the truck. On the 4th gen, the canbus IS NOT used for many other functions where it theoretically could have been used, such as locking and unlocking doors, starting the truck, activating and deactivating the engine immobilizer system, controlling the heat and A/C and more.
So, the Body ECU doesn't use the CANBUS, isn't connected to the CANBUS, and the CANBUS and the body ECU know nothing about each other and don't impact each other directly.
So, here's what's needed to make the remote lock and unlock doors while the truck is running under the control of a remote starter:
In short,
you need to do two things regarding remote start:
First) Only ground the key sense wire at the ignition harness while the engine is cranking. Otherwise, leave it alone. The truck needs to think that the key is in the ignition to let the engine start. Once it's started, the key sense wire shouldn't impact the engine running, so you no longer need to "fool" the truck into thinking that a key is in the ignition, and -- in fact -- if the truck DOES think that the key is in the ignition, then the trucks Body ECU will ignore a request from the remote control to lock the doors.
Second) The body ECU's input (sensor wire) for the secondary ignition needs to be disconnected once the engine is running
under the control of the remote start unit.
At all other times, the wire should remain in its normal connected state. Use a relay with its "normally open" and "normally closed" pins to do this -- but don't forget to include a flyback diode to prevent against voltage spikes when the relay coil switches from energized to turned off
(google it if you're not familiar -- this is an important concept when adding relays).
Now: Here's why it will work.
The door remote module (located in the D pillar in the back) always detects button presses from the remote, and always sends out the correct pulses on the "RDA" line to send a properly encoded message indicating what button was pressed. This MUST be the case, because the door remote unit only has three main wires (the fourth, program wire is only used to pair a new remote to the truck).
So the three wires are +12V, Ground, and RDA -- it uses RDA to send an encoded signal indicating whatever button presses it received from the wireless remote,
and it always sends out this encoded signal over the RDA wire, regardless of the state of other systems.
Now:
The Body ECU is what decides whether and how to act on button presses that it decodes from the RDA signals sent from the door remote module.
So, if you turn off the truck, exit the vehicle, and press the "lock" button on the remote while the passenger door is open, you get that annoying long beep, which tells you that a door is still open. It's the Body ECU that makes those decisions, and also determines what actions to take such as lock the doors, unlock the doors, send out one of several different sounds, flash the turn signal lights, lock the doors, unlock the doors, etc.
Now. It's documented in the factory manuals that:
1) The Body ECU will ignore an unlock RDA signal from the door remote module when Body ECU senses that the ignition is on. It senses this via pin 10 on the body ECU -- which is the secondary ignition input to the body ECU. So if you use a relay to disconnect that input wire while the truck is running under control of the remote start, then the Body ECU will handle and process the unlock command for you -- INCLUDING issuing the correct, factory beep.
Make note about the need for diode isolation if you are also using that wire to power your immobilizer bypass module. The info is in the links referenced to the 12 volt forum.
2) Regarding a lock signal sent by the door remote module to the body ECU, the body ECU will ignore the lock signal if either of two things are present.
a) The body senses the truck is in the "on" state, based on reading the input state of the "SIG" (Secondary ignition) wire on pin 10 of the body ECU. We've addressed that issue above (see "1)" ) by adding a relay with the flyback protection diode.
or
b) The body ECU believes that a key is in the ignition, based on reading the value of the key sense wire from the ignition harness.
So, if while the truck it is running on remote smart, if after unlocking the door with the remote, you want to re-lock the door, you will also have to make sure that the body ECU does not believe that a key is in the ignition based on it's readling of the key senses wire from the ignition harnngess.
While you can accomplish this several ways, the easiest is to hook up your remote start to the keysense wire using an output from the remote start unit that sends a ground signal ONLY WHILE THE STARTER MOTOR IS CRANKING, and otherwise leaves that output disconnected. This, the easiest solution, means that the body ECU will only believe that a key is in the ignition while the engine is cranking. Once the cranking stops and the truck is running, the body ECU will think that there is no key in the ignition and based on this (plus the solution from "1)" above that makes the body ECU think that the ignition is off), the Body ECU will process lock and unlock signals received from the door remote module, and the behaviour (including beeps and light flashes) will be 100% factory. As an interesting note, the rear window roll down feature should also work (I believe), because the body ECU will believe that the truck is not running, and the key isn't in the ignition, therefore the body ECU should behave as if the truck were turned off with no key in the ignition.
If you want to test this theory, get in the truck. Start it with the key. Turn off the truck and remove the key (but don't do anything else), and then while sitting there inside the truck, see if you can use the remote to lock the doors, unlock the doors, and roll down the rear window. I'd bet that you CAN do this, and the reason is because the Body ECU thinks that the car is turned off becuse of no signal from the secondary ignition input (pin 10), and it believes that the key isn't in the ignition, based on not reading a ground from the key sense wire on the ignition harness.
The proposed solutions above (in"1)" and "2)" ) would make the body ECU believe the same thing once the truck is running because of the remote start, and "viola", your remote will work to lock and unlock the doors, even when the truck is running via the remote starter. !!!
Would it be appropriate to write "Q.E.D." at this point? (That's a math reference to having finished a mathematical proof.)
... or is that premature, since -- just like math -- this is still theory. For some, you have to move beyond the "white board" analysis, and conduct an experiment to prove that the theory is correct! (and sometimes, an experiment shows that the theory was NOT correct!) -- but I'll stand by my analysis here unless and until someone tries it and tells me that their truck blew up because of these suggestions (!!!) hehe !
;-)
-Phil
----------
P.S. -- If I install a remote start in my 2008 4runner, (assuming I install it myself), I WILL hook it up according to my predictions, and I WILL post back here with an update to thump my chest and proclaim that all is well in the world (!!!), or (alternatively) to confess that Mr. Smarty pants (in this context, that would be me, by the way) isn't so smart after-all, and the drivelling and droning that I spewed here turned out to be flawed and my solution didn't actually work (thumbs down!).
We'll either all party hard, or I'll officially eat crow in public... :fish: and you guys will still party hard, as you laugh and point at
me sulking in the corner while wearing a dunce cap. (LOL!)
-Phil.