***This is a very in depth post completely explaining how the modules in our trucks communicate to one another. It was copied from this thread.***
NO its NOT. So much misinformation out there about these electrical systems and the databusses in these trucks. I wanna bang my head against the wall sometimes.
The duramax's have used CAN since the beginning in 2001!!! CAN isnt new! And second of all, a "CAN bus" by definition, is based on a high-speed (250k/500k) two-wire twisted pair differential bus. Bosch developed it back in the late 80's/early 90's, and trademarked it...they hold all the rights to it and licensing. CAN stands for Controller Area Network.
"CAN bus" is NOT a universal term for "anything in any automotive application that speaks a computer langauge". Yes, the radio, door modules, transfer case computer, etc all speak on a common databus. BUT ITS NOT CAN!! Its J1850 VPW, otherwise known as "CLASS 2 bus". There are TONS of other databusses as well that arent CAN. Flex-Ray, K-line, LIN, I2C, L-line, ISO 9021, J1578, J1708, J1850 VPW, J1850 PWM, Class2, low-speed GMLAN, ALDL, etc etc etc...
I know im being anal and super picky about terminology but it matters in this case, because its impossible for people to help you if you are both talking about different things. I cant even tell you how many times ive spent hours trying to help someone over the phone diagnose a "CANbus" problem, so Im having him go through the engine harness (because thats the only place a CANbus exists on the 01-07 trucks!), only to find out it was a loss of communications with his passenger door module!!! Which isnt CAN. As I said before.
Its like calling a DVD a CD or something. Yeah, they both look the same, yeah they are both optical discs........but you cant read a DVD in a CD player....!
Anyway.
All of the GMT-800 body communications (radio, BCM, rear seat audio, instrument cluster, onstar, radio amplifier, dvd, 4wd module, windows/doors, ABS, etc) use Class 2. Its a single wire bus that is pulled to ground when it wants to send a "1" or "0". Its slow and was developed in the mid 90's. Like 10.4kbps or something. But it really doesnt need to be fast. If you press the "window down" button, and the bus is saturated (traffic jam of messages) at the time, its not the end of the world if your "window down" command doesnt get transmitted for another 250miliseconds after you press the button.
You can notice this databus congestion if you press the steering wheel control "volume down" button repeatedly, and turn off the ignition at the same time....the radio volume will appear to "freeze" for half a second and ignore your volume-down command, and then half second later, the radio volume will all of a sudden jump down. This is because at ignition on/off, obviously the bus is flooded with wake-up/go-to-sleep commands, and changing the radio volume is a low-priority message.
When the Dmax came along, it was the first GM vehicle to use a standalone TCM, and FICM. Because the FICM and TCM were integral to proper powertrain operation, they needed to be able to speak to eachother and exchange information in real-time. If the ECM were to get a "defuel now, im about to make a shift!" message half a second late, then you just destroyed the transmission. Class 2 was way too slow. So GM used an isolated high speed CAN bus (J1939) just for TCM<--->ECM<--->FICM<--->GPCM (LLY) communication. J1939 is the universal databus standard in the medium duty world, so Im guessing Allison told them "well, this is what our existing TCM speaks...either you pay us to make it speak one of your high-speed languages (which GM didnt have any of in the late 90's when the dmax was being developed, GMLAN didnt exist), or you design your shit to speak J1939 for our TCM" They didnt make it widespread throughout the body because that would have cost a lot of money and they didnt need to...Class 2 worked just fine in the early 2000's.
But then they still needed some way to get engine/trans information to the cluster (for oil pressure readings, trans temp, fuel level, PRND321 indicator), and they also needed the BCM to be able to send anti-theft info, crank signals, etc... So rather than redesign the cluster and BCM to speak CAN to the engine and Class 2 to the rest of the truck, they simply just added the capability to the ECM/TCM for it to simultaneously speak Class 2 and CAN at the same time. So then the instrument cluster still gets all the proper info over slow Class 2, and the powertrain is able to function reliably over high speed CAN.
They also designed the ECM/TCM so that reflashes would be over Class 2. Im guessing they did that because thats what the Tech 2 speaks, and all of the other modules were also reflashed via Class 2. So the CAN bus on the 01-05 dmax's was just for internal powertrain communication. Communication to the outside world (both reflash and send messages to the driver) was with Class 2.
Then the LBZ came along with its new ECM and TCM...because when they came out, most of the GM cars had phased out Class 2 and were switching to GMLAN (for both high speed powertrain and low speed body stuff, everything was moving to GMLAN). The GMT-800 trucks/SUV's were some of the last GM vehicles to still use Class 2. Because GM knew that the LBZ ECM and TCM hardware were going to stick around until 2010 with the GMT-900's....they said, "ok, well since in less than 2 years, these same ECM's are gonna be going in a vehicle thats gonna be exclusively GMLAN (the GMT-900's), lets just roll out high-speed GMLAN right now for ECM<--->TCM<--->GPCM communications and dump the old J1939 CAN bus that the 01-05 dmax's used for powertrain comms."
Rather than asking Bosch "hey can you design the ECM to speak J1939 for 2 years, and then when the GMT-800's are done, then redesign it again to use GMLAN????"....because that would have been more expensive...and there was no disadvantage/extra-expense to dropping the old J1939 CAN bus because it was a direct swap for high speed GMLAN. FWIW, the old J1939 CAN bus and high speed GMLAN are quite similar in structure, both use twisted pair, etc...except HS GMLAN is 500k vs 250k for the old J1939. HS GMLAN is GM's own variation of CAN...because GM likes to be proprietory and "do things their own way".
So OK, now we basically just did a direct swap, J1939 CAN for high-speed GMLAN on the LBZ. BUT we still have the GMT-800 body around for 2 more years...and we have to have some way of getting oil pressure, fuel level, anti-theft, PRND321 info, etc to the GMT-800 body.....SO we can either redesign the 06-07 GMT-800 instrument clusters and BCM's to speak GMLAN, or we ask Bosch to make the LBZ ECM/TCM have a separate "data channel" that outputs Class 2 and we just use the same cluster/BCM that we've been using since the 2003 mid-cycle-enhancement... The bean counters obviously said "its gonna cost less to just add a Class 2 "dataport" to the LBZ ECM than redesign the cluster/BCM". So even the 06-07 trucks, yeah, the ECM/TCM/GPCM speaks the new GMLAN amongst themselves instead of the old J1939 CAN....but they still speak to the body/IPC/BCM just the same way they have since 2003!! With Class 2!
For whatever reason, Bosch said "you can use the Class 2 data port on the new LBZ ECM/TCM for sending messages to/from the body......BUT our processors/hardware dictates that software reflashes MUST be done over the high speed bus. We cant make it so reflashing is done over class 2 like it was with the 01-05 dmax's". So GM said "ok fine, no big deal, we'll just run two extra wires (GMLAN) to the OBD port that will only be used for reflashing the ECM/TCM/GPCM. And then we'll make this goofy thing called a CANdi module for the Tech 2 so the Tech 2 can then speak GMLAN in order to reflash the new ECM/TCM".
So to recap. Because Im sure 100% of the people reading this thread are gonna breeze right over what I just wrote....
ALL 2001+ duramax's use a high speed [CAN-type] databus for powertrain communication because the ECM and TCM (and GPCM and FICM if applicable) need real-time high speed message exchanges. Whether its J1939 CAN or GMLAN CAN, doesnt matter. Its all high-speed, its all CAN...they just changed the name of it in 2006.
ALL 2001-2007 GMT-800 duramax's use low speed databus (Class 2) for messages that need to be sent to/from the body. (Ie, the instrument cluster, BCM, onstar, etc) This is why, with a Tech 2, if you are doing ABS stuff, body stuff, instrument cluster stuff, etc you DONT need a CANdi module, even for the 06-07 trucks! Because GMLAN/CAN was for ECM/TCM/GPCM only!!!! Anyone that says "sorry I cant read your ABS or airbag codes on your 06/07 LBZ with my 10 year old code reader because they went to CAN in 2006" is an idiot for 2 reasons: 1) they've actually had CAN since 2001. 2) they never used CAN for any 01-07 GMT-800 body/chassis stuff.
2001-2005 Duramax's were reflashed via low-speed Class 2 bus.
2006-2007 dmax's were reflashed via high-speed GMLAN databus.
Then in 2007.5 with the new body style, Class 2 was swapped out in favor of LOW-SPEED GMLAN. So all body stuff (windows, radios, doors, etc) is now low-speed GMLAN, which isnt twisted pair or anything, its just a single-wire databus like Class 2.. Powertrain stuff is still the same high-speed GMLAN they've had since 2006 on the dmax's. On the 2007.5+ trucks, the BCM actually does speak both high and low speed databusses. It acts like a "gateway" between the two. But thats another discussion topic for another day.
2001-2002 trucks are their own world. The body wasnt integrated on the databus really, Class 2 was only used for instrument cluster, ABS, and some basic BCM functions. The whole electrical system was old-school, just like cars/trucks from 50 years ago.
2003+ was when they really went 21st century and had EVERYTHING networked together on the databus. The 2003 trucks have probably half the total amount of wiring that the 2001-2002 trucks do. 01-02 trucks have I think a total of 6 modules that talk on Class 2. ECM, TCM, (but remember, those two also talk CAN high speed, they only use class 2 for talking to the body), BCM, Instrument cluster, airbag module, and ABS.
2003+ had probably 15+. IPC, airbag, abs, climate control, radio amplifier, cd changer, rear seat dvd, rear seat audio, all the windows, all the lighting, onstar, radio, XM, memory seats, heated seats, passenger sensing system, antitheft, door chimes, mirrors, door locks, steering wheel controls, etc...
2003-2007 electrical systems are all IDENTICAL. If X module works in a 2003 truck, it will also work in a 2007 truck. The fuse boxes are the same, the harnesses are the same, the connectors are basically all the same, the instrument clusters/BCM's are the same, etc. OK sorry, the 06-07 instrument cluster has the different redline, and the extra bit of software to display the tapshift stuff, but its basically the same.
Thats why, if you have any 2003-2007 truck you can run an LB7, LLY, or LBZ with minimal effort and basically zero wiring changes. Its all plug and play. The only difference is the extra wiring for the GMLAN wires (but remember thats for reflashing only!) if you put an LBZ into an 03-05 truck. But seriously, thats 2 extra wires. Otherwise, the fuse box and everything is plug and play.
There is no reason an 03-04 LB7 wont work in an 06-07 LBZ truck. It should be plug and play. Except you might have to repin one of the connectors under the fuse box. I think its the C101 connector.
Ben
Well first things first, yo uare dealing with 2 COMPLETELY different data protocols in the truck. The 06 truck uses CAN BUS for the BCM, ECM, and TCM whereas teh LB7 uses the older J1850 for the vehicle. I believe part of the 06 truck does as well. Also you don't say what year LB7. If it is an 01-02, you will have a HARD time making it work as you will have to swap out basically EVERYTHING in the truck to make it work as pretty much none of it will be compatible.
NO its NOT. So much misinformation out there about these electrical systems and the databusses in these trucks. I wanna bang my head against the wall sometimes.
The duramax's have used CAN since the beginning in 2001!!! CAN isnt new! And second of all, a "CAN bus" by definition, is based on a high-speed (250k/500k) two-wire twisted pair differential bus. Bosch developed it back in the late 80's/early 90's, and trademarked it...they hold all the rights to it and licensing. CAN stands for Controller Area Network.
"CAN bus" is NOT a universal term for "anything in any automotive application that speaks a computer langauge". Yes, the radio, door modules, transfer case computer, etc all speak on a common databus. BUT ITS NOT CAN!! Its J1850 VPW, otherwise known as "CLASS 2 bus". There are TONS of other databusses as well that arent CAN. Flex-Ray, K-line, LIN, I2C, L-line, ISO 9021, J1578, J1708, J1850 VPW, J1850 PWM, Class2, low-speed GMLAN, ALDL, etc etc etc...
I know im being anal and super picky about terminology but it matters in this case, because its impossible for people to help you if you are both talking about different things. I cant even tell you how many times ive spent hours trying to help someone over the phone diagnose a "CANbus" problem, so Im having him go through the engine harness (because thats the only place a CANbus exists on the 01-07 trucks!), only to find out it was a loss of communications with his passenger door module!!! Which isnt CAN. As I said before.
Its like calling a DVD a CD or something. Yeah, they both look the same, yeah they are both optical discs........but you cant read a DVD in a CD player....!
Anyway.
All of the GMT-800 body communications (radio, BCM, rear seat audio, instrument cluster, onstar, radio amplifier, dvd, 4wd module, windows/doors, ABS, etc) use Class 2. Its a single wire bus that is pulled to ground when it wants to send a "1" or "0". Its slow and was developed in the mid 90's. Like 10.4kbps or something. But it really doesnt need to be fast. If you press the "window down" button, and the bus is saturated (traffic jam of messages) at the time, its not the end of the world if your "window down" command doesnt get transmitted for another 250miliseconds after you press the button.
You can notice this databus congestion if you press the steering wheel control "volume down" button repeatedly, and turn off the ignition at the same time....the radio volume will appear to "freeze" for half a second and ignore your volume-down command, and then half second later, the radio volume will all of a sudden jump down. This is because at ignition on/off, obviously the bus is flooded with wake-up/go-to-sleep commands, and changing the radio volume is a low-priority message.
When the Dmax came along, it was the first GM vehicle to use a standalone TCM, and FICM. Because the FICM and TCM were integral to proper powertrain operation, they needed to be able to speak to eachother and exchange information in real-time. If the ECM were to get a "defuel now, im about to make a shift!" message half a second late, then you just destroyed the transmission. Class 2 was way too slow. So GM used an isolated high speed CAN bus (J1939) just for TCM<--->ECM<--->FICM<--->GPCM (LLY) communication. J1939 is the universal databus standard in the medium duty world, so Im guessing Allison told them "well, this is what our existing TCM speaks...either you pay us to make it speak one of your high-speed languages (which GM didnt have any of in the late 90's when the dmax was being developed, GMLAN didnt exist), or you design your shit to speak J1939 for our TCM" They didnt make it widespread throughout the body because that would have cost a lot of money and they didnt need to...Class 2 worked just fine in the early 2000's.
But then they still needed some way to get engine/trans information to the cluster (for oil pressure readings, trans temp, fuel level, PRND321 indicator), and they also needed the BCM to be able to send anti-theft info, crank signals, etc... So rather than redesign the cluster and BCM to speak CAN to the engine and Class 2 to the rest of the truck, they simply just added the capability to the ECM/TCM for it to simultaneously speak Class 2 and CAN at the same time. So then the instrument cluster still gets all the proper info over slow Class 2, and the powertrain is able to function reliably over high speed CAN.
They also designed the ECM/TCM so that reflashes would be over Class 2. Im guessing they did that because thats what the Tech 2 speaks, and all of the other modules were also reflashed via Class 2. So the CAN bus on the 01-05 dmax's was just for internal powertrain communication. Communication to the outside world (both reflash and send messages to the driver) was with Class 2.
Then the LBZ came along with its new ECM and TCM...because when they came out, most of the GM cars had phased out Class 2 and were switching to GMLAN (for both high speed powertrain and low speed body stuff, everything was moving to GMLAN). The GMT-800 trucks/SUV's were some of the last GM vehicles to still use Class 2. Because GM knew that the LBZ ECM and TCM hardware were going to stick around until 2010 with the GMT-900's....they said, "ok, well since in less than 2 years, these same ECM's are gonna be going in a vehicle thats gonna be exclusively GMLAN (the GMT-900's), lets just roll out high-speed GMLAN right now for ECM<--->TCM<--->GPCM communications and dump the old J1939 CAN bus that the 01-05 dmax's used for powertrain comms."
Rather than asking Bosch "hey can you design the ECM to speak J1939 for 2 years, and then when the GMT-800's are done, then redesign it again to use GMLAN????"....because that would have been more expensive...and there was no disadvantage/extra-expense to dropping the old J1939 CAN bus because it was a direct swap for high speed GMLAN. FWIW, the old J1939 CAN bus and high speed GMLAN are quite similar in structure, both use twisted pair, etc...except HS GMLAN is 500k vs 250k for the old J1939. HS GMLAN is GM's own variation of CAN...because GM likes to be proprietory and "do things their own way".
So OK, now we basically just did a direct swap, J1939 CAN for high-speed GMLAN on the LBZ. BUT we still have the GMT-800 body around for 2 more years...and we have to have some way of getting oil pressure, fuel level, anti-theft, PRND321 info, etc to the GMT-800 body.....SO we can either redesign the 06-07 GMT-800 instrument clusters and BCM's to speak GMLAN, or we ask Bosch to make the LBZ ECM/TCM have a separate "data channel" that outputs Class 2 and we just use the same cluster/BCM that we've been using since the 2003 mid-cycle-enhancement... The bean counters obviously said "its gonna cost less to just add a Class 2 "dataport" to the LBZ ECM than redesign the cluster/BCM". So even the 06-07 trucks, yeah, the ECM/TCM/GPCM speaks the new GMLAN amongst themselves instead of the old J1939 CAN....but they still speak to the body/IPC/BCM just the same way they have since 2003!! With Class 2!
For whatever reason, Bosch said "you can use the Class 2 data port on the new LBZ ECM/TCM for sending messages to/from the body......BUT our processors/hardware dictates that software reflashes MUST be done over the high speed bus. We cant make it so reflashing is done over class 2 like it was with the 01-05 dmax's". So GM said "ok fine, no big deal, we'll just run two extra wires (GMLAN) to the OBD port that will only be used for reflashing the ECM/TCM/GPCM. And then we'll make this goofy thing called a CANdi module for the Tech 2 so the Tech 2 can then speak GMLAN in order to reflash the new ECM/TCM".
So to recap. Because Im sure 100% of the people reading this thread are gonna breeze right over what I just wrote....
ALL 2001+ duramax's use a high speed [CAN-type] databus for powertrain communication because the ECM and TCM (and GPCM and FICM if applicable) need real-time high speed message exchanges. Whether its J1939 CAN or GMLAN CAN, doesnt matter. Its all high-speed, its all CAN...they just changed the name of it in 2006.
ALL 2001-2007 GMT-800 duramax's use low speed databus (Class 2) for messages that need to be sent to/from the body. (Ie, the instrument cluster, BCM, onstar, etc) This is why, with a Tech 2, if you are doing ABS stuff, body stuff, instrument cluster stuff, etc you DONT need a CANdi module, even for the 06-07 trucks! Because GMLAN/CAN was for ECM/TCM/GPCM only!!!! Anyone that says "sorry I cant read your ABS or airbag codes on your 06/07 LBZ with my 10 year old code reader because they went to CAN in 2006" is an idiot for 2 reasons: 1) they've actually had CAN since 2001. 2) they never used CAN for any 01-07 GMT-800 body/chassis stuff.
2001-2005 Duramax's were reflashed via low-speed Class 2 bus.
2006-2007 dmax's were reflashed via high-speed GMLAN databus.
Then in 2007.5 with the new body style, Class 2 was swapped out in favor of LOW-SPEED GMLAN. So all body stuff (windows, radios, doors, etc) is now low-speed GMLAN, which isnt twisted pair or anything, its just a single-wire databus like Class 2.. Powertrain stuff is still the same high-speed GMLAN they've had since 2006 on the dmax's. On the 2007.5+ trucks, the BCM actually does speak both high and low speed databusses. It acts like a "gateway" between the two. But thats another discussion topic for another day.
2001-2002 trucks are their own world. The body wasnt integrated on the databus really, Class 2 was only used for instrument cluster, ABS, and some basic BCM functions. The whole electrical system was old-school, just like cars/trucks from 50 years ago.
2003+ was when they really went 21st century and had EVERYTHING networked together on the databus. The 2003 trucks have probably half the total amount of wiring that the 2001-2002 trucks do. 01-02 trucks have I think a total of 6 modules that talk on Class 2. ECM, TCM, (but remember, those two also talk CAN high speed, they only use class 2 for talking to the body), BCM, Instrument cluster, airbag module, and ABS.
2003+ had probably 15+. IPC, airbag, abs, climate control, radio amplifier, cd changer, rear seat dvd, rear seat audio, all the windows, all the lighting, onstar, radio, XM, memory seats, heated seats, passenger sensing system, antitheft, door chimes, mirrors, door locks, steering wheel controls, etc...
2003-2007 electrical systems are all IDENTICAL. If X module works in a 2003 truck, it will also work in a 2007 truck. The fuse boxes are the same, the harnesses are the same, the connectors are basically all the same, the instrument clusters/BCM's are the same, etc. OK sorry, the 06-07 instrument cluster has the different redline, and the extra bit of software to display the tapshift stuff, but its basically the same.
Thats why, if you have any 2003-2007 truck you can run an LB7, LLY, or LBZ with minimal effort and basically zero wiring changes. Its all plug and play. The only difference is the extra wiring for the GMLAN wires (but remember thats for reflashing only!) if you put an LBZ into an 03-05 truck. But seriously, thats 2 extra wires. Otherwise, the fuse box and everything is plug and play.
There is no reason an 03-04 LB7 wont work in an 06-07 LBZ truck. It should be plug and play. Except you might have to repin one of the connectors under the fuse box. I think its the C101 connector.
Ben
Last edited by a moderator: