Adding Known DMI info to HP MSI-AMI windows 7 to make recovery disks work

Discussion in 'BIOS Mods' started by de3234f2, Mar 16, 2011.

  1. de3234f2

    de3234f2 MDL Novice

    Mar 9, 2011
    15
    0
    0
    #1 de3234f2, Mar 16, 2011
    Last edited by a moderator: Apr 20, 2017
    I have snooped around my recovery disk to find dmi info that I need to add to my bios so I can tattoo it to use the recovery disks. I have already flashed my bios with slic and I am not sure if that was needed, I think that I might go back to pre-flash bios before I do the tattoo but I really don't know what to do. I have found that HDD_DMI_Utility.zip has worked for people that have the password and I can't find the pass anywhere for protected zip. If you can find dmi utility to tattoo my MSI MS-7613 (Indio) v5.11 (11/27/09 20:46:17). I have read some threads here about tattooing HP products but none seem to be for my bios/windows 7.

    I also have tried calling the future shop (authorized hp repair shop, who installed new mobo when it failed) but they never pick up the damn phone. HP support just tells me to talk to future shop people who refuse to talk to me, looks like I am caught in the matrix. I still have a 3 year warranty, not sure what that says about how crappy the support is.

    Edit: Sorry folks consider this (partly) solved, I found the dmi utility in recovery disks, they were hidden like a tight asshole but they have been found.
    edit2: I can help anyone out who need to use the dmi utility for hp
    edit3: looking at all the .cmd files in recovery really makes me wonder if we can make a tool that would allow us to customize these disks...


    edit4: ok so here is the deal, I have found
    1. that HP uses cpc_rdmi.exe (found 3 versions of same file, they all seem to do the same thing but have different sizes and checksums) to get current dmi info.
    you can use cpc_rdmi.exe /rall >DMIinfo.ini in elevated cmd to get your bios info currently tattooed in a nice .ini file; you can also use cpc_rdmi.exe /eall to get a cpc_rdmi.bat file with all the bios tattooed info with @SeT in front like @SeT Build ID=Unknown on each line.
    2. HP won't check Build ID, SerialNumber, SupportID, UUID, OEMAuditBootLink, DLPause , MSC since all of this info is unique to each pc.
    3. DMIinfo.ini contains most of your dmi info that you need, except the serial number, which can be found on the box and build ID, although that information is not required to get recovery disks to work there must be some value stored in those areas since other third party applications(like hp support utility) might need that information.
    4. The version of dmi utility is 2.00.01
    5. Most of the .bat in the bin folder that are copied from the disks self destruct after they run and try to run a silently as possible.
    6. I noticed that a file RStonePre.ini and PStomePost.ini have complete dump of bios strings before and after and there are some minor changes there, which tells me that there is a way for restore disk to change the dmi info.
    7. Lots of the code is hard coded in so it is much easier to see what is going on and change those values to point to any file, but makes it hard because lots of the files are dependent on each other.
    8. I suspect that files like automod32.exe and HomePremium.xml might have something to do with activation process
    9. I can see exact path and reg files that lot of boaltware takes so it is easier for me to eliminate later on. (i don't wanna remove anything from the disk as it may cause some issues that I don't know about)

    I will update this as I find more info... it really take long to look through hundreds of lines of code to see what is exactly going on here
    feel free to add any comments/suggestions you have

    edit, ok i think cpc_rdmi.exe might be useless, here is what a file called cpc_rdmi64.exe (infact all 3 show same thing, smaller size versions are v10.03) shows:
    Code:
    Version: [10.02]
    Usage:  cPC_rDMI [OPTION]
    /?      - displays this message.
    /ver    - displays the version information of the program.
    /e      - creates cpc_dmi.bat for setting environment variables with
              the contents of the formatted strings from Type1 of the DMI.
    /r      - displays the formatted DMI strings of Type1.
    /e11    - creates CPC_DMI.bat for setting environment variables with
              the contents of the formatted strings from the DMI Type11.
    /r11    - displays the formatted DMI strings from Type11.
    /rall   - displays the formatted DMI strings from Type1 and Type11.
    /eall   - creates CPC_DMI.bat for setting environment variables with
              the contents of the formatted strings from Type1 and Type11.
    
    if Type11 is not defined, OEMSTRINGS=0 will be the result
    
    /type0  - displays Bios Vendor,Bios Version and Bios Release Date.
    /type1  - displays OEM Manufacturer,Product,SerialNumber and Version.
    /type2  - displays Motherboard Manufacturer information.
    /type11 - displays the entire Type11 structure.
    
    /all    - displays TYPE 0, 1, 2, and 11 of the DMI.
    
    returns:
     errorlevel = 1 if failure.
     errorlevel = 0 if success.
    
    here is another file HPCheckOA21.exe:

    Code:
    
    HPCheckOA21 v1.1.0.0 (c)Copyright 2009 Hewlett-Packard Development Company, L.P.
    
    HPCheckOA21 [/C:ANY|BPC|CPC|DSO|MPC|WKS] [/V:ALL|SLIC|RSDT|XSDT [/D]] [/A] [/?]
    
    /C = Check ACPI SLIC table, specify division
    /V = View table, specify table
    /D = Display decoded table instead of hex
    /A = Check OS is activated
    /? = Display Help
    
    On Exit:
     ERRORLEVEL = 0  -  /C Check /A Check passed
    
    Examples:
    HPCheckOA21 /C:CPC
    Checks the BIOS has correctly populated the ACPI SLIC table for CPC division
    ERRORLEVEL=0 if ACPI SLIC is correctly populated
    
    Here is 103C_HP_CPC.vbs (had to add space to url):
    This is just the documentation, it has a signature block in the end not sure if that is any useful
    Code:
    '**************************************************************************
    'OCA MRK File Generator
    'Copyright (C) 2002 Hewlett-Packard Company 2002, 2003, 2004. All rights reserved.
    '
    ' File:  oca_mrk.vbs
    '
    ' Description:
    '
    '    OCA_MRK creates a hidden .MRK file in C:\WINDOWS\SYSTEM32\DRIVERS 
    '    to be used by the Microsoft online crash analysis infrastructure. 
    '
    '**Start Encode**
    '
    ' Windows Script Encoder can be downloaded from 
    '  msdn. microsoft. com  /scripting/vbscript/download/x86/sce10en.exe
    '
    ' History:
    '
    '     3.0     August 2, 2002  DJG     Major rewrite into VBScript from C
    '     4.0     August 22, 2002 DJG     Major rewrite. Added cab file
    '
    '     4.3     Feb 12, 2003 DJG     
    
    '            Update to support new naming scheme (no more Evo)
    '            OCA_LOG.TXT is now in C:\WINDOWS\SYSTEM32\DRIVERS instead of default user profile
    '            Corrected usage of IsInString; no functional difference for bPC/nPC projects
    '            Include PO# for bPC/nPC projects
    '            address phantom NIC device by querying for actual PCI device
    '            add "Tablet" brand
    '            delete CAB related code
    '            added Transmeta as CPU vendor; strip Transmeta out of CPU name
    '            strip out "Mobile" from CPU name
    '            remove counting processors as way to guess workstation 
    '            added tag per John Landry's request
    '            split brand and division into separate fields
    '            added explicit revision field identifier; changed revision field to "43"
    '
    '     4.4     Feb 21, 2003 DJG     
    '            added back shortening of max file length to accomodate FBI (TweakFileName function)
    '            delete OCA_LOG.TXT file instead of leaving it in the drivers folder
    '            add explicit product ID field "("
    '            added system vendor (R) and version (2) field 
    '            updated brand/division detection
    '            strip out foreign translations of processor from CPU name
    '            simplify .MRK file contents so it is easily viewed with Excel
    '
    '     4.5JL  Oct 23, 2003 DJG     
    '            Added Born On Date support for portables.
    '            Always include a tag of "MOBILE" if no other tag is specified (and full serial number will be pulled).
    '
    '     4.6    August 12, 2004 DJG
    '
    '            Added 103C_HP_DIV_ to beginning of marker file string so we can get app crash data from MS.
    '            If model starts with "HP d", assign division=bPC
    '            Remove number at end of athlon string, e.g. Athlon XP 2000+
    '            Get right OS version for French Home Edition (Familiale)
    '            Update product ID detection to handle more than just six character product IDs
    '            Swap position of modem and full computer system product vendor strings
    '            Replaced multiple calls to chassis type detection with a variable 
    '              that is calculated once--no change in file name
    '            Updated MyEcho--no change in file name
    '            Include BornOnDate in file contents--no change in file name.
    '            Remove embedded underscores from WMI values
    '
    '      4.7   August 24, 2004 EP
    '
    '            Changed _Y logic so that if division is 103C_HP_CPC, field is always _YC
    '            in order to prevent false division assignment.  Code is unchanged for 
    '            other divisions
    '            Changed born on date function to correctly report the born on date for CPC
    '            builds.  CPC builds have an odometer file which preserves this information
    '            even if a destructive recovery is done.  Code is unchanged for other divisions.
    '            Reordered field priority in GetRawFileName to better suit CPC needs.  Priority
    '            is unchnaged for other divisions.
    '
    '            Fixed issue in GetRawFileName where GetHPDivisionandBrand was being called
    '            without full Win32_ComputerSystemProduct,Vendor field which caused Brand in
    '            _0 field to be reported incorrectly.
    '
    '            Fixed issue in GetProductID which caused code to always take the path for 
    '            ( and ).  Must test to see that both ( and ) exist.
    '
    '            Note that all changes in 4.7 only take effect if the division (filename) is
    '            103C_HP_CPC except for the last two Fixed Issues which appear to be bugs in
    '            4.6
    '
    '      4.8   August 24, 2004 DJG
    '
    '     Added support for SMBIOS 2.4 where the product number is in a new field.
    '            Reworked the brand, division logic to be based off the script filename.
    '            Added support for XP 64 Edition (WXX1).
    '
    '      4.9   October 10, 2006 EP
    '
    '            Vista builds store the odometer data in \hp\support\hpsysdrv.dat instead
    '            of \windows\system\hpsysdrv.dat.  The code was changed to accomodate new path.
    '
    '**************************************************************************
    
    yet another edit:
    I haven't seen any file that will help me modify dmi yet but I have a few suspects... I will continue trying, I hope someone here has a solution
     
  2. 0326det

    0326det MDL Novice

    Aug 7, 2011
    3
    0
    0
    #2 0326det, Aug 7, 2011
    Last edited: Aug 7, 2011
    Hi

    I need to tattoo a mobo with the product information that was lost due to a bad bios update.
    Is this similar to what you are doing? Or am I in the wrong place.
     
  3. Tito

    Tito Super Mod / Adviser
    Staff Member

    Nov 30, 2009
    18,682
    18,581
    340
    What is the model of the motherboard???
     
  4. 0326det

    0326det MDL Novice

    Aug 7, 2011
    3
    0
    0
    #4 0326det, Aug 7, 2011
    Last edited: Aug 7, 2011
    can anyone tell me how to tattoo product information into mobo? This is what I know so far I need a Dos bootable
    usb thumb drive or bootable cd rom, a DMIFIT Utility for my HP dv4T-1400CTO (which one I havn't a clue) and copy
    the DMIFIT file to the root of the bootable media again don't have a clue.


    Thanks for any help

    Dave
     
  5. 0326det

    0326det MDL Novice

    Aug 7, 2011
    3
    0
    0
    LA-4101P intel GL40 chipset HP DV4T-1400CTO Insyde Bios SP47847 latest version 30f7f66u.fd
     
  6. MrCatPC

    MrCatPC MDL Novice

    Nov 7, 2011
    1
    0
    0
    de3234f2: approaching topic from the opposite end, as a learning excercise... I'm attempting to use recovery dvd set from one model on a different model in the same series of HP Touchsmart all-in-one PCs. I've been editing the iso contents: renaming files which reference the change in software build id & system model number, replacing those strings inside ini & other filetypes using Notepad. Is this all futile, or am i on the right track?

    FWIW, I know this other model's recovery set is less than $20 to order incl shipping. But if i can reuse recovery media already on-hand in my workshop as master set for a series of PCs, so much more sweet!

    I would not call it hacking (i lack the skills despite my curiosity), just investigating options beyond paying HP money for discs which were never included for this machine's owner. It suffered a hard drive failure and didn't create a set beforehand.

    Thoughts welcome, and i'll share the recipe of course, if i unlock all the secret ingredients. :)K
     
  7. yolenman

    yolenman MDL Novice

    Feb 11, 2010
    6
    0
    0
    #7 yolenman, Feb 22, 2012
    Last edited: Feb 22, 2012
    HP G60 Windows 7 Recovery Media Issue

    This thread is directed to de3234f2 - but since I don't have enough posts - I cannnot PM him.

    Similar to the above post, I'm attempting to install genuine (HP Provided) HP Windows 7 Home Premium Recovery Media from a newer HP laptop model onto an older HP G60-120US laptop (w/AMD processor and Phoenix BIOS) - that originally shipped with Vista.

    But I have a slightly differnt inquiry/scenario.

    I have used a "non-factory" bios to update the bios to version F54A, which also revised the SLIC tabel to version 2.1 from 2.0 (the stock bios does NOT revise the SLIC table beyond version 2.0). I did this as so the forthcoming Win 7 install will be validated (as the install would install the HP certificate). To be clear - I'm not concerned about the validity of the BIOS update - and I don't want to confuse this issue with the other issues where people cannot use their "FACTORY" recovery media on their system. My issue is slightly different.

    When I boot the G60 from the Recovery Media it ultimately throws an error statsing that I'm unable to use this media to recover for this laptop model and prints out a buch of 4 digit error codes in a pop up window.

    Reseaching the issue, I've found tons of info about Tattooing and the HP DMI tool (to write the DMI from the BIOS onto the HD, etc, etc).

    In reading HP Tattoo utility documentation, it appears that the Recovery Media validates certain DMI tags to verify if the target install machine is valid before perfoming the recovery process. I believe the tags/fields in question are RIN#, Software BOM and/or Hardware BOM. Clearly, my older G60 is failing this lookup.

    I understand I can use the Tattoo tool to write new values for these fields. I can also use the HD DMI tool as so the system will write the values from the bios to the hard drive.....

    My issue however, I do not have another RIN# or hardware/software BOM number from a newer/legitiate HP laptop that shipped with Windows 7 from the factory. Does anyone happen to have this information they can share with me - as so I can use the Tattoo tool to write those entries into the repsective fields.

    I'm hoping - If I enter the right info - the Recovery Media will boot, validate that the G60 is a vlaid canditate for the recovery process, then move forward with installing Windows 7 Home Premium. And since my SLIC is at 2.1 - it should validate.

    I know this is the long way around the barn (in that I could just install a retail Windows 7 Home Premium and swap out the SLP/Key) - But I really would like a factory like image running on this system - even if it means more bloat-ware.

    Anybody got a RIN#, H/S BOM they could share with me ? - or - share any other ideas input that I may be missing ?