Search Archive

2015 Avic Z120 map update

By kellinaradway · Oct 03, 2015in Hacks/Mods💬 256 posts👁️ 81,230 views
Page 3 of 11
Posted Oct 25, 2015 · 22:12 UTC#51

Okay, I took the CARDINFO from this thread (2015 update) and modded it to support Z130BT and Z140BT.  This should hopefully work now.  It's crazy raining here I can't get to the truck outside to test.

 

Give it a try.  Make sure you back up /USER directory first.

CARDINFO.rar

Posted Oct 25, 2015 · 23:09 UTC#52

Okay, I took the CARDINFO from this thread (2015 update) and modded it to support Z130BT and Z140BT.  This should hopefully work now.  It's crazy raining here I can't get to the truck outside to test.

 

Give it a try.  Make sure you back up /USER directory first.

Just tried your modded CARDINFO file on a Z140BH. Still displays "incorrect SD card" message. I verified the SD card I am using is good by using the 2013 (v5.0) update. I attached a HEX dump image of the 2013 V5.0 Z110BT/Z120BT and Z140BH. As you can see, every value, except #PIONEER, is different. I can only assume that this would be the case with the 2015 V6.0 CARDINFO files. I was hoping to get the EU CARDINFO file to see if it might be easier to modify since the Z140BH and F40BT units are identical.

post-18057-0-85972000-1445814561_thumb.jpg

Posted Oct 26, 2015 · 22:50 UTC#53

Hmm...try this one.  I just downloaded from the 2015 EU thread...that someone posted it.  Not sure if it'd work but it's for "Here the modded CARD.INFO file, 2015 edition for F20/ F920 / F9210 / F9220"

I'm hoping we can mod it for 130/140?

CARDINFO_2015.rar

Posted Oct 27, 2015 · 13:03 UTC#54

Just to keep it simple for now, I'd recommend replacing "X14EU0" (F40BT) with  "X14UC0" (Z140BT) and "X71EUR" (F30BT) with "X71UNC" (Z130BT).

 

That replaces the EU F series units with US/CN versions of that hardware. So hopefully if any of those other mysterious characters are important, they will match. If this works with Z130 & Z140, then the X series (X930 & X940) can be added.

Edited Oct 27, 2015 by RonS
Posted Oct 27, 2015 · 14:01 UTC#55

I have been following this thread for a few days. Can someone tell me which card info would b the one for a x920bt that has had the CNSD-210FM map upgrade.  thx for your time guys

Posted Oct 27, 2015 · 14:58 UTC#56

I have been following this thread for a few days. Can someone tell me which card info would b the one for a x920bt that has had the CNSD-210FM map upgrade.  thx for your time guys

The one from the original post - use the link in post #12.   That should work as-is.  

Posted Oct 27, 2015 · 15:28 UTC#57

Good afternoon,
I have the Pioneer Avic f50bt with the Europe 2013 maps, it is possible to update maps of 2015?
My thanks.

Posted Oct 27, 2015 · 16:01 UTC#58

Good afternoon,

I have the Pioneer Avic f50bt with the Europe 2013 maps, it is possible to update maps of 2015?

My thanks.

I don't think so. This is the US/CAN map upgrade. Check on the F-Series forum. They should know.

Posted Oct 27, 2015 · 21:49 UTC#59

cardinfo.cif is just signalling unit that there is an update on the SD card.

I dont think it has versioned information.

I do know that there are some special fields at char position 16 and 17. I think they are normally ascii "00" and can be 01, etc but I dont recall exactly what those are used for.

 

Regarding the rest of the cardinfo, starting at about the 20th char, and every group of 6 chars after that, there could be the model codes that were discussed before. This goes on through much of the rest of the file, and then there may be some other section towards the end of the file, again not sure if thats used or what its used for.

 

So you can replace or add your own model code in there.

I think that if your model code is listed in cardinfo.cif and the unit reboots, then cardinfo is finished. So the problem here is not with cardinfo.

 

The verinfo has a major version and i think an update type (normal vs urgent). I think this is also set correctly to do an update.

The ALLDATA.VER has a manifest of all the files in the update, including size and crc32. I think this is used by update to verify the files are correct.

 

I'm suspecting that something else isn't right in the case of "Incorrect SD card" - perhaps there is an os-level "platform" update which is only for certain hardware model.

Posted Oct 27, 2015 · 21:51 UTC#60

to see the structure of the cardinfo.cif, you can run this command (linux/mac) on cardinfo and see where the model codes are placed. I think they can be anywhere in the middle as long as they are on these 6 letter boundaries. Seems like there is alot of obfuscation there.

sed -e 's/#Pionee//' -e 's/....../&\n/g' CARDINFO.cif
Posted Oct 27, 2015 · 21:55 UTC#61

to check the update matches the manifest you can probably run something like this:

#!/usr/bin/perl
#
# parses ALLDATA.VER manifest
# lists files, sizes, and verifies crc32b
#

use Digest::CRC; 

my $crc = Digest::CRC->new(type=>"crc32");
my $filename = "ALLDATA.VER";

if (@ARGV) {
    $filename = $ARGV[0];
}

open(my $fh, $filename) or die "can't open $filename";
binmode($fh);

## check file crc
# get crc from end
seek($fh, -4, 2);
my $filecrcpos = tell($fh);
read($fh, my $filecrcraw, 4);
my $filecrc = unpack("L", $filecrcraw);
# check actual crc of file
seek($fh, 0, 0);
read($fh, my $filecontents, $filecrcpos);
$crc->add($filecontents);
my $crccalc = $crc->digest();
$crc->reset();
if ($filecrc == $crccalc) {
    print "File CRC check OK. ";
} else {
    printf("File CRC check FAILED. File crc: %08x, calculated crc: %08x\n", $filecrc, $crccalc);
}    


## now begin read
# skip magic, 
seek($fh, 4, 0); 

# filesize
read($fh, my $filesize, 4);

# skip something?
seek($fh, 36, 1);

# total file records
read($fh, my $numrecsraw, 4);
my $numrecs = unpack("l", $numrecsraw);
my $fcounter = 0;
my $isdir = 1; # track directory/filename mode
my $currdir = "";

