To update the BMC firmware via IPMI, please follow the steps below.
(Supports server motherboard built with BMC AST2500 controller)
[Maintenance] -> [Firmware Update]
This wizard will takes you through the process of firmware upgrades.
Click the “Choose File” to select the BMC FW file. Then click “Start firmware update” for the upgrade process.
FW verification processing, please wait a few second..
Click “Proceed” to continue the BMC FW upgrade process.
Click “OK” to start the actual BMC FW upgrade operation.
FW updrage is processing, please wait a few second..
BMC FW upgrade process finished. Click “OK” and reboot the system.
Remark: Clear the browser cookies after the BMC FW upgrade process finished.
Steps:
1. Copy the socflash program to USB flash drive.
2. Copy the BMC firmware in same directory with the socflash program.
3. Booting to DOS environment and execute command “socflash.exe if={bmc_image_file.ima}” to flash the BMC firmware.
4. Reboot the system when BMC FW flashing process finished.
Example:
Note: FW flashing process will take a few minutes. Please wait until the process done.
Please restart the system and boot in to the BIOS SETUP to check the BMC FW version when processes finished.
Step1. Prepare a flash drive, put the tool of socflash (such as the compressed file of attachment) and the ima file to be updated
Socflash Tool download link
https://download.asrock.com/TSD/socflash_v12207.zip
Step2. Before using Socflash tool to update, please enter the BIOS, press "F9" to load default, then press "F10" to save and exit the BIOS
Step3. Enter DOS and execute " Socflash if=filename option=r "
Step4. You will see the last line "Press y to continue if you are agree …." please press y to continue.
Step5. When "update flash chip ok" message appear, it means the update is completed, Please use "Ctrl+Alt+Delete" to restart the system.
Step6. Go to the BIOS home page to check if the BMC version has been updated
Step7. Finish
1. Login to IPMI webUI > Settings > FAN Settings
2. Chose Open Loop Control Table, then set your customize fan table and save.
Sample Desc: Assuming the above Open Loop Fan Table is for CPU temperature sensor, when the CPU temperature reaches between 20~25 degrees, the fan duty will be at 30%. If CPU temperature reaches 57 degrees, fan duty will be at 60%.
3. Chose Close Loop Control Table, then set your customize fan table and save.
Sample Desc: Assuming above Close Loop Fan Table is for CPU temperature sensor, when the CPU temperature is higher than 60 degrees, the fan duty cycle will increase at a rate of 1% per second; when the CPU temperature is lower than 50 degrees, the fan duty cycle will decrease by 1% every 5 seconds.
4. Go to IPMI webUI > Settings > FAN Settings > Temperature Sensor and Corresponding Fan Table
5. Chose the sensor and fan table you want to base on. And select the fan which will follow the rule.
For example, the following screenshot setting is
FAN1~6 will base on CPU1 temperature and follow to FAN table 1 which from the “Open Loop Control Table”.
6. Go to IPMI webUI > Settings > FAN Settings > FAN Mode
7. Select different fan mode
Customized mode
If you want to let the fan to follow fan table
You will need to modify the fan you need to customized mode as following blue frame then save control mode
Manual mode
If you want to set fan to static mode, you need to set fan duty as following red frame first, then save manual mode
Second, select which fan you need in manual mode as following blue frame then save control mode
If your access to BMC Jviewer iKVM (Launch Java KVM) with NCSI port connected but encountered the intermittent connection issue, please try to enable the “Keep Share NIC UP” setting.
IPMI webUI -> Settings -> “Keep Share NIC UP” -> tick “Enable” and saved.
Preparation:
The IPMI connection to the very system to configure network bonding function must be established first.
Step:
Bonding function check (with WebUI):
Bonding function could be checked with IPMI WebUI. If bonding is enabled, go “Settings > Network Settings > Network IP Settings”, you shall find the bond shown in LAN Interface.
However, if the bond is disabled, you shall find the LAN inputs shown individually in LAN Interface.
Bonding Function Check (in BIOS):
To check if the bonding function is working and configured successfully, we may check it out in BIOS menu > Server Mgmt > BMC Network Configuration.
If bonding function is enabled, you shall find one and only one LAN signal detected with “(Failover)” written after the Lan channel.
On the other hand, if the bonding function is disabled, you shall find Lan channels detected individually and listed below.
Done!
To enable/ disable network bonding using IPMI command, the following demonstration shows a way to install IPMI tool on a CentOS and configure with IPMI commands.
Preparation:
Access to the command line/ terminal window of a CentOS you have installed on the system you wish to configure network bonding.
Input “sudo yum update” to update system repositories. Then, install IPMItool on a CentOS or RedHat system by running the command: “sudo yum install OpenIPMI ipmitool”. Wait for the installation to complete. The output should indicate that OpenIPMItool and IPMItool have been installed. You should see the version number of the software installed.
Once you have completed the installation, enable ipmitool access by running the command: “sudo /sbin/chkconfig ipmi on”. Then start the ipmitool service with the command: “sudo service ipmi start”.
Step:
Remote IPMI command:
If you wish to remotely configure network bonding, install ipmitool on both the target system and the one you are running commands on.
The preparations and procedures are basically identical, except that you will have to add some information to the configuring command lines.
That is, for instance, Run:
“sudo ipmitool -I lanplus -H $target_ip -U $username -P $passwd raw 0x32 0x72 0x1 0x0 0x0”
Instead of
”sudo ipmitool raw 0x32 0x72 0x1 0x0 0x0” to check if bonding is enabled.
*Please be advised to fill in the right information on the above section labeled in red.
Done!
Preparation:
The BMC image file and BMC update tool should be at hand, here’s the update tool:
Click here to download uflash_v12207.zip
Step:
Done!
Preparation:
The BMC image file and BMC update tool should be at hand, here’s the update tool:
Click here to download socflash_linux.zip
Step:
Done!
Preparation:
1. For the BIOS method, it requires a more up to date motherboard and BIOS combination to include the “Load BMC Default Settings” item in BIOS Server Mgmt page.
2. For IPMI command, it requires a system with properly working BMC functions and IPMItool installed.
A. Load BMC Default settings via BIOS Configuration
1. Access BIOS page, select “Server Mgmt > BMC Tools”.
*Note that NOT all the motherboards/ BIOS versions include this function.
2. Select “Load BMC Default Settings” and confirm the upcoming questions, the procedure shall begin.
B. Load BMC Default Settings via IPMI Command
1. Open up an OS terminal, update system repositories and install IPMItool. Take Ubuntu for example, run “sudo apt update” and “sudo apt install ipmitool”.
2. Run “sudo ipmitool raw 0x32 0x66” to load BMC default settings.
3. Once the command is done, reboot the system to reset and complete the reset to the BMC.
C. Load BMC Default by updating to a new version/ same version again
It is rather intuitive to update to a whole new version of BMC or to the same version once again as loading to BMC default settings when the two methods mentioned above are unable to be performed.
Here is how: BMC Firmware Update by socflash
Done!
Login page
Default Username: root | Password: 0penBmc
BIOS/BMC Firmware Update
This guide features the cURL commands to update BIOS and BMC firmware for your server system which supports RedFish. Before we start, please make sure your host system has an IPMI or NC-SI LAN port connected to the internet and the BMC IP address of it for a client end in the same network segment to access.
curl -k -v -X POST https://[IP_address]/redfish/v1/UpdateService/upload --form 'UpdateFile=@[File_location]' --form 'UpdateParameters={"Targets":["/redfish/v1/UpdateService/FirmwareInventory/BIOS"]};type=application/json' --form 'OemParameters={"ImageType":"BIOS", "Config": 4, "Action": 3};type=application/json' -u [username]:[password] -H If-None-Match:W/\"1667287258\" -H "Expect:"
*We recommend this command which shuts down the host immediately and perform BIOS update.
For BIOS update, here are the definitions to the available values for "config" and "action":
'OemParameters={"ImageType":"BIOS", “Config”: config, “Action”: action}’
config
2: Preserve BIOS settings
4: Overwrite BIOS settings
action
1: Update on host shutdown
2: Update immediately without changing host state
3: Shutdown host to update
If the update request is successfully sent off, the system would return an Accepted message with a 2xx code:
You may also check the update progress by visiting:
https://[host_IP_addr]/redfish/v1/UpdateService
curl -k -v -X POST https://[IP_address]/redfish/v1/UpdateService/upload --form 'UpdateFile=@[File_location] ' --form 'UpdateParameters={"Targets":["/redfish/v1/UpdateService/FirmwareInventory/BMC"]};type=application/json' --form 'OemParameters={"ImageType":"BMC"};type=application/json' -u [username]:[password] -H If-None-Match:W/\"1667287258\" -H "Expect:"
If the update request is successfully sent off, the system would return an Accepted message with a 2xx code as well.
In case you are not using a shutdown action parameter (3) for the BIOS update command, or to view the latest firmware information of your current host after the update, please reboot your host with the following command:
curl -k -v -X POST https://[BMC_IP]/redfish/v1/Systems/Self/Actions/ComputerSystem.Reset -d '{"ResetType" : "GracefulRestart"} -H "Content-Type: application/json" -H "X-Auth-Token: [token]"
If an issue occurs during the update (e.g. the procedure did not start, or an error code "Status:500 Internal Server Error" occurred), you can try below methods such as the power actions or resetting BMC to default according to the scenarios:
If your cURL request was returned by an error code 400, it means that the request command was incorrect. In other words, the request sent by the client to the host server did NOT follow the rules. The client should modify the request command before retrying so that it could be understood by the host.
If the expected update procedure does not start up, you may try powering off your system, or try rebooting it:
curl -k -v -X POST https://[BMC_IP]/redfish/v1/Systems/Self/Actions/ComputerSystem.Reset -d '{"ResetType" : "GracefulRestart"} -H "Content-Type: application/json" -H "X-Auth-Token: [token]"
ResetType Allowable values :
“On” for Host power on
“GracefulRestart” for Host reboot
“GracefulShutdown” for Host soft power off
“ForceOff” for Host hard power off
If you encountered an error code 500 issue, this could be related to corrupted RedFish data. The overall solution is to resend a brand new copy of RedFish data to the server again. To do so, we flash BMC to the same version with items other than RedFish preserved, or simply update your BMC.
To preserve your current BMC config:
curl -k -v -X PATCH https:// [BMC_IP]/redfish/v1/UpdateService -d '{"Oem": {"AMIUpdateService": {"PreserveConfiguration": {"Authentication": true,"FRU": true,"IPMI": true,"KVM": true,"NTP": true,"Network": true,"REDFISH": false,"SDR": true,"SEL": true,"SNMP": true,"SSH": true,"Syslog": true,"WEB": true} } } }' -u [username]:[password] -H If-None-Match:W/\"1667287258\" -H "Expect:" -H "Content-Type: application/json"
If there is an issue that cannot be resolved or further assistance is required, please visit https://event.asrockrack.com/tsd.asp and fill out the form as detailed as possible so we could provide an efficient tech support.