Create an account on the HP Community to personalize your profile and ask a question
01-27-2020 02:07 PM
Had to replace the motherboard in a Z4 and now keeps complaining about the feature byte code. i tried entering the one on the bottom of the case but i keep getting CRC errors.
01-28-2020 12:11 AM - edited 01-28-2020 12:14 AM
CRC == Cyclic Redundancy Check
When you have a string of bytes, a CRC is calculated, and is appended to those bytes.
If you write those bytes (plus the CRC) to a disk-drive, and then, later, read back those bytes (plus the CRC),
a new CRC is calculated, from the string of bytes, and is compared to the "old" CRC.
If the "new" CRC does not match the "old" CRC, the writing/reading process is corrupt, e.g., "I/O error".
In your case, some of those bytes you copied from PartSurfer are the CRC for the rest of the bytes.
This implies that you have incorrectly copied those bytes.
You can sometimes find it by using the Serial number at Partsufer:
or by copying featurebyte from Service Media Library bios simulator .
01-30-2020 06:21 PM
One last thing, your system was "LINUX" OS board, if your replacement board was Windows OS then it's feature byte code will not match what the bios has stored
check with HP to see how/if you can change the new boards feature byte or modify the bios info to work with a windows enabled board
01-30-2020 08:58 PM - edited 02-01-2020 11:25 PM
To "brand" or "tattoo" a virgin motherboard is an advanced procedure and not made easy by HP. A virgin motherboard can go either way, just once, in the process. You can't flash back and forth from Linux to Win branding. If the proper codes had been entered for Linux there would be no licensing fee going from HP to MS. If you buy a virgin motherboard from HP it will be unbranded and when you enter the codes for use of Windows then it can run a HP OEM COA Windows installer on the assumption that the workstation is already licensed for running that. The prior BIOS with its prior branded codes is thrown out with the failed motherboard. The new codes only come from you entering things properly from the labels on your workstation, usually on the bottom. Those codes are not workstation-specific, to my knowledge. That virgin motherboard is like a blank slate... depending on the codes entered it will become a Windows 7-licensed, or a HP Linux-licensed, or another Windows-licensed motherboard. It is as if the licensing goes along with your case rather than the motherboard itself. If is the codes on the bottom of your case that set what the motherboard can do, and the motherboard has no idea going in to the branding process what those codes are down there.
Could a virgin motherboard be branded with codes from another box? Yes. On a practical level this just does not happen, however. I happened to get two unopened version 2 Z620 virgin motherboards several years ago and entered the proper codes from the bottom of two spare slow version 1 Z620 cases. Worked fine as a version 2 Windows licensed workstation because the original case was W7 licensed. Upgraded to W10 now.
More interesting: If a used motherboard is bought is there a way to know just by looking at it if it is licensed already for a Windows OEM COA installer? Usually not, but there is an exception... if that motherboard has a "Replace by..." sticker attached with the Spares P/N on it.
Below is the barcode label from a Z4 G4 motherboard, code 0F/0G (they go sequentially lower or higher.... higher are later ones). On the right is the standard Assembly part number. On the left are what a Z4 G4 virgin motherboard can become.... three branches. One Linux, two Windows. Usually you'd only know by installing it and trying things out. Your bottom label codes won't do anything to change an already-branded used motherboard. Of interest, an unbranded motherboard can run just fine, but it can't use any of the HP OEM COA "Recovery" installer sets.
If you bought a used motherboard and got lucky you might have one of the "Replace with..." labels attached. The label below shows what those look like, and that Spares part number ending with -601 matches a Windows- branded motherboard part number (on the Spares (left) side of the bar code label). If you buy a new never opened/never branded motherboard the labels on the outside of its shipping box don't really help you. You will have a blank slate motherboard that needs the codes from the bottom of your workstation to be branded, which you can only enter once. Assuming they are entered correctly you cannot change them If they are entered incorrectly you get to keep trying. Most motherboards do not have that added "Replace with... " label:
Coming back to the main point... if you don't enter the codes exactly correctly you will get a checksum error type reject. The feature byte needs some little bits added to what you see on your workstation's bottom FeatureByte label. I'll try to find that in my notes and add to this post later this week. Once you get that right the reject message will resolve. This is the way things work from the ZX20 family on, including some of the business class boxes. There is a lot of old info related to HP branding. Ignore that. You want to use the new information from ZX20 era on.
01-31-2020 07:44 AM
I finally got the Feature Byte issue resolved. When you get “Invalid Feature Byte – CRC Failed” what it doesn’t tell you is all the unique ID info isn’t matching. HP failed big on this setup. My question was more about how to enter the info than it was "what is it".
Here’s what worked for me. The following fields have to be correct.
These are not in order, once entered correctly these fields move to a different location the BIOS in a different order. You may want to start from the bottom up instead of top down, entering Feature Byte last.
Some of this info can be collected from Hp Parts Surfer website with the serial number under the “Advanced” tab, I had to enter “Select a country or region: United Kingdom” otherwise it would say no data found.
1) Feature Byte – This is a very long case sensitive code that includes spaces but the spaces can NOT be enter in the BIOS, use the complete string.
here is what it looks like in HP Parts Surfer… it’s the numbers in the middle column but without the spaces and was also on the bottom of the case. This is a bogus number below....
4D3X 4777 6S7b 7N6Q 7T5U 7L7a 8H9Y aUap
adaz bfdU dpcq edhJ h2hZ .ZY
2) Product Number – Listed on the bottom of the case without the #ABA and was listed as such in HP Parts Surfer.
3) Product Family – Is on the bottom but not labeled as such, use the “Product Number”.
4) SKU Number – The SKU number is the same as the “Product Family” without the #ABA at the end but is not labeled as “SKU Number”
just enter the Product Family info minus the #ABA (but it may work with it).
5) Description – Was pre-populated in my BIOS and while it is on the bottom, it doesn’t say “Description” it is called “Description” in HP Parts Surfer though.
6) BID – Build ID is on the bottom of the case and requires the whole string of characters.
7) Serial Number – This is the serial number on the case.
😎 CT Number – This was on a sticker inside the case on the bottom.
02-01-2020 02:49 PM - edited 02-01-2020 11:27 PM
Here is a copy/paste from my updated notes, which included some added tidbits:
2020.2.1 HP “Branding” of Virgin Motherboard
A new unbranded motherboard requires initial entry of certain data into its BIOS so that it matches the original licensing/hardware and Restore media of the original workstation it is being placed into. This is termed to “brand” or “tattoo” a motherboard. Some HP computers require use of special software utilities (the proprietary HP DMI tool) for this, but more recent HP workstations appear to have changed from that and do allow customer entry of the data. This is a process that requires precision, correct entries, and some advanced knowledge. It generally is best left to a well trained HP Field Service Engineer.
If you have a functioning workstation that you want to upgrade the motherboard, for example, from a version 1 Z620 to a version 2 Z620 and have purchased a previously un-branded new “virgin” motherboard you will need to learn this process if you cannot hire this out. The “Chassis Serial Number” can be changed many times at will, but the other items get firmware flashed and cannot be changed after their first flash.
If you plan to upgrade your processor from the original one as part of installing and branding a virgin motherboard it is best to install the original processor first into the new motherboard, and boot into that, and then upgrade BIOS to the latest so that you have the latest HP microcode installed on the new motherboard. This is recommended because some newer processors you might want to use did not exist earlier and are not supported in the microcode. The virgin motherboard might be old and have an old BIOS on it that would not support your new processor. Fix that first, then upgrade to the second processor.
It is a major issue to forget that, and have your new processor installed in your new motherboard and have the whole upgraded workstation be unable to boot because it needs a newer BIOS for your newer processor to work. Learn how to upgrade BIOS from within BIOS, using the harvested .bin file of the new BIOS that you can extract from the latest BIOS installer. There is significant danger to your motherboard if you use the in-operating-system HP utility program to upgrade BIOS if you are running Windows 10 because that program was designed to work in Windows XP or W7.
You need to fill the following details from the HP Flexbuild and Support labels on the unit. These can be found on the chassis, often on the bottom (but may have been removed). This info can also be obtained as a screen shot capture from the original motherboard’s BIOS (under System IDs using CTRL+A to reveal the hidden fields). However, that method is rarely used because a motherboard replacement generally is not planned for. A third way is to look up your workstation in the HP PartSurfer by serial number, as you'll see.
Most of the codes can only be entered once into a previously unbranded (“virgin”) motherboard, but the Chassis Serial Number can be changed multiple times. This is handy if you've bought a used motherboard and you want to match its serial number to what is on the case. Fill in the information in BIOS by navigating to the blanks of the virgin motherboard via F10> CTRL +A> Security> System IDs. Examples below, and I have changed some of what you’ll see for security:
Asset Tag: 2UA3XXXXRL (the chassis serial number)
Ownership tag: (leave this blank)
Chassis Serial Number: 2UA3XXXXRL (chassis serial number)
Product Name: HP Compaq Pro 4300 SFF
SKU number: D8XXXXT#ABA
Build ID: 12WXXXXW6**#SABA#DABA (don’t enter the two asterix symbols into BIOS; use all the rest, and include no spaces.)
FeatureByte: 2U3E XXXX 3X47 5c67 6J6K XXXX 7B7H 7M7Q 7T7W 7aaB agap aq .t2 (the FeatureByte is case sensitive, and the font used on the FeatureByte case label can be difficult to understand. The same FeatureByte from PartSurfer is easier to read. Do not leave any spaces while filling in the FeatureByte. Do include the .t2 (in this example) as part of the FeatureByte entry.
After filling in the blanks, press F10 to accept.
Once the unit accepts the changes also select SAVE CHANGES AND EXIT as you back out of BIOS properly.
Here is a screen shot from BIOS from a Z620. The bracket symbols are not part of the entries you would perform:
02-01-2020 02:56 PM - edited 02-01-2020 03:06 PM
Here's what a PartSurfer result is for a Z640 with some info blanked out for security. Note that the FeatureByte entry shows up on 3 lines, and you'd combine lines 1 and 2 as the full FeatureByte, with no spaces, to enter correctly with easily seen upper and lower cases from that method. It is my understanding that the UUID of your workstation, which also is viewable in BIOS, is unique to that particular motherboard, and that it cannot be changed by this method. Assuming that is true your virgin motherboard can never fully match your failed original.