is vboxmanage setextradata SMBIOSAssetTag possible

This is for discussing general topics about how to use VirtualBox.
Post Reply
s_k_e_l
Posts: 6
Joined: 17. Jun 2010, 14:49
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: XP sp3, vista sp1 &2 windows server 2003 / 2008

is vboxmanage setextradata SMBIOSAssetTag possible

Post by s_k_e_l »

Hi
Can I set the SMBIOSAssetTag for a vm using the vboxmanage setextradata commands?

On a real machine I can query the BIOS using WMIC and get returned data.
On a VM that is PXE booting a WinPE 6.1.7600 image I get some information, but not the SMBiosAsset tag that we use on physical machines for naming purposes.

C:\wmictests>wmic csproduct list brief
Caption IdentifyingNumber Name Vendor Version
real:Computer System Product R8PVHR0 7459VTT LENOVO ThinkPad X200
vm: Computer System Product 0 VirtulaBox innotek GmbH 1.2

C:\wmictests>wmic systemenclosure get smbiosassettag
SMBIOSAssetTag
Real: loankit
V: No Instance(s) Available.

I am running VirtualBox 3.2.4 r62467 on a Windows XP host.
The VM to modify will be an XP sp3 image.
It PXE boots from an windows 2003 server (also a vm using Internal Network, intnet) the PCnet-FAST III nic and copies an MDT litetouch image down using the Intel Pro/1000MT desktop nic.
My understanding of this is because only the PCnet-FAST III nic is able to PXE boot, but it isn't supported under the WinPE 6.1.7600 environment I'm using. So I have to use both nics.

