Cadillac Owners Forum banner
  • Hey everyone! Enter your ride HERE to be a part of JULY's Ride of the Month Challenge!
1 - 20 of 122 Posts

·
Premium Member
'79 coupe deville, '04 Deville DTS White Lightning
Joined
·
3,211 Posts
Discussion Starter · #1 ·
I need some help from you guys. My HUD works fine but I've never had the nav instructions show up on it when there is a route going. I looked in an old forum and 3 people, each of whom had an 09 (non V) had their problems solved by a firmware update. I took my car into the dealer and they said I am up to date and that I need a new nav for $27xx. Based my past with this dealer, my confidence that they are correct in saying my firmware is fully updated is 0.

I'd like you guys to check under the diagnostics screen what your versions are. Some may know how to do this but for those who don't, the instructions are as follows:

Put the car into acc, on, or start.
Get to the map screen by pressing the globe hard key.
Press "menu" soft key.
Above the "memory points" soft key, and directly across from the title "nav menu" is a blank space. Press and hold your finger down there for about 5 seconds until a keypad appears. You are basically pressing on a hidden soft key.
When the keypad appears, type in 295660 for 2008+ cars (9448 for older.)

There are two screens we're concerned with. The "parts info" and the "soft rel."

Under parts info, what is your "navi version?"

What is your soft rel?

I'm really asking this of 2008 (and 2009?) guys because of the HUD. I'm assuming you guys get the nav stuff showing up on the HUD just fine.

Last night I unplugged all the nav plugs in the back and reconnected. No dice. What I'm hoping and expecting to hear from you is that your versions are different from mine which would tell me that in fact I do need a firmware update.

Just a tip, if you guys are on your iPhones or whatever, take a screen shot of these instructions so you can refer to them while you're pulling the info up.

Thanks in advance for taking the time out to do this crap. Appreciate it.

----------

For your reference, here is the old thread I'm referring to. http://www.cadillacforums.com/forum...0159-nav-turn-instructions-dont-show-hud.html.
 

·
Registered
06 STS-V & 06 STS 4 (sold 2016)
Joined
·
2,761 Posts
Definitely sounds like that's what you need. Maybe you could try calling that dealer in WA and see if that service advisor is still there. See if he's willing to talk to your incompetent dealer.

I can't help with the version number because I have an 06 and no HUD. I bet HUD is cool, but oh well, just happy to have a V.
 

·
Premium Member
'79 coupe deville, '04 Deville DTS White Lightning
Joined
·
3,211 Posts
Discussion Starter · #3 ·
Way ahead of ya Carter. Called that dealer up, the guy doesn't work there anymore so I brought it up to the service guy and he was freakin clueless. Knowledge was not passed on. So I said thanks anyway.

Thanks for your help though. And yeah the HUD is really nice. Kills me that the cts never got it. Don't think the escalade did either. Vette did though.
 

·
Premium Member
'79 coupe deville, '04 Deville DTS White Lightning
Joined
·
3,211 Posts
Discussion Starter · #4 ·
Hey I know it's probably a bit of an annoyance but if I could get just 1 08+ who has this feature functioning to check these numbers it would allow me to move forward with this. Thanks again guys.
 

·
Registered
08 STS-V,10 escalade,80 sedan deville diesel 13 cts vagon
Joined
·
1,611 Posts
I will try to check tonight when I get home. And yes mine works fine.
 

·
Registered
08 STS4 V8 1SG & 04 SRX4 V8 & 01 Monte SS
Joined
·
5,022 Posts
Hey Guy, I was messing around with the NAV DVD in the computer tonight and found another diagnostic pin code that works on the 08+ model for sure.

It's "3657"
It gives a couple more options for diagnostics.
There is also a second page of software version information.

Posted pics here:
(Trying out a 'new' feature of the Camera+ app ... not sure how well it will work in the long run)

http://campl.us/bkKsuoyc9a8

Here are direct links to the photos:




 

·
Premium Member
'79 coupe deville, '04 Deville DTS White Lightning
Joined
·
3,211 Posts
Discussion Starter · #8 ·
Ah yeah I see that. Nice. I'm gonna play around with that a little. Thanks a lot.

