The current SMBIOS strings have default data in them and need to be updated to reflect the MinnowBoard-Max specifically. For example: Base Board Information Manufacturer: Intel Corp. Product Name: NOTEBOOK Version: REV A Serial Number: To be filled by O.E.M Asset Tag: To be filled by O.E.M ... Chassis Information Manufacturer: Intel Corp. Type: Hand Held There are many other instances throughout the SMBIOS strings.
I'm bumping up this priority as there are now sites publishing information about the board using bad information from the DMI strings, indicating that the manufacturer is Intel and that it is a NOTEBOOK. Tim, please move the bug to Accepted indicating you acknowledge the bug, priority, and target milestone. As a medium+, this bug should be considered a blocker to production release.
For example: Base Board Information Manufacturer: CircuitCo Product Name: MinnowBoard-Max Version: REV A1 Serial Number: To be filled by O.E.M Asset Tag: To be filled by O.E.M On these latter two - technically CircuitCo should fill those in. The Version: REV A1 is also problematic. How would the firmware team advise we proceed with those? There is no Chassis, is that a required set of fields?
I think Chassis is not required. For serial number and asset tag, can we give CircuitCo a tool under uefi shell to fill them ?
Perhaps - but would that be overwritten in the field when a user flashes their firmware? Sounds like this needs some specific storage or the flash tool needs to know how to maintain it.
Dave Anders to investigate options and make a recommendation. Some consensus around using the Realtek Ethernet Address (MAC) for the serial number. The hardware revision should also be readable through SMBIOS. Additional storage is available in the MAC/PHY for example.
Assigned to David and marked as NEEDINFO to make next steps obvious.
Other platforms have meaningful values for such strings. E.g. for product name Galileo = "Galileo". Galileo 2 = "GalileoGen2". Moon Island 2.0 = "Crosshill". MinnowBoard = "MinnowBoard". I am worried that if this is not addressed soon, ISVs will be forced to go with current settings and will not want them to be changed from their "meaningless" values. As an example I am working with the Intel Mesh team on an IoT project who use the product name to detect platform type for platform specific operations (e.g. GPIO control). Maybe we could agree on meaningful names before release so ISVs can be ready? What specifics do I need to provide to elevate defect from "Need Info" status?
i was not aware this was a blocking item. Darren/michael, what info do we need to finish this up?
I think we need the official name: MinnowBoardMAX? MinnowBoard-MAX? MB-MAX? Also an agreement on the Serial number and Asset tag? Serial Number = MAC Address? (I thought we agreed earlier) Asset Tag? It is really a matter of getting the fields defined, and then populating them.
michael, so how is all this info getting populated? is this something that we need to flash during validation/post-production? Dave
The most seamless mechanism, would be as follows: For Name, that can be hard coded in the firmware (no matter how many MinnowBoard MAXes that are built, they are still MAXes). The S/N: If we use the MAC address, then that is already programmed on the line. The firmware reads that at the time of the first boot (we even report it in one of the setup screens). When we boot the first time, we can capture the MAC address, and populate the data then For Asset Tag: This one I am not sure, as I am not completely familiar with the uniqueness and granularity of the data. This will require some discussion to determine the requirement (uniqueness of data, etc) and how to meet that requirement. This may be something that has to go into one of the secondary storage spaces on the Board (the Network EEProm, the SPD EEPROM - in some unused, non-restricted locations).
does the asset tag need to be populated? i.e. can it be blank? can we add a bios setup option so that someone can add their own asset tag?
Yes, the Firmware (setup) can do that (technically possible, with caveats), but where should the data be stored? If it is in an UEFI Non-Volatile Memory Variable, it will be in the flash, which is OK, until someone does a firmware update and erases the variables (losing the data). I am not sure if that is acceptable. For any other NV space on the platform, the firmware has only read algorithms, so it becomes a development effort to create a new feature in the code to enable the write fo the data into the proper storage device.
michael, a quick google search seems to indicate that the location and asset tags are intended to be configurable by the user and not fixed. http://www.cs.waikato.ac.nz/~dbaird/work/2013/06/24/setting-the-dell-service-tag-after-motherboard-replacement/ my suggestion is set the asset tag to some arbatrary value ("ABC123456789") as the default and have it available in the setup menu. i highly doubt these will be used specifically for the max, but there is always the potentional.... Dave
The following values: Manufacturer: Circuitco Product Name: MinnowBoard MAX Serial Number: <MAC Address> Asset Tag: <none> Chassis Manufacturer: Circuitco Chassis type: Board Where: <none> is a null value <MAC Address> - the MAC Address assigned to the on board LAN NIC.
This appears to have all the necessary information, assigning to Tim He for implementation.
Created attachment 2233 [details] *****SMBIOS dump******* Hi Darren, I just dumped the SMBIOS (see attachement) and compared with your request. The "serial number" of "Base Board Information" is already set to be MAC address. And some "manufacturer" have been changed to be "Circuitco". I think the remaining gaps are (1) "Vendor" field of "BIOS Information" should be changed to "Circuitco"; (2) "Chassis Types:" field of "System Enclosure" should be changed to "Board"; By the way, Do you also prefer us to change "serial number" field of "System Enclosure" to be MAC address? Or you do not care about this "serial number"? $Structure Type: Base Board Information Format part Len : 17 Structure Handle: 1 Manufacturer: Circuitco ProductName: MinnowBoard MAX Version: REV A SerialNumber: 001320FE300F $Structure Type: System Enclosure Format part Len : 24 Structure Handle: 2 Manufacturer: Circuitco Type: 11 System Enclosure or Chassis Types: Hand Held Version: To be filled by O.E.M SerialNumber: To be filled by O.E.M $Structure Type: BIOS Information Format part Len : 24 Structure Handle: 0 Vendor: Intel Corp.
Hi Darren, Sorry that I forgot to highlight that attached SMBIOS dump is not from 0.74 binary. It is dumped from our latest BIOS. The latest BIOS has partially fixed SMBIOS issue, but it still cannot 100% meet your request. The gaps I listed above are the gaps, from my understanding, between our latest BIOS and your request. Very appreciate if you could confirm. Hope a complete fix would be available in next release (maybe 0.75).
(In reply to comment #17) > System Enclosure or Chassis Types: Hand Held So that clearly needs to change :-) The recommendation was "Board" (per your point #1) > Version: To be filled by O.E.M > SerialNumber: To be filled by O.E.M > > $Structure Type: BIOS Information > Format part Len : 24 > Structure Handle: 0 > Vendor: Intel Corp. I believe this is correct, Intel did provide the firmware. (So no to point #2)
(In reply to comment #17) > By the way, Do you also prefer us to change "serial number" field of "System > Enclosure" to be MAC address? Or you do not care about this "serial number"? I'd leave this one empty. Thanks!
Hi Darren and Michael, It seems that "System Enclosure or Chassis Types" cannot be set as "Board", because SMBIOS spec does not define "Board" type Chassis. Mang Guo will provide more detail.
Hi Darren and Michael, According to the latest smbios spec, "Board" is not in the list of "System Enclosure or Chassis Types". The following are all the Chassis Types: Byte Value Meaning 01h Other 02h Unknown 03h Desktop 04h Low Profile Desktop 05h Pizza Box 06h Mini Tower 07h Tower 08h Portable 09h LapTop 0Ah Notebook 0Bh Hand Held 0Ch Docking Station 0Dh All in One 0Eh Sub Notebook 0Fh Space-saving 10h Lunch Box 11h Main Server Chassis 12h Expansion Chassis 13h SubChassis 14h Bus Expansion Chassis 15h Peripheral Chassis 16h RAID Chassis 17h Rack Mount Chassis 18h Sealed-case PC I think "Expansion Chassis" is more suitable for our board, so can we use Chassis Types "Expansion Chassis" instead of Chassis Types "Hand Held"?
Is "None", NULL (unassigned) an option? Do we have to populate it? If not, and in the absence of "Tackle Box", the only answer is "Unknown" because we don't know what sort of chassis or enclosure the board will be in. Thank you for the detail Mang Guo.
Let's go with Unknown (Value 02).
Thanks Michael. I will "unknown" to fill in.
Created attachment 2255 [details] SMBIOS test image Attachment is a test image include all the changes I have done for SMBIOS table. Please see the following list described in detail about what fields I have changed. After change: Type 1 ProductName: MinnowBoard Max B3 PLATFORM Manufacturer: Circuitco SerialNumber: <MAC Address> Add D0 stepping Type 2 Manufacturer: Circuitco ProductName: MinnowBoard MAX SerialNumber:<MAC Address> Type 3 Manufacturer: Circuitco System Enclosure or Chassis Types: Unknown Version: SerialNumber: AssetTag: Type 4 ProcessorManufacture: Intel SerialNumber: AssetTag: PartNumber: Type 17 Manufacturer: Micron SerialNumber: AssetTag: PartNumber: Before change: Type 1 ProductName: Minnowboard Max B3 PLATFORM Manufacturer: Intel Corp. SerialNumber: To be filled by O.E.M Type 2 Manufacturer: Intel Corp. ProductName: NOTEBOOK SerialNumber: To be filled by O.E.M Type 3 Manufacturer: Intel Corp. System Enclosure or Chassis Types: Hand Held Version: To be filled by O.E.M SerialNumber: To be filled by O.E.M AssetTag: To be filled by O.E.M Type 4 ProcessorManufacture: INTEL SerialNumber: To be filled by O.E.M AssetTag: To be filled by O.E.M PartNumber: To be filled by O.E.M Type 17 Manufacturer: To be filled by O.E.M SerialNumber: To be filled by O.E.M AssetTag: To be filled by O.E.M PartNumber: To be filled by O.E.M
Please correct the usage of "MinnowBoard MAX" to be consistent throughout. Currently there is a mix of capitalization. Michael provided the accepted string in Comment 15: "MinnowBoard MAX"
Also, why was "B3 PLATFORM" added?
Thanks Darren. I will change "Max" in type 1 to "MAX". For "B3 PLATFORM", "B3" is the stepping of SOC and I have just added the newer stepping "D0" for supported. It's dynamically detected by the code that located at : Vlv2TbltDevicePkg\SmBiosMiscDxe\MiscSystemManufacturerFunction.c case PchB3: UnicodeSPrint (Buffer, sizeof (Buffer),L"%s",L"MinnowBoard MAX B3 PLATFORM"); So, the field "ProductName" in type 1 is now filled with "MinnowBoard MAX B3 PLATFORM". Many thanks for your advice.
Created attachment 2268 [details] Test image Hi Darren, Attachment is the latest test image for SMBIOS. I have changed "Max" to "MAX". Please confirm. Thank you!
We will *NOT* be able to use the "MinnowBoard MAX B3 PLATFORM", this *HAS* to be more generic as the CPU stepping is going to change whether we like it or not. I would change that to "MinnowBoard MAX" and just leave it at that. We may also want to change the "Version" from B3 to something more generic, as again, the CPU stepping is going to change (the System Information Version currently says "B3"). I'd just go with "MAX" personally. If someone wants to know what stepping of the CPU they are on, they can read the CPU flags and identifiers.
(In reply to comment #31) > We will *NOT* be able to use the "MinnowBoard MAX B3 PLATFORM", this *HAS* > to be more generic as the CPU stepping is going to change whether we like it > or not. I would change that to "MinnowBoard MAX" and just leave it at that. > > We may also want to change the "Version" from B3 to something more generic, > as again, the CPU stepping is going to change (the System Information > Version currently says "B3"). I'd just go with "MAX" personally. If > someone wants to know what stepping of the CPU they are on, they can read > the CPU flags and identifiers. Ok nix my last comment, if the information is dynamically generated than I have no issue (sorry didn't read Mang Gou's comments clearly enough), assuming it's dynamically generated for both the version and the product information (Mang can you confirm that since I don't have access to that source yet?) If that's the case this can be closed with 0.76's release
Hi John, We now have no other stepping board except "B3" . But I have checked our code, the stepping information is dynamically detected by the code. When stepping changes, the information will be change.
0.76 released http://firmware.intel.com/projects/minnowboard-max this bug is complete.