while ($fcounter < $numrecs) {
    read($fh, my $sectionsizeraw, 4);
    my $sectsize = unpack("i", $sectionsizeraw);
    for (my $j=0; $j < $sectsize; $j++) {
        read($fh, my $rawtext, 56);
        my @fnameraw = unpack("C*", $rawtext);
        read($fh, my $rawdata, ;
        my ($fsize, $fcrc) = unpack("L L", $rawdata);
        # cant figure out the multibyte magic needed to make perl unpack this to ascii, so must hack/map
        my $fname = join("", map { if ($_ > 0x0 && $_ < 0x80) { chr($_) } } @fnameraw);
        if ($isdir) {
            # build directory path
            $currdir = $currdir . "$fname/";
        } else {
            # list files
           printf("  %s, size: %d, crc: %08x, ", $fname, $fsize, $fcrc);
           my $fullname = "$currdir$fname";
           if ( -e $fullname ) {
              open(my $testfh, $fullname) or die "can't read $fullname";
              binmode($testfh);
              $crc->addfile(*$testfh);
              my $fcrccalc = $crc->digest();
              $crc->reset();
              if ($fcrc == $fcrccalc) {
                  print "CRC OK";
              } else {
                  printf("CRC BAD. crc calculated: %08x", $fcrccalc);
              }
           } else {
              print "FILE $fullname NOT FOUND.";
              printf(" %x", $fullname);
           }
           print "\n";
           $fcounter++;           
        }
    }
    
    # toggle dir/filename mode
    if ($isdir) {
        print "$currdir\n";
        $isdir = 0;
    } else {
        $currdir = "";
        $isdir = 1;
    }
}

Posted Oct 28, 2015 · 12:26 UTC#64

to check the update matches the manifest you can probably run something like this:

I'm not very familiar with perl, but I loaded a version on my Widows 10 PC (Padre  guess Strawberry) and managed to run your script. BTW line 91 should be "%s" instead of "%x" since  $fullname is a string. However, I ran it and all files were present and CRC'c OK. 

 

I'm wondering if it isn't something simple.  Randomwalk101, on your SD, look in \UPDATE and see if there is another directory called UPDATE. When I extracted the modified UPDATE.RAR I got UPDATE\UPDATE\ then all the files we expected.

Posted Oct 28, 2015 · 12:28 UTC#65

I think I got. Running a few different units to see if it works.

Meaning you bought if off ebay, or you found out what the problem was?  And how many different units do you have LOL.

Posted Oct 28, 2015 · 12:32 UTC#66

I made sure the extract was correct. Only 1 update folder.

Posted Oct 28, 2015 · 12:57 UTC#67

Meaning you bought if off ebay, or you found out what the problem was?  And how many different units do you have LOL.

I have a Z110BT, Z120BT, and 2 Z140BHs. I included a bit dump image of the CARDINFO.cif file for the Z140BH 2013 update. The only fields required are filled in. Pionara is correct, position 16 and 17 are the same for US and EU. They tell the unit that there is a system update: position 16 for yes position 17 for no. The rest of the field does not matter except for the location (hex address) of the unit you have (see image). So all you need to do is figure out the correct location for the 2015 update.

post-18057-0-78697600-1446037003_thumb.jpg

Posted Oct 28, 2015 · 16:35 UTC#68

Thx again all ---  and thx to RonS --- I used cardinfo and the firmware and update from post 12 . All went fine with no problems.  Ppl just remember to only use one update folder because it unzips and has one then another one. Also a big thx to   kellinaraday, and the rest that made this happen.

 

 

      avicx920bt that has had the last two updates from here and this one.

Edited Oct 28, 2015 by FreeTime
Posted Oct 28, 2015 · 16:49 UTC#69

I included a bit dump image of the CARDINFO.cif file for the Z140BH 2013 update. The only fields required are filled in. Pionara is correct, position 16 and 17 are the same for US and EU. They tell the unit that there is a system update: position 16 for yes position 17 for no.

OK, but you are using confusing terminology. First, it is a hex dump, not a bit dump, but that is minor. When you say "position 16", do you mean offset 0x0F (starting at 0, that is the 16th byte, or 0x10 (technically the 17th byte in the file but is 16 decimal)?  In your dump both 0x0F and 0x10 are set to ASCII '0' (30 hex). Also, if these positions are flags, is there a specific value for T or F.  And off topic, but that's brain-dead of Pioneer to use two flags for something that is mutually exclusive. Meaning Update can only be T or F, so only one flag is needed. Wonder what happens if both at set?

 

Next question -

The rest of the field does not matter except for the location (hex address) of the unit you have (see image). So all you need to do is figure out the correct location for the 2015 update.

 

I'm confused by all of this. I'm not sure what you mean by "field" in this context. The whole 300 byte file?  What do you mean by "location"? An offset? And by "hex address" are you referring to the ASCII labels Pioneer assigns to the individual models - like

  • X07UNC (Z110BT)
  • X05EUR (F310BT)
  • X05UNC (U310BT)
  • X27EUR (F920BT)
  • X27UNC (X920BT)
  • X30EUR (F20BT)
  • X30UNC (Z120BT)
  • ......

 

If so, those aren't hex anything. They are just strings which seem to use a naming convention the begins with 'X', followed by 2 digits, followed by a 3 char  string which seems to define region and some other optional variation (hence the last char '0' or '1'). BTW, examining the 2015 Euro file - there seem to be many more than I listed. 

 

So anyway, are you saying that this CardInfo works with the 2015 upgrade for Z140bh and X940bt?

Edited Oct 28, 2015 by RonS
Posted Oct 28, 2015 · 19:20 UTC#70

Urghhhh. So what's the verdict? This 2015 map update will NOT work on z130bt and z140bt?????

Posted Oct 28, 2015 · 23:35 UTC#71

I just applied this update to my Z120BT without any problems.  It took almost 30 minutes for the update to install.  When the update was done and the HU rebooted, the SD card was still in the unit and it prompted me again if I wanted to update.  I assumed this was just my dumbness of leaving the card in the HU so I told it no and removed the SD card.  Everything seems perfect so far.  Thanks a ton to anyone and everyone how helped make this available!!  :mrgreen: :mrgreen: :mrgreen:

Posted Oct 29, 2015 · 16:13 UTC#72

attachicon.gif2015 Maps CIF DAT.zip

 

These are for:

AVIC-Z130BT

AVIC-X930BT

AVIC-X9310BT

AVIC-Z140BH

AVIC-X940BT

BlakeStone posted this in the X series forum. Just to spell it out clearly, use this CardInfo.cif file (after unzipping of course) for the above mentioned headunits. Thanks for posting this BlakeStone.

Posted Oct 29, 2015 · 22:42 UTC#73

BlakeStone posted this in the X series forum. Just to spell it out clearly, use this CardInfo.cif file (after unzipping of course) for the above mentioned headunits. Thanks for posting this BlakeStone.

 

Well...downloaded this Zip file and put the new CARDINFO file in and it still say "Wrong SD Card".  Went back and replaced the VERINFO file (from pionara) with the verinfo  file in this zip file and it said "Update Failed....try again" with a "Retry" button.  Press on the retry button just repeat the message...so in other words, it doesn't work.  

 

Perhaps BlakeStone can upload the 2015 map again along with everything else for the z140BH/X940/130BT etc... unit?

Posted Oct 29, 2015 · 22:47 UTC#74

Well...downloaded this Zip file and put the new CARDINFO file in and it still say "Wrong SD Card".  Went back and replaced the VERINFO file (from pionara) with the verinfo  file in this zip file and it said "Update Failed....try again" with a "Retry" button.  Press on the retry button just repeat the message...so in other words, it doesn't work.  

 

Perhaps BlakeStone can upload the 2015 map again along with everything else for the z140BH/X940/130BT etc... unit?

The cardinfo has yet to be cracked.  If someone can get ahold of the EU version I'm sure that would work.

Posted Oct 29, 2015 · 22:54 UTC#75

My understanding is limited so I may be way off based here but according to pionara, cardinfo only serves to trigger the unit into looking at the SD card for an update and reboot the unit.  Once rebooted, cardinfo is not used anymore.  If this is the case, the cardinfo we currently have should suffice...so it could be something else..

Edited Oct 29, 2015 by randomwalk101
Page 3 of 11