----------

Do you have HUD?
 

·
Registered
08 STS4 V8 1SG & 04 SRX4 V8 & 01 Monte SS
Joined
·
5,022 Posts
I do have HUD w/ACC, but my car is 08 non-V.

EDIT:
a coupld of links to other Nav related.
http://www.cadillacforums.com/forum.../284455-nav-updata-issues-need-some-help.html
http://www.cadillacforums.com/forums/cadillac-sts-v-series-forum/74744-so-all-sts-v-owners-any.html

based on what I remember about those threads I would have to bet that dealers are really only aware of the 05-07 model firmware upgrade due to the TSB.
I would wonder if the software update could be applied by the dealer if they manually went into the S/W update section on the Nav then used the TechII.
The TSB from 07 says:
Verify that the software versions are (post upgrade):
- Navigation system software version = 0FC1
- Audio system software version = 010C

What it also says (which I think may be mis-read / overlooked by most) is:
Important: If the navigation system software is the same or higher than version 0FC, the software update will not start and the navigation software update is not necessary. DO NOT insert disc 2 into the radio.

I bet that most read that as if it has 0FC then no update is possible, BUT the disc 1 update is still able to be done.

...btw...the update contains 2 CDs...it's not a single one...

GM 15943724
CD1 Software Version V01.0C
CD2 Software Version V0FC1

...both must be used...and a Tech II...

