Chevy TrailBlazer, TrailBlazer SS and GMC Envoy Forum banner

how to read TCCM codes (4WD service light) with a $149 scanner

38K views 11 replies 6 participants last post by  blurry 
#1 · (Edited)
Good news :) You can pull TCCM codes with a fairly inexpensive scanner.

NOTE that this works on our trailblazer. From all the reading i did this should work for anyone. As all with the internet, proceed at your own devices!

If you do this or expand on it (reading values from sensors etc) please let everyone know!

To do this you need a scanner which lets you send a message by manually typing in the message. There are several of these out there, no idea which is better, worse, or the same. if you have the scantool, you need software to control it. There are free versions out there, though i opted to pay to get something which works with less hassle. The scantool.net scanner with Scan XL pro SW is on sale for $149 (not sure how often they run sales, or if this is an all the time price)

I went with the ODBLink Scan Tool from scantool.net with the scanXL Pro SW with the GM package add on since we have 3 GM vehicles.

so in summary you need a computer based scanner and software that lets you send messages manually (sometimes called terminal mode)

I figured out the messages to send to get codes from the TCCM on an 02 trailblazer, should be the same for all years.

this seems complicated, though just about anyone can do this. quite frankly you can just send the messages I listed and not delve into the details of what it all means :)

the messages are in Hexadecimal, don't let that scare you :)

I started to tool, selected ODB-II->connect and followed the instructions, then selected the "tool" tab and clicked on "ODB-II terminal", select "custom send tab", check the box "enable ODB-II terminal" in the top left. now you are ready to send messages!

quick example:

with the 4WD service light on:
send message: 6C 1A F1 19 C2 ff 00
Received: $6C $F1 $1A $59 $43 $79 $93 $6A

the $43 $79 is the code, and the $93 is the status indicating the code is turning on the 4WD service light

code list:
$43 $00 = C0300
$43 $05 = C0 305
$43 $06 = C0306
$43 $21 = C0321
$43 $27 = C0327
$43 $59 = C0359
$43 $74 = C0374
$43 $79 = C0379 ***** the code indicated in the message above
$45 $50 = C0550
$87 $70 = B0770
$87 $75 = B0775
$87 $80 = B0780
$87 $85 = B0785
$87 $90 = B0790
$A7 $25 = B2725
$D3 $01 = U1301

here are the messages I figured out that seem useful:

message: 6C 1A F1 14 - turn off 4WD service light (clears codes)
message: 6C 1A F1 19 D2 ff 00 - return current and pending codes
message: 6C 1A F1 19 c2 ff 00 - returns current code
message: 6C 1A F1 19 ff ff 00 - return all code status (what I prefer)

you can stop here or get into the details:

each group of 2 below is what is called a "byte"

the address of the TCCCM is 1A
the address of the scantool is F1

$6C $1A $F1 $19 $C2 $FF $00
$GG $HH $JJ $KK $LL $MM $NN <- use these to look through the list
GG - 6C = node to node GM message
HH - 1A = address of scanner
JJ - F1 = address of TCCM
KK - 19 = what kind of request (19) Request Diagnostic Trouble Codes
by Status (14) to clear codes
LL - C2 = what data you want to get. (C2) return current codes (D2)
return current and pending codes (FF) everything
MM - FF = (FF) send to all groups (not sure why 40 chassis doesn't
work)
NN - 00 = extra padding, leave at 00

The response should be formatted as follows:
Byte1 Byte2 byte3 Byte4 Byte5 Byte6 Byte7 Byte8

sample response:
$6C $F1 $1A $59 $43 $79 $93 $6A
$PP $QQ $RR $SS $XZ $ZZ $YY $VV <- use these to look through the list
below

Byte1 - PP - 6C - same as the first byte you sent
Byte2 - QQ - F1 - address of the scan tool (indicates the recipient)
Byte3 - RR - 1A - address of the TCCM module (indicates the originator)
Byte4 - SS - 59 - will be the byte4 you sent with 40 added to it
Byte5 - XZ - 43 - first part of code
Byte6 - ZZ - 79 - second part of code
Byte7 - YY - 93 - status (01) good, no issue (93) current code causing service light to illuminate (11) not sure, seemed to be associated to the last code raised, though I'm not sure
Byte8 - VV - 6A - check sum (ignore this, it is used to make sure the message made it without loosing data)

so bytes 4 and 5 have the code, to decipher:

$43 $79 <- from recceived message
$XZ $ZZ <- use this to decode based on the list below

the X is the first part of the code
4 = C0
8 = B0
A = B2
D = U1

ZZZ = code

for complete code put together XZZZ

so the $43 $79 is:

4 = C0
ZZZ = 379

code = C0379

if you get 00 00 for a code, then it is the end of the list - 00 00 is not a code, but an indicator teh end of the code list.

the status of this code (YY) in the example is 93 which seems to indicate the current fault. if you see 01 then that code is not currently active

examples:

no 4WD service light:
send message: 6C 1A F1 19 c2 ff 00 - returns current code
response: $6C $F1 $1A $59 >>$00 $00<< $93 $BB 00 00 means no code

after turning on the 4WD service light response:
send message: 6C 1A F1 19 c2 ff 00 - returns current code
Received: $6C $F1 $1A $59 $43 $79 $93 $6A 93 -- indicates current code (43 79) with a status of 93 which seems to be the current code lighting the 4WD service light
Received : $6C $F1 $1A $59 $00 $00 $93 $BB -- 00 00 indicates end of list

send message 6C 1A F1 19 ff ff 00 - return all code status - 01 in before last means all is well. in this example the before last byte is 01 for all the entries except the last which has code 00 00 indicating the end of the list, therefor there are no codes present.

as a neat aside - I believe these to be every possible code that can be generated!

Received OBD-II message: $6C $F1 $1A $59 $43 $00 $01 $86
Received OBD-II message: $6C $F1 $1A $59 $43 $05 $01 $E7
Received OBD-II message: $6C $F1 $1A $59 $43 $06 $01 $33
Received OBD-II message: $6C $F1 $1A $59 $43 $21 $01 $BF
Received OBD-II message: $6C $F1 $1A $59 $43 $27 $01 $0A
Received OBD-II message: $6C $F1 $1A $59 $43 $59 $01 $CE
Received OBD-II message: $6C $F1 $1A $59 $43 $74 $01 $80
Received OBD-II message: $6C $F1 $1A $59 $43 $79 $01 $BB
Received OBD-II message: $6C $F1 $1A $59 $45 $50 $01 $DD
Received OBD-II message: $6C $F1 $1A $59 $87 $70 $01 $0B
Received OBD-II message: $6C $F1 $1A $59 $87 $75 $01 $6A
Received OBD-II message: $6C $F1 $1A $59 $87 $80 $01 $E9
Received OBD-II message: $6C $F1 $1A $59 $87 $85 $01 $88
Received OBD-II message: $6C $F1 $1A $59 $87 $90 $01 $5D
Received OBD-II message: $6C $F1 $1A $59 $A7 $25 $01 $04
Received OBD-II message: $6C $F1 $1A $59 $D3 $01 $01 $12
Received OBD-II message: $6C $F1 $1A $59 $00 $00 $93 $BB
 
See less See more
#2 ·
Some of the hardware from scantool.net:

$49 ODBLink SX - the catch with this is that they charge more for the SW, the next step up seemed like a better deal: http://www.scantool.net/scan-tools/pc-based/obdlink-sx.html

$99 ODBLink Scan Tool: http://www.scantool.net/scan-tools/pc-based/obdlink.html there are also bluetooth and wireless versions.

there is a special running to get the Pro SW with the $99 tool (and wireless/blue version) for a $149

I bought the wireless, though it is probably a waste of money as i use the USB cable, so the $99 would probably be a wiser choice. the wireless and bluetooth are for using a phone, though i since learned that required additional SW and is considerably limited compared to the ScanXL SW for the windows laptop.

Software - You need software which lets you send custom messages. If you are computer savy you can use hyperterminal. Since I wanted a fully featured scanner I purchased the ScanXL Pro with the GM add on. the PRO version lets you send custom message (terminal mode), the regular version does NOT - so if you go this route get ScanXL Pro

comparison: http://www.scantool.net/ppe-software-comparison.html
 
#3 ·
The scanner does a lot more than this. I find the SW a bit hard to use, and there are some things I don't like such as the emissions test status which I can't do in ScanXL Pro, but you can with the free tool they include ODBWiz.

all and all the SW does seem to do a lot!
 
#7 ·
I have an older ELM327, and have been considering updating myself with this package,
so thanks for posting the info! :thumbsup: Nice to know it can handle a bit more than
what's strictly advertised.

Now if only I can get paid for the last couple of computers I worked on, I can go ahead
on the upgrade... :)

Cheers-

Chris
 
#11 · (Edited)
I joined this forum just to thank blurry for his geat info - but I see he has not posted for years.

Worked great for retrieving/clearing codes on my 2001 Blazer with NP8 transfer case. I did use ScanXLPro to do a custom OBD2 terminal. You do know you have to clear codes to get the TCCM working again after setting a code, right?

As I understand it, if it's not NP8 transfer case, then the codes are not retrieved/cleared through a scan tool and the instructions he gives would not work. The other transfer cases I know about (NP1, NP4) in the Blazers are read by buttons flasing on the 4WD control and they are cleared by removing the 10A courtesy fuse.

Guess this strategy for reading/clearing codes would probably work for ABS and transmission and other stuff as well, once you figure out the address to query. Could definitely be useful in the future.

Anyways - thanks again to Blurry and this forum where he posted the info so long ago.

2001Blazer4X4
 
This is an older thread, you may not receive a response, and could be reviving an old thread. Please consider creating a new thread.
Top