I have searched the forum and generally queried on search terms such as virtualbox setextradata. On the forums there seemed to be mention of unpublished settings that were not in the user manual (pdf version which I've checked). I am aware that I may have just missed the settings because of the differences between DMI/SMBIOS, etc and not being overly familiar with any of the tools.

Cheers
Sasquatch
Volunteer
Posts: 17798
Joined: 17. Mar 2008, 13:41
Primary OS: Debian other
VBox Version: PUEL
Guest OSses: Windows XP, Windows 7, Linux
Location: /dev/random

Re: is vboxmanage setextradata SMBIOSAssetTag possible

Post by Sasquatch »

Have you actually tried it?
Read the Forum Posting Guide before opening a topic.
VirtualBox FAQ: Check this before asking questions.
Online User Manual: A must read if you want to know what we're talking about.
Howto: Install Linux Guest Additions
Howto: Use Shared Folders on Linux Guest
See the Tutorials and FAQ section at the top of the Forum for more guides.
Try searching the forums first with Google and add the site filter for this forum.
E.g. install guest additions site:forums.virtualbox.org

Retired from this Forum since OSSO introduction.
s_k_e_l
Posts: 6
Joined: 17. Jun 2010, 14:49
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: XP sp3, vista sp1 &2 windows server 2003 / 2008

Re: is vboxmanage setextradata SMBIOSAssetTag possible

Post by s_k_e_l »

C:\Program Files\Oracle\VirtualBox>VBoxManage setextradata "pxe2" "VBoxInternal/Devices/pcbios/0/Config/DMISMBIOSAssetTag" "loantag"
Oracle VM VirtualBox Command Line Management Interface Version 3.2.4
(C) 2005-2010 Oracle Corporation
All rights reserved.


GUI Dialog
Result Code:
E_FAIL (0x80004005)
Component:
Console
Interface:
IConsole {6375231a-c17c-464b-92cb-ae9e128d71c3}


vbox.log excerpt

00:00:01.266 VMSetError: D:\tinderbox\win-3.2\src\VBox\Devices\PC\DevPcBios.cpp(950) pcbiosConstruct; rc=VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES
00:00:01.279 VMSetError: Invalid configuration for device pcbios device
00:00:01.280 PDM: Failed to construct 'pcbios'/0! VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES (-2801) - A device encountered an unknown configuration value. This means that the device is potentially misconfigured and the device construction or unit attachment failed because of this.
00:00:01.282 VMSetError: D:\tinderbox\win-3.2\src\VBox\VMM\VM.cpp(316) VMR3Create; rc=VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES
00:00:01.282 VMSetError: Unknown error creating VM
00:00:01.283 ERROR [COM]: aRC=E_FAIL (0x80004005) aIID={6375231a-c17c-464b-92cb-ae9e128d71c3} aComponent={Console} aText={Invalid configuration for device pcbios device (VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES).
00:00:01.283 Unknown error creating VM (VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES)} aWarning=false, preserve=false
00:00:01.328 Power up failed (vrc=VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES, rc=E_FAIL (0X80004005))

Code: Select all

<?xml version="1.0"?>
<VirtualBox xmlns="http://www.innotek.de/VirtualBox-settings" version="1.9-windows">
  <Machine uuid="{955abbdd-9563-4daf-be92-9a20eebf5b14}" name="pxe2" OSType="WindowsVista" lastStateChange="2010-06-18T10:14:03Z">
    <ExtraData>
      <ExtraDataItem name="GUI/LastCloseAction" value="powerOff"/>
      <ExtraDataItem name="GUI/LastGuestSizeHint" value="640,480"/>
      <ExtraDataItem name="GUI/LastWindowPostion" value="8,60,640,522"/>
      <ExtraDataItem name="GUI/MiniToolBarAlignment" value="bottom"/>
      <ExtraDataItem name="GUI/MiniToolBarAutoHide" value="on"/>
      <ExtraDataItem name="GUI/SaveMountedAtRuntime" value="yes"/>
      <ExtraDataItem name="GUI/ShowMiniToolBar" value="yes"/>
      <ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/DMISMBIOSAssetTag" value="loantag"/>
    </ExtraData>
    <Hardware version="2">
      <CPU count="1">
        <HardwareVirtEx enabled="true" exclusive="false"/>
        <HardwareVirtExNestedPaging enabled="true"/>
        <HardwareVirtExVPID enabled="true"/>
        <PAE enabled="true"/>
      </CPU>
      <Memory RAMSize="806"/>
      <Boot>
        <Order position="1" device="Floppy"/>
        <Order position="2" device="DVD"/>
        <Order position="3" device="HardDisk"/>
        <Order position="4" device="None"/>
      </Boot>
      <Display VRAMSize="16" monitorCount="1" accelerate3D="false" accelerate2DVideo="false"/>
      <RemoteDisplay enabled="false" port="3389" authType="Null" authTimeout="5000"/>
      <BIOS>
        <ACPI enabled="true"/>
        <IOAPIC enabled="false"/>
        <Logo fadeIn="true" fadeOut="true" displayTime="0"/>
        <BootMenu mode="MessageAndMenu"/>
        <TimeOffset value="0"/>
        <PXEDebug enabled="false"/>
      </BIOS>
      <USBController enabled="true" enabledEhci="true"/>
      <Network>
        <Adapter slot="0" enabled="true" MACAddress="08002789EBF3" cable="true" speed="0" type="Am79C973">
          <InternalNetwork name="intnet"/>
        </Adapter>
        <Adapter slot="1" enabled="true" MACAddress="080027CA5E90" cable="true" speed="0" type="82540EM">
          <InternalNetwork name="intnet"/>
        </Adapter>
        <Adapter slot="2" enabled="false" MACAddress="080027C14A8D" cable="true" speed="0" type="82540EM"/>
        <Adapter slot="3" enabled="false" MACAddress="080027237D20" cable="true" speed="0" type="82540EM"/>
        <Adapter slot="4" enabled="false" MACAddress="080027B9D111" cable="true" speed="0" type="82540EM"/>
        <Adapter slot="5" enabled="false" MACAddress="080027AD471A" cable="true" speed="0" type="82540EM"/>
        <Adapter slot="6" enabled="false" MACAddress="080027D48186" cable="true" speed="0" type="82540EM"/>
        <Adapter slot="7" enabled="false" MACAddress="08002790B11C" cable="true" speed="0" type="82540EM"/>
      </Network>
      <UART>
        <Port slot="0" enabled="false" IOBase="0x3f8" IRQ="4" hostMode="Disconnected"/>
        <Port slot="1" enabled="false" IOBase="0x3f8" IRQ="4" hostMode="Disconnected"/>
      </UART>
      <LPT>
        <Port slot="0" enabled="false" IOBase="0x378" IRQ="4"/>
        <Port slot="1" enabled="false" IOBase="0x378" IRQ="4"/>
      </LPT>
      <AudioAdapter controller="AC97" driver="DirectSound" enabled="true"/>
      <SharedFolders/>
      <Clipboard mode="Bidirectional"/>
      <Guest memoryBalloonSize="0"/>
      <GuestProperties>
        <GuestProperty name="/VirtualBox/HostInfo/GUI/LanguageID" value="en_US" timestamp="1276856042591029900" flags=""/>
      </GuestProperties>
    </Hardware>
    <StorageControllers>
      <StorageController name="IDE Controller" type="PIIX4" PortCount="2">
        <AttachedDevice type="HardDisk" port="0" device="0">
          <Image uuid="{2d15983f-8443-4181-94b7-0958e2649dec}"/>
        </AttachedDevice>
        <AttachedDevice passthrough="false" type="DVD" port="1" device="0"/>
      </StorageController>
      <StorageController name="Floppy Controller" type="I82078" PortCount="1">
        <AttachedDevice type="Floppy" port="0" device="0"/>
      </StorageController>
    </StorageControllers>
  </Machine>
</VirtualBox>
I am not able to get the machine running. Replacing the pxe2.xml file with one without the specific extrat data is overwritten and I can't currently find out where it pulls the values for it.
Sasquatch
Volunteer
Posts: 17798
Joined: 17. Mar 2008, 13:41
Primary OS: Debian other
VBox Version: PUEL
Guest OSses: Windows XP, Windows 7, Linux
Location: /dev/random

Re: is vboxmanage setextradata SMBIOSAssetTag possible

Post by Sasquatch »

The value is in plain text, last entry of 'extradata':
<ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/DMISMBIOSAssetTag" value="loantag"/>
As you just proven, it's not supported ;).
Read the Forum Posting Guide before opening a topic.
VirtualBox FAQ: Check this before asking questions.
Online User Manual: A must read if you want to know what we're talking about.
Howto: Install Linux Guest Additions
Howto: Use Shared Folders on Linux Guest
See the Tutorials and FAQ section at the top of the Forum for more guides.
Try searching the forums first with Google and add the site filter for this forum.
E.g. install guest additions site:forums.virtualbox.org

Retired from this Forum since OSSO introduction.
s_k_e_l
Posts: 6
Joined: 17. Jun 2010, 14:49
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: XP sp3, vista sp1 &2 windows server 2003 / 2008

Re: is vboxmanage setextradata SMBIOSAssetTag possible

Post by s_k_e_l »

I've not given up ..
I've just looked at the source code (possibly not for this version).
http://www.virtualbox.org/browser/trunk ... PcBios.cpp
and a small section near the end of this procedure looks very interesting

Code: Select all

888 	/**
889 	 * @interface_method_impl{PDMDEVREG,pfnConstruct}
890 	 */
891 	static DECLCALLBACK(int)  pcbiosConstruct(PPDMDEVINS pDevIns, int iInstance, PCFGMNODE pCfg)
892 	{
893 	    unsigned    i;
894 	    PDEVPCBIOS  pThis = PDMINS_2_DATA(pDevIns, PDEVPCBIOS);
895 	    int         rc;
896 	    int         cb;
897 	
898 	    Assert(iInstance == 0);
899 	    PDMDEV_CHECK_VERSIONS_RETURN(pDevIns);
900 	
901 	    /*
902 	     * Validate configuration.
903 	     */
904 	    if (!CFGMR3AreValuesValid(pCfg,
905 	                              "BootDevice0\0"
906 	                              "BootDevice1\0"
907 	                              "BootDevice2\0"
908 	                              "BootDevice3\0"
909 	                              "RamSize\0"
910 	                              "RamHoleSize\0"
911 	                              "HardDiskDevice\0"
912 	                              "SataHardDiskDevice\0"
913 	                              "SataPrimaryMasterLUN\0"
914 	                              "SataPrimarySlaveLUN\0"
915 	                              "SataSecondaryMasterLUN\0"
916 	                              "SataSecondarySlaveLUN\0"
917 	                              "FloppyDevice\0"
918 	                              "DelayBoot\0"
919 	                              "BiosRom\0"
920 	                              "LanBootRom\0"
921 	                              "PXEDebug\0"
922 	                              "UUID\0"
923 	                              "IOAPIC\0"
924 	                              "NumCPUs\0"
925 	                              "DmiBIOSVendor\0"
926 	                              "DmiBIOSVersion\0"
927 	                              "DmiBIOSReleaseDate\0"
928 	                              "DmiBIOSReleaseMajor\0"
929 	                              "DmiBIOSReleaseMinor\0"
930 	                              "DmiBIOSFirmwareMajor\0"
931 	                              "DmiBIOSFirmwareMinor\0"
932 	                              "DmiSystemFamily\0"
933 	                              "DmiSystemProduct\0"
934 	                              "DmiSystemSerial\0"
935 	                              "DmiSystemUuid\0"
936 	                              "DmiSystemVendor\0"
937 	                              "DmiSystemVersion\0"
938 	                              "DmiChassisVendor\0"
939 	                              "DmiChassisVersion\0"
940 	                              "DmiChassisSerial\0"
941 	                              "DmiChassisAssetTag\0"
942 	#ifdef VBOX_WITH_DMI_OEMSTRINGS
943 	                              "DmiOEMVBoxVer\0"
944 	                              "DmiOEMVBoxRev\0"
945 	#endif
946 	                              "DmiUseHostInfo\0"
947 	                              "DmiExposeMemoryTable\0"
948 	                              ))
949 	        return PDMDEV_SET_ERROR(pDevIns, VERR_PDM_DEVINS_UNKNOWN_CFG_VALUES,
950 	                                N_("Invalid configuration for device pcbios device"));
specifically line

Code: Select all

941 	                              "DmiChassisAssetTag\0"
I'll possibly get to test it tomorrow.
I'll try
VBoxManage setextradata "pxe2" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisAssetTag" "loantag"
rather than
VBoxManage setextradata "pxe2" "VBoxInternal/Devices/pcbios/0/Config/DMISMBIOSAssetTag" "loantag"
unless someone else can test it before then and I can :shock: the world cup in relaxation.
s_k_e_l
Posts: 6
Joined: 17. Jun 2010, 14:49
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: XP sp3, vista sp1 &2 windows server 2003 / 2008

Re: is vboxmanage setextradata SMBIOSAssetTag possible

Post by s_k_e_l »

testing
VBoxManage setextradata "pxe2" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisAssetTag" "loantag"

I found out this was very case sensitive and a line like
VBoxManage setextradata "pxe2" "VBoxInternal/Devices/pcbios/0/Config/DmiChassisAssetTag" ""
was necessary to remove the value. Hand editing the xml did not seem to clear the entries :?:

vbox.log
00:00:00.879 DmiChassisAssetTag <string> = "LOANTAG" (cb=8)

Code: Select all

  <?xml version="1.0" ?> 
- <VirtualBox xmlns="http://www.innotek.de/VirtualBox-settings" version="1.9-windows">
- <Machine uuid="{955abbdd-9563-4daf-be92-9a20eebf5b14}" name="pxe2" OSType="WindowsVista" lastStateChange="2010-06-20T23:00:02Z">
- <ExtraData>
  <ExtraDataItem name="GUI/LastCloseAction" value="powerOff" /> 
  <ExtraDataItem name="GUI/LastGuestSizeHint" value="640,480" /> 
  <ExtraDataItem name="GUI/LastWindowPostion" value="48,244,640,522" /> 
  <ExtraDataItem name="GUI/MiniToolBarAlignment" value="bottom" /> 
  <ExtraDataItem name="GUI/MiniToolBarAutoHide" value="on" /> 
  <ExtraDataItem name="GUI/SaveMountedAtRuntime" value="yes" /> 
  <ExtraDataItem name="GUI/ShowMiniToolBar" value="yes" /> 
  <ExtraDataItem name="VBoxInternal/Devices/pcbios/0/Config/DmiChassisAssetTag" value="LOANTAG" /> 
  </ExtraData>
- <Hardware version="2">
- <CPU count="1">
  <HardwareVirtEx enabled="true" exclusive="false" /> 
  <HardwareVirtExNestedPaging enabled="true" /> 
  <HardwareVirtExVPID enabled="true" /> 
  <PAE enabled="true" /> 
  </CPU>
  <Memory RAMSize="806" /> 
- <Boot>
  <Order position="1" device="DVD" /> 
  <Order position="2" device="HardDisk" /> 
  <Order position="3" device="None" /> 
  <Order position="4" device="None" /> 
  </Boot>
  <Display VRAMSize="16" monitorCount="1" accelerate3D="false" accelerate2DVideo="false" /> 
  <RemoteDisplay enabled="false" port="3389" authType="Null" authTimeout="5000" /> 
- <BIOS>
  <ACPI enabled="true" /> 
  <IOAPIC enabled="false" /> 
  <Logo fadeIn="true" fadeOut="true" displayTime="0" /> 
  <BootMenu mode="MessageAndMenu" /> 
  <TimeOffset value="0" /> 
  <PXEDebug enabled="false" /> 
  </BIOS>
  <USBController enabled="true" enabledEhci="true" /> 
- <Network>
- <Adapter slot="0" enabled="true" MACAddress="08002789EBF3" cable="true" speed="0" type="Am79C973">
  <InternalNetwork name="intnet" /> 
  </Adapter>
- <Adapter slot="1" enabled="true" MACAddress="080027CA5E90" cable="true" speed="0" type="82540EM">
  <InternalNetwork name="intnet" /> 
  </Adapter>
  <Adapter slot="2" enabled="false" MACAddress="080027C14A8D" cable="true" speed="0" type="82540EM" /> 
  <Adapter slot="3" enabled="false" MACAddress="080027237D20" cable="true" speed="0" type="82540EM" /> 
  <Adapter slot="4" enabled="false" MACAddress="080027B9D111" cable="true" speed="0" type="82540EM" /> 
  <Adapter slot="5" enabled="false" MACAddress="080027AD471A" cable="true" speed="0" type="82540EM" /> 
  <Adapter slot="6" enabled="false" MACAddress="080027D48186" cable="true" speed="0" type="82540EM" /> 
  <Adapter slot="7" enabled="false" MACAddress="08002790B11C" cable="true" speed="0" type="82540EM" /> 
  </Network>
- <UART>
  <Port slot="0" enabled="false" IOBase="0x3f8" IRQ="4" hostMode="Disconnected" /> 
  <Port slot="1" enabled="false" IOBase="0x3f8" IRQ="4" hostMode="Disconnected" /> 
  </UART>
- <LPT>
  <Port slot="0" enabled="false" IOBase="0x378" IRQ="4" /> 
  <Port slot="1" enabled="false" IOBase="0x378" IRQ="4" /> 
  </LPT>
  <AudioAdapter controller="AC97" driver="DirectSound" enabled="true" /> 
  <SharedFolders /> 
  <Clipboard mode="Bidirectional" /> 
  <Guest memoryBalloonSize="0" /> 
- <GuestProperties>
  <GuestProperty name="/VirtualBox/HostInfo/GUI/LanguageID" value="en_US" timestamp="1277074798515625000" flags="" /> 
  </GuestProperties>
  </Hardware>
- <StorageControllers>
- <StorageController name="IDE Controller" type="PIIX4" PortCount="2">
- <AttachedDevice type="HardDisk" port="0" device="0">
  <Image uuid="{2d15983f-8443-4181-94b7-0958e2649dec}" /> 
  </AttachedDevice>
  <AttachedDevice passthrough="false" type="DVD" port="1" device="0" /> 
  </StorageController>
- <StorageController name="Floppy Controller" type="I82078" PortCount="1">
  <AttachedDevice type="Floppy" port="0" device="0" /> 
  </StorageController>
  </StorageControllers>
  </Machine>
  </VirtualBox>
It sets the value, but I still get No Instance(s) using wmic or other wmi query tools in either a virtual WinPE or Windows 2003 server environment.
I'm still trying to work out where the value is exposed on a Microsoft windows based system.
I was looking for an suitable tool as dmidecode that Linux distributions provide, but couldn't find one in a cursory search.
I saw
Due to the rapid development of DMTF technologies, such as Common Information Model (CIM), the DMTF defined an "End of Life" process for DMI, which ended on March 31, 2005.
on http://en.wikipedia.org/wiki/Desktop_Ma ... _Interface

Are there any development plans for other system management interfaces in Virtualbox?
I'm not sure yet if I've answered my initial question. it seems like you can set the asset tag, but I can't seem to read it back on a winpe or windows 2003 virtual machine ...
Ach well time for bed.
s_k_e_l
Posts: 6
Joined: 17. Jun 2010, 14:49
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: XP sp3, vista sp1 &2 windows server 2003 / 2008

Re: is vboxmanage setextradata SMBIOSAssetTag possible

Post by s_k_e_l »

I'm just reading
http://vbox.innotek.de/pipermail/vbox-d ... 02788.html
which looks interesting.

and the code in the ose edition
static const char *s_szDefDmiChassisSerial = "";
static const char *s_szDefDmiChassisAssetTag = "";
in http://virtualbox-ose.sourcearchive.com ... ource.html
..No, for chassis there is currently a separate, disabled section.
See DevFwCommon.cpp line 650.
also
http://vbox.innotek.de/ticket/6985
Configuring the BIOS DMI information" documentation needs improvement
opened June 2010.
Since I don't intend to do any coding and the faq makes it clear I shouldn't post on it as an end user who could I ask what the status of this is?
I would be happy to point the vm at a different BIOS but can't work out if this works yet.
Sasquatch
Volunteer
Posts: 17798
Joined: 17. Mar 2008, 13:41
Primary OS: Debian other
VBox Version: PUEL
Guest OSses: Windows XP, Windows 7, Linux
Location: /dev/random

Re: is vboxmanage setextradata SMBIOSAssetTag possible

Post by Sasquatch »

Posting in a ticket as end-user is allowed. Asking for status isn't wrong nor not allowed. You have to choose your words carefully when asking something in the dev mailing list, but you shouldn't get yelled at.
Read the Forum Posting Guide before opening a topic.
VirtualBox FAQ: Check this before asking questions.
Online User Manual: A must read if you want to know what we're talking about.
Howto: Install Linux Guest Additions
Howto: Use Shared Folders on Linux Guest
See the Tutorials and FAQ section at the top of the Forum for more guides.
Try searching the forums first with Google and add the site filter for this forum.
E.g. install guest additions site:forums.virtualbox.org

Retired from this Forum since OSSO introduction.
s_k_e_l
Posts: 6
Joined: 17. Jun 2010, 14:49
Primary OS: MS Windows XP
VBox Version: PUEL
Guest OSses: XP sp3, vista sp1 &2 windows server 2003 / 2008

Re: is vboxmanage setextradata SMBIOSAssetTag possible

Post by s_k_e_l »

I've posted on the dev list and made a nonsense of quoting myself, lets home I don't anooy them or get ignored.

gmane.comp.emulators.virtualbox.devel/2896
Post Reply