(...my dealer lost his set...ordered a spare and after 2 month or so he received only one (copied) disc and didn't get the second...gladly I could find myself a set on ebay in between...;) )

...thats the "service" from Cadillac Europe...:thepan:

 

·
Registered
05 STS4
Joined
·
4,241 Posts
Ludacrisvp said:
Hey Guy, I was messing around with the NAV DVD in the computer tonight and found another diagnostic pin code that works on the 08+ model for sure.

It's "3657"
It gives a couple more options for diagnostics.
There is also a second page of software version information.

Posted pics here:
(Trying out a 'new' feature of the Camera+ app ... not sure how well it will work in the long run)

http://campl.us/bkKsuoyc9a8

Here are direct links to the photos:
How do you use the computer to mess with the disc and find diagnostic codes!?
 

·
Registered
08 STS4 V8 1SG & 04 SRX4 V8 & 01 Monte SS
Joined
·
5,022 Posts
How do you use the computer to mess with the disc and find diagnostic codes!?
Maybe more than you were looking for but here is the gist of it.

After some (ok a lot of) time searching on the web I found this blog that had a python script made that claimed to be able to display some info from the nav disc and 'extract modules' from the disc as well.
http://biot.com/blog/navigation-dvd-hacking
combined with some information from:
http://www.takingthingsapart.org/in...ask=view&id=39&Itemid=56&limit=1&limitstart=1

There was a minor typo in his python script that I fixed on my local copy so that it would function.
basically there is an offset in the loading.kwi file that makes it less readable with a hex editor, the extract module function corrects the offset from what I can tell and makes HEX editor viewing better.

There seems to be a community of people modifying their Audi Nav unit and some other units, so it was pure chance this even was able to get anything.


Code:
t110-osx:nav ludacrisvp$ ls -lh
[email protected] 1 ludacrisvp  staff    11M Jul 25 18:03 LOADING.KWI
[email protected] 1 ludacrisvp  staff   6.3K Aug 13 07:36 kiwi.py
t110-osx:nav ludacrisvp$ chmod +x kiwi.py
t110-osx:nav ludacrisvp$ nano kiwi.py
t110-osx:nav ludacrisvp$ ./kiwi.py
usage: kiwi [-v|-x] [-o outputdir] -d <dvd directory>
  -v	list modules contained in the LOADING.KWI FILE
  -x	extract modules from the LOADING.KWI file
  -d	directory where the DVD is mounted
  -o	target dir to extract modules into
t110-osx:nav ludacrisvp$ ./kiwi.py -v -d .
number of systems found: 1
System 1
    Manufacturer ID: DENSO
    Number of modules in this system: 1
    Module 1:
	Name: GE14
	Version: 1350
	Category: Program
	Address: 0x800
	Size: 10.8 MB

t110-osx:nav ludacrisvp$ ./kiwi.py -x -d . -o .
extracting modules into ....
   GE14
t110-osx:nav ludacrisvp$ ls -lh
-rw-r--r--  1 ludacrisvp  staff    11M Aug 13 07:39 GE14
[email protected] 1 ludacrisvp  staff    11M Jul 25 18:03 LOADING.KWI
[email protected] 1 ludacrisvp  staff   6.3K Aug 13 07:38 kiwi.py
t110-osx:nav ludacrisvp$ file GE14
GE14: data
t110-osx:nav ludacrisvp$ file LOADING.KWI
LOADING.KWI: raw G3 data, byte-padded
I grabbed the code out of the HEX output from home, this is just a re-creation of some of it on my work computer using a copy of a LOADING.KWI that I had emailed myself a while back.
Not sure what disc this loading.kwi is from (this one in particular doesn't mention the 3657 code).
The kwi file compresses quite well, the 11.4MB file was only about 4MB after being compressed, I'm thinking we should start collecting loading.kwi files from any/all Denso Nav discs for any make/model and see what we can find. Land Rover and Jaguar use Denso based navigation in some models so there might be something to be learned from them.

But it does for some reason mention "2003 KENWOOD CORPORATION" in the file, in addition to DENSO references.

Here is a copy of the kiwi.py file that has the typo corrected from his blog.
If you have access to a Linux/Unix/Mac machine you can copy the code from the section below into a file called kiwi.py and run it from terminal.

Code:
#!/usr/bin/env python
#
#       kiwi
#
#       Copyright 2009 Bert Vermeulen <[email protected]>
#
#       This program is free software; you can redistribute it and/or modify
#       it under the terms of the GNU General Public License as published by
#       the Free Software Foundation; either version 2 of the License, or
#       (at your option) any later version.
#
#       This program is distributed in the hope that it will be useful,
#       but WITHOUT ANY WARRANTY; without even the implied warranty of
#       MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#       GNU General Public License for more details.
#
#       You should have received a copy of the GNU General Public License
#       along with this program; if not, write to the Free Software
#       Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
#       MA 02110-1301, USA.

import os
import sys
from getopt import getopt
import string
from datetime import datetime
import struct

EXTRACT_BUFSIZE = 1024 * 1024

def usage():
	print """usage: kiwi [-v|-x] [-o outputdir] -d <dvd directory>
  -v	list modules contained in the LOADING.KWI FILE
  -x	extract modules from the LOADING.KWI file
  -d	directory where the DVD is mounted
  -o	target dir to extract modules into"""
	sys.exit(1)

def is_printable(text):
	for i in text:
		if i not in string.printable + '\x00':
			return False
	return True

def show_date(stamp):
	date = datetime.fromtimestamp(stamp)
	datestr = "%d-%.2d-%.2d" % (date.year, date.month, date.day)

	return datestr


def maybe_dump(text):
	if is_printable(text):
		return text
	else:
		hex = ''
		for i in text:
			hex += "%.2x " % int(ord(i))
		return hex

def show_kwi_info(lo):
	print "number of systems found:", lo['num_systems']
	syscnt = 1
	for s in lo['systems']:
		print "System %s\n    Manufacturer ID: %s" % (syscnt, maybe_dump(s['mid']))
		print "    Number of modules in this system:", len(s['modules'])
		modcnt = 1
		for modname, modversion, category, startdate, enddate, title, info, address, size in s['modules']:
			print "    Module %d:" % modcnt
			print "\tName:", modname
			print "\tVersion:", modversion
			print "\tCategory:", category
			if startdate:
				print "\tValid from:", show_date(startdate)
			if enddate:
				print "\tValid until:", show_date(enddate)
			print "\tAddress: 0x%X" % address
			size += 0.0
			if size > 1024 * 1024:
				size /= 1024 * 1024
				unit = "MB"
			elif size > 1024:
				size /= 1024
				unit = "KB"
			else:
				unit = "bytes"
			print "\tSize: %.1f %s" % (size, unit)

			print
			modcnt += 1

		syscnt += 1

def extract_modules(path, targetdir, system=1):
	try:
		lo = parse_loading(path)
		if lo['num_systems'] < system:
			raise Exception, "only %s systems found" % lo['num_systems']

		if not os.path.exists(targetdir):
			os.mkdir(targetdir)

		s = lo['systems'][system-1]
		print "extracting modules into %s..." % targetdir
		fp = open(path)
		for modname, modversion, category, startdate, enddate, title, info, address, size in s['modules']:
			print "  ", modname
			fp.seek(address)
			cnt = 0
			outfile = open(targetdir + '/' + modname, 'w')
			while True:
				if cnt + EXTRACT_BUFSIZE > size:
					chunksize = size - cnt
				else:
					chunksize = EXTRACT_BUFSIZE
				buf = fp.read(chunksize)
				outfile.write(buf)
				cnt += chunksize
				if len(buf) < EXTRACT_BUFSIZE:
					break
			outfile.close()
		fp.close()
	except Exception, msg:
		print "Error:", str(msg)

module_categories = [
	'Initial program',
	'Program',
	'Library',
	'Data'
]

def parse_loading(path):
	lostruct = {}
	fp = open(path)
	data = fp.read(4)
	num_systems, dummy = struct.unpack_from(">HH", data)
	lostruct['num_systems'] = num_systems
	offset = 4
	lostruct['systems'] = []
	for s in range(num_systems):
		system = {}
		fp.seek(offset)
		data = fp.read(16)
		mid, num_modules, dummy = struct.unpack_from(">12sHH", data)
		offset += 16
		system['mid'] = mid
		system['modules'] = []
		# get Module Identification Information blocks
		for m in range(num_modules):
			fp.seek(offset)
			data = fp.read(64)
			cat, modname, modversion = struct.unpack_from(">cxxx52s4s", data)
			offset += 64
			cat = ord(cat)
			category = module_categories[cat & 3]
			if cat & 64:
				category += " (Test module)"
			if cat & 128:
				category += " (Diagnostic service module)"
			modname = modname.rstrip('\x00')
			system['modules'].append([modname, modversion, category])
		# get Module Management Information blocks
		address_multiplier = 0
		for m in range(num_modules):
			fp.seek(offset)
			data = fp.read(256)
			startdate, enddate, title, info, address, size = struct.unpack_from(">HH64s182sIH", data)
			offset += 256
			# dates are in number of days since 1997-01-01 00:00:00. that's
			# 852073200 seconds since the unix epoch, convert to that
			# if it's 0 no date is set, so preserve that
			if startdate:
				startdate += 852073200 + (startdate * 86400)
			if enddate:
				enddate += 852073200 + (enddate * 86400)
			# address is either in 2048-byte sized blocks, or some odd 3-byte
			# block size. try to grok this by the first one we
			# see, which will be right past this this Loading Module Management
			# block we're parsing now
			if m == 0:
				if address < 0x100:
					# too small to be an absolute address
					address_multiplier = 2048
				elif (address >> 8) < 0x100:
					address_multiplier = 8
				else:
					address_multiplier = 1
			address *= address_multiplier
			# size is in 2048-byte sized blocks
			size *= 2048
			system['modules'][m] += [startdate, enddate, title, info, address, size]
		lostruct['systems'].append(system)
	return lostruct

#
# main
#

opts, args = getopt(sys.argv[1:], "vxd:o:")

mode = dvddir = targetdir = None
for opt, arg in opts:
	if opt == '-v':
		if mode:
			usage()
		else:
			mode = 'view'
	elif opt == '-x':
		if mode:
			usage()
		else:
			mode = 'extract'
	elif opt == '-d':
		dvddir = arg
	elif opt == '-o':
		targetdir = arg

if not mode or not dvddir:
	usage()

try:
	path = dvddir + '/LOADING.KWI'
	if not os.path.exists(path):
		print "no LOADING.KWI found in %s" % dvddir
		sys.exit(1)
except Exception, msg:
	print "failed to open %s: %s" % (path, str(msg))
	sys.exit(1)
else:
	if mode == 'view':
		kwi_info = parse_loading(path)
		show_kwi_info(kwi_info)
	elif mode == 'extract':
		if not targetdir:
			print "please set a target directory to extract into."
			usage()
		else:
			extract_modules(path, targetdir)
Running it would be something like:
Code:
$ ./kiwi.py -x -d /Volumes/<DVD_Drive> -o /Users/<username>/Desktop/Nav
(replace <DVD_Drive> with the correct path, like DW464210-7740, and replace <username> with your username)
I then opened that file in a HEX editor and did some poking around, searched up the known 295660 and saw a few codes around it.
Like 660, 9448 which we already know about and then there was -> 3657, 3366 next to them as well, so I ran out to the car and tried both and the first one worked.
3657 seems to give the most diagnostic features for the 08+ model (looks like it matches what the 9448 code provides 05-07 models based on screen captures).
 

·
Registered
05 STS4
Joined
·
4,241 Posts
Ludacrisvp said:
Well since your brain is now missing you won't be needing those V brakes or that clear 3rd brake light anymore please ship them out as soon as you are able
:p
Hey anything can be bought for the right price.
 

·
Premium Member
'79 coupe deville, '04 Deville DTS White Lightning
Joined
·
3,211 Posts
Discussion Starter · #15 ·
Well my audio version is 2.01 and my navi is 0070. So based on the navi alone, mine and yours, Luda, are off. And since your nav and HUD work together, and we both have 2008+, I truly believe I need a firmware update.

I absolutely believe that you're right in saying that since there isn't a tsb for 2008+ the dealers assume its updated. I have to venture away from my local dealer and find one that knows what they're doing. Thanks so much Luda.
 

·
Registered
08 STS4 V8 1SG & 04 SRX4 V8 & 01 Monte SS
Joined
·
5,022 Posts
I truly believe I need a firmware update.
You might try entering your VIN on this site:
https://tis2web.service.gm.com/tis2web
and see if you have an option to view if there is any information about your radio on it.
You may find something useful on it but you may not; since our units are updated via CD and tech 2 is just needed for some controlling I don't believe it will show up here.
(The Escalade however apparently does list the radio / AMP in here and they can get some updates to fix certain things)

This is the list of modules I was able to get from my VIN:
>EBCM Electronic Brake Control Module
>ECM Engine Control Module
>ESCM Electronic Suspension Control Module
>ONSA TIS2WEB Pass-Thru OnStar Activation (Replaced/Upgraded units only)
>TCM Transmission Control Module
>TVT TV Tuner (Export Only)
>V.T.D. Vehicle Theft Deterrent Learn
>VDAAW Vehicle Direction Alert Alarm Warning
 

·
Premium Member
09 1SG STS4 & Subie CrossTrek (retired 03 DeVille & 05 V6 SRX4)
Joined
·
429 Posts
I have a different software menu than the pictures posted here ( i only have 1 page in the software) but this is what i got :
Navi 0070
Audio 02.01
and I don't have the navigation in my HUD

Edit, sorry didnt notice this is the V section, I got here through google search, I have non-V 09
 

·
Registered
08 STS4 V8 1SG & 04 SRX4 V8 & 01 Monte SS
Joined
·
5,022 Posts
I have a different software menu than the pictures posted here ( i only have 1 page in the software) but this is what i got :
Navi 0070
Audio 02.01
and I don't have the navigation in my HUD

Edit, sorry didnt notice this is the V section, I got here through google search, I have non-V 09
... interesting, two 09 models that have matching numbers don't work.
(doesn't matter that one is V and one is not, they should be the same NAV unit)
 

·
Premium Member
'79 coupe deville, '04 Deville DTS White Lightning
Joined
·
3,211 Posts
Discussion Starter · #20 ·
Mj caddy i have the same exact versions, same year car, same issue. We definitely need firmware updates. Unfortunately we need to convince a dealer of this because there is no tsb stating ours needs to be updated. I found a dealer finally. It's an hour away and they're open Monday to Friday. They close at 5. Doesn't go well with work. Ill keep you guys posted.
 
1 - 20 of 122 Posts
Top