Tag/tag.png

Duplicate Article
This article covers the same material as another article. More info...

How to check the latest BIOS version

Understanding the Samsung Update Software program

This part explains how the official Samsung Update Software checks the latest BIOS version and how it downloads the latest file. This example describes a Samsung Ultrabook, model NP530U3B-A01IT.

The Update Software is a Windows-only program that downloads the latest BIOS version information from Samsung, it compares it against the currently installed version and allows the user to update the firmware.

The tool performs an HTTP request to the following URL:

http://sbuservice.samsungmobile.com/BUWebServiceProc.asmx/GetContents?platformID=XK&PartNumber=AAAA

At the time of writing (February, 2016), the following content is returned:

<?xml version="1.0" encoding="utf-8"?>
<Content xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://sbuservice.samsungmobile.com/">
  <ID>1079</ID>
  <Version>13XK</Version>
  <Importance>0</Importance>
  <MsgType>0</MsgType>
  <AutoInstall>0</AutoInstall>
  <ExclusiveInstall>0</ExclusiveInstall>
  <FilePathName>ITEM_20130405_1079_WIN_13XK.exe</FilePathName>
  <FileSize>3424280</FileSize>
  <Downloaded>0</Downloaded>
</Content>

It can be seen that the most important parameter is platformID which is composed by the last letters of the BIOS version suitable for the computer. Parameter PartNumber always assumes the value AAAA.

From the information displayed above, we can see that the latest version is 13XK. The full URL of the most recent BIOS version is:

http://sbuservice.samsungmobile.com/upload/BIOSUpdateItem/ITEM_20130405_1079_WIN_13XK.exe

Replicating the steps manually

The first thing to do is to identify the current BIOS version by issuing sudo dmidecode -t0:

# dmidecode 2.12
SMBIOS 2.6 present.

Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
        Vendor: Phoenix Technologies Ltd.
        Version: 13XK
        Release Date: 03/28/2013
        Address: 0xE0000
        Runtime Size: 128 kB
        ROM Size: 2560 kB
        Characteristics:
                PCI is supported
                BIOS is upgradeable
                BIOS shadowing is allowed
                Boot from CD is supported
                Selectable boot is supported
                EDD is supported
                Print screen service is supported (int 5h)
                8042 keyboard services are supported (int 9h)
                Serial services are supported (int 14h)
                Printer services are supported (int 17h)
                CGA/mono video services are supported (int 10h)
                NEC PC-98
                ACPI is supported
                USB legacy is supported
                BIOS boot specification is supported
                Function key-initiated network boot is supported
                Targeted content distribution is supported
        BIOS Revision: 0.1

In this case the platform ID is XK.

Then it's easy to figure out what is the latest BIOS version. It can be seen from the URL of the EXE file. Run the following command:

wget -O - "http://sbuservice.samsungmobile.com/BUWebServiceProc.asmx/GetContents?platformID=XK&PartNumber=AAAA"

Which will return the XML file discussed above. The interesting row is:

<FilePathName>ITEM_20130405_1079_WIN_13XK.exe</FilePathName>

The BIOS version is 13XK. This row can also be used to compose the URL and download the EXE file with:

wget http://sbuservice.samsungmobile.com/upload/BIOSUpdateItem/ITEM_20130405_1079_WIN_13XK.exe

What remains to be tested

Further investigation is necessary to determine if the EXE file can be run in DOS mode by using a FreeDOS environment. Alternatively, it should be possible to extract the ROM file contained in the EXE. The ROM file can be flashed by using the AMI Flasher utility for Linux.

SamsungBIOS (last edited 2016-09-01 04:41:30 by penalvch)