Thursday, June 11, 2026

2026-06-11-如何在R2520G6透過Redfish指令進行遠端韌體更新

title: 如何在 R2520G6 透過 Redfish 指令進行遠端韌體更新 
date: 2026-06-01 
tags: [R2520G6, Redfish, Firmware, BIOS, BMC, CPLD, ROT] 
last_updated: 2026-06-09 
---
## 問題描述 [cite_start]在進行伺服器維護時,手動或親臨現場進行韌體更新往往伴隨許多不便與挑戰 [cite: 2][cite_start]。為了提升效率並落實遠端管理,需要一種能夠簡化 R2520G6 伺服器韌體更新的自動化解決方案 [cite: 2]。 

## 解決方案 [cite_start]本方案詳細說明如何利用 **Redfish API 運算指令**,對 R2520G6 伺服器進行遠端的 **BIOS、BMC、CPLD、與 ROT** 韌體升級 [cite: 2, 10]。 

### 事前準備 在執行 Redfish 更新指令之前,請務必完成以下準備工作: 1. [cite_start]**關閉伺服器電源**:執行升級指令前,請確保 R2520G6 處於關機狀態 [cite: 11, 12]。 2. [cite_start]**準備韌體檔案**:將所需的帶外(OOB)升級映像檔上傳至您的 Linux 工作目錄中 [cite: 10, 13]。 --- 

 ## 韌體升級詳細步驟 ### 
1. BIOS 韌體更新流程 * [cite_start]
**步驟1:檢查目前版本** 使用以下 Redfish 指令確認當前 BIOS 的作用中版本 [cite: 20, 21]: ```bash curl -u username:password -k -s https://{BMC_IP}/redfish/v1/UpdateService/FirmwareInventory/bios_active ``` * [cite_start]

**步驟 2:定義更新目標** 使用 `PATCH` 指令將更新對象指定為 `bios_active` [cite: 23, 24]: ```bash curl -k -u username:password -X PATCH https://{BMC_IP}/redfish/v1/UpdateService-H "Content-Type: application/json" -d '{"HttpPushUriOptions": {"HttpPushUriApplyTime": {"ApplyTime": "Immediate"}},"HttpPushUriTargets": ["bios_active"],"HttpPushUriTargetsBusy": true,"Oem": {"ApplyOptions": {"ClearConfig": true}}}' -w "\nHTTP_CODE=%{response_code}\n" ``` *(預期回應 HTTP 狀態碼:`200` [cite: 24, 25])* * 

**步驟3:執行韌體升級** 使用 `POST` 指令上傳對應的升級映像檔 [cite: 26, 27]: ```bash curl -k -u username:password -X POST https://{BMC_IP}/redfish/v1/UpdateService/update -H "Content-Type: application/octet-stream" --data-binary "@{Image_path}" -w "\nHTTP_CODE=%{response_code}\n" ``` *(預期回應 HTTP 狀態碼:`202` [cite: 27, 28])* * 

**步驟4:等待與驗證** 此時 BMC 的 Task 選單中會出現對應任務,**請耐性等待約 10 分鐘** 讓 BIOS 更新程序完成 [cite: 29]。完成後再次檢查版本以確認更新成功 [cite: 30]。 
--- 
### 

2. BMC 韌體更新流程 * [cite_start]
**步驟 1:檢查目前版本** 確認當前 BMC 的作用中版本 [cite: 32, 33]: ```bash curl -u username:password -k -s https://{BMC_IP}/redfish/v1/UpdateService/FirmwareInventory/bmc_active ``` * [cite_start]

**步驟 2:定義更新目標** 使用 `PATCH` 指令將更新對象指定為 `bmc_active` [cite: 35, 36]: ```bash curl -k -u username:password -X PATCH https://{BMC_IP}/redfish/v1/UpdateService -H "Content-Type: application/json" -d '{"HttpPushUriOptions": {"HttpPushUriApplyTime": {"ApplyTime": "Immediate"}},"HttpPushUriTargets": ["bmc_active"],"HttpPushUriTargetsBusy": true,"Oem": {"ApplyOptions": {"ClearConfig": false}}}' -w "\nHTTP_CODE=%{response_code}\n" ``` *(預期回應 HTTP 狀態碼:`200` [cite: 36, 37])* * 

**步驟 3:執行韌體升級** 使用 `POST` 指令上傳對應的升級映像檔 [cite: 38, 39]: ```bash curl -k -u username:password -X POST https://{BMC_IP}/redfish/v1/UpdateService/update -H "Content-Type: application/octet-stream" --data-binary "@{Image_path}" -w "\nHTTP_CODE=%{response_code}\n" ``` *(預期回應 HTTP 狀態碼:`202` [cite: 39, 40])* * 

**步驟 4:等待與驗證** 任務啟動後,**請等待約 20 分鐘** 讓 BMC 更新程序完成 [cite: 41]。完成後再次檢查版本確認結果 [cite: 42]。 
 --- 
 ### 

3. CPLD 韌體更新流程 * [cite_start]
**步驟 1:檢查目前版本** 確認當前 CPLD 的作用中版本 [cite: 44, 45]: ```bash curl -u username:password -k -s https://{BMC_IP}/redfish/v1/UpdateService/FirmwareInventory/cpld_active ``` * [cite_start]

**步驟 2:定義更新目標** 使用 `PATCH` 指令將更新對象指定為 `cpld_active` [cite: 47, 48]: ```bash curl -k -u username:password -X PATCH https://{BMC_IP}/redfish/v1/UpdateService -H "Content-Type: application/json" -d '{"HttpPushUriOptions": {"HttpPushUriApplyTime": {"ApplyTime": "Immediate"}},"HttpPushUriTargets": ["cpld_active"],"HttpPushUriTargetsBusy": true,"Oem": {"ApplyOptions": {"ClearConfig": false}}}' -w "\nHTTP_CODE=%{response_code}\n" ``` *(預期回應 HTTP 狀態碼:`200` [cite: 48, 49])* * 

**步驟 3:執行韌體升級** 使用 `POST` 指令上傳對應的升級映像檔 [cite: 50, 51]: ```bash curl -k -u username:password -X POST https://{BMC_IP}/redfish/v1/UpdateService/update -H "Content-Type: application/octet-stream" --data-binary "@{Image_path}" -w "\nHTTP_CODE=%{response_code}\n" ``` *(預期回應 HTTP 狀態碼:`202` [cite: 51, 52])* * 

**步驟 4:等待與驗證** CPLD 更新速度較快,**僅需等待約 30 秒** 即可完成更新 [cite: 53]。完成後請重新檢查版本 [cite: 54]。 
 --- 
 ### 

4. ROT 韌體更新流程 * [cite_start]
**步驟 1:檢查目前版本** 確認當前 ROT 的作用中版本 [cite: 56, 57]: ```bash curl -u username:password -k -s https://{BMC_IP}/redfish/v1/UpdateService/FirmwareInventory/rot_fw_active ``` * 

**步驟 2:定義更新目標** 使用 `PATCH` 指令將更新對象指定為 `rot_fw_active` [cite: 59, 60]: ```bash curl -k -u username:password -X PATCH https://{BMC_IP}/redfish/v1/UpdateService -H "Content-Type: application/json" -d '{"HttpPushUriOptions": {"HttpPushUriApplyTime": {"ApplyTime": "Immediate"}},"HttpPushUriTargets": ["rot_fw_active"],"HttpPushUriTargetsBusy": true,"Oem": {"ApplyOptions": {"ClearConfig": false}}}' -w "\nHTTP_CODE=%{response_code}\n" ``` *(預期回應 HTTP 狀態碼:`200` [cite: 60, 61])* * 

**步驟 3:執行韌體升級** 使用 `POST` 指令上傳對應的升級映像檔 [cite: 62, 63]: ```bash curl -k -u username:password -X POST https://{BMC_IP}/redfish/v1/UpdateService/update -H "Content-Type: application/octet-stream" --data-binary "@{Image_path}" -w "\nHTTP_CODE=%{response_code}\n" ``` *(預期回應 HTTP 狀態碼:`202` [cite: 63, 64])* * 

**步驟 4:等待與驗證** ROT 更新程序**需要等待約 30 秒** [cite: 65]。完成後重新檢查版本確認是否升級完成 [cite: 66]。 

 --- ## 相關表格 ### 韌體元件與對應的檔案名稱對照表 [cite_start]此更新程序必須使用專屬的**帶外(OOB)更新映像檔案** [cite: 13]: | 
韌體元件 (Target) | 映像檔命名規範範例 (Image File Name Pattern) | 
預估更新所需時間 | | :--- | :--- | :--- | | [cite_start]**BIOS** (`bios_active`) [cite: 14, 24] | [cite_start]`B066xxxxxx_signed_cap_prd.bin` [cite: 14] | [cite_start]約 10 分鐘 [cite: 29] | | [cite_start]**BMC** (`bmc_active`) [cite: 15, 36] | [cite_start]`B066Axxx.Ixx_signed_cap_prd.bin` [cite: 15] | [cite_start]約 20 分鐘 [cite: 41] | | [cite_start]**CPLD** (`cpld_active`) [cite: 16, 48] | [cite_start]`E7142_HPM_SCM_Rxx_Vxxx_prd_sign.bin` [cite: 16] | [cite_start]約 30 秒 [cite: 53] | | [cite_start]**ROT** (`rot_fw_active`) [cite: 17, 60] | [cite_start]`B8066ROTAxx.xx_signed_cap_prd.bi` [cite: 17] | [cite_start]約 30 秒 [cite: 65] | --- ## 參考 - [舊文章連結](舊網址)

Monday, June 8, 2026

How can I set system fan running at full speed in G4520G6?

This option (Full Speed) is not available for G4520G6 system. Only you can do is set BIOS running as [Acoustic Mode] or [Performance mode] in BIOS setting.









The only difference between Acoustic mode and Performance mode is the SYS Air Inlet fan startup settings.
Please refer to the table below for details:
















Note:
• Performance: Prioritizes cooling (Lower temperature, faster fan speed, louder noise).
• Acoustic: Prioritizes quietness (Slower fan speed, slightly higher temperature, quieter noise).
• "SYS Air Inlet" refers to the temperature (°C) at which the fan PWM changes.
• In Performance mode, the fan starts at higher speeds at the same temperature, improving cooling performance.
If you have any further questions, please apply for a ticket for more information.

Thursday, December 4, 2025

Why does the SC513G6M2NRE motherboard marked one PCIe slot [PCIe#4] and two MCIO port have no function while installed Intel non-R1S CPU?

Question:

Why does the SC513G6M2NRE motherboard marked one PCIe slot [PCIe#4] and two MCIO port have no function while installed Intel non-R1S CPU?

Answer:

First, The R1S variant of the Intel Xeon 6 (P-core "Granite Rapids") processors are a special, single-socket-only variant that have their Ultra Path Interconnect (UPI) links repurposed to provide significantly more PCIe lanes, while non-R1S CPUs are designed for both single- and multi-socket configurations and use UPI link for inter-socket communication. 

SC513G6M2NRE uses UPI1 for PCIe 5.0 x16 slot#4. UPI2 for two MCIO PCIe 5.0 x8 slots. (Yellow blocks). Both of these slots are only available while installed Intel R1S processors. If installed with non-R1S processors, then these slots are not functional.





Wednesday, November 5, 2025

How to modify BMC function

 #Reset BMC password to default

# ipmitool raw 0x32 0x66


#Enable BMC LAN

# ipmitool raw 0x32 0xaa 0x00


#Disable BMC LAN

# ipmitool raw 0x32 0xaa 0x01



Wednesday, October 22, 2025

How do I use the IPMI command to check or modify the BMC SKU ID?

How do I use the IPMI command to check or modify the BMC SKU ID?


We can use the IPMI command to check or modify the MiTAC BMC firmware SKU ID to match the current system SKU model.

Example: Change the S5652 BMC firmware SKU ID from 0x02 to 0x31.
POST Screen: The current BMC firmware SKU ID is 0x02.












Check the Current BMC SKU ID:

#ipmitool raw 0x2e 0x0e 0xfd 0x19 0x00 0x01

Response: fd 19 00 02





-> SKU ID: 0x02

 

Modify the Current BMC SKU ID:

#ipmitool raw 0x2e 0x0d 0xfd 0x19 0x00 0x01 0x31  # Updated SKU ID

Response: fd 19 00





POST Screen: The new BMC firmware SKU ID is 0x31.




Tuesday, October 7, 2025

How to execute AMD System Level Test Tool: AGFHC Tool

 

How to execute AMD System Level Test Tool: AGFHC Tool

(AMD GPU Field Health Check) tool

 

System requirements:

MiTAC G8825Z5

OS: Ubuntu 22.04 Server

AMD AGFHC: agfhc v1.21.2

Command:

$/opt/amd/agfhc/agfhc -r all_lvl5 -o /tmp

## execute level 5 test for 2 hours and use /tmp as directory where stored log output file.

# -r parameters as below

all_lvl1: ~5m check across system

all_lvl2: ~10m check across system

all_lvl3: ~30m check across system

all_lvl4: ~1h check across system

all_lvl5: ~2h check across system

Comparison of Differences Between Check Levels

The check levels (Level1 through Level5) are titled to reflect their total duration, ranging from approximately 5 minutes (Level1) up to approximately 2 hours (Level5). The differences lie primarily in the scope, diversity, and duration of the memory exercisers and stress tests.

1. Foundational vs. Initial Expansion (Level1 vs. Level2)

• Level1 (all_lvl1): Focuses on fundamental connectivity and bandwidth tests, including PCIe link validation, bidirectional PCIe peak bandwidth, XGMI a2a bandwidth, HBM bandwidth, and the basic gfx_dgemm GEMM test.

• Level2 (all_lvl2): Introduces two key areas of testing:

Foundational vs. Initial Expansion

Unidirectional PCIe

Adds pcie_unidi_peak validation.

Performance and Exercisers

Adds gfx_maxpower to ensure GPUs can hit full performance, and introduces the first HBM memory exercisers (hbm_ds and hbm_remix2), both lasting 2 minutes.

2. Intermediate Breadth (Level3)

• Level3 (all_lvl3): Significant expansion of test types, especially in floating-point operations and initial stress testing.

Intermediate Breadth

GEMM Tests

Introduces the hbm exerciser for 5 minutes, and the mall exerciser.

GEMM Tests

The "More gemm tests" section starts here, adding Tensor Float (TF) tests (gfx_bf16tf, gfx_fp16tf, gfx_fp8tf), each running for 1 minute.

ACF Stress

Introduces additional ACF stress tests (rochpl, hbm_ds_ntd) and the athub test.

3. High Intensity and Endurance (Level4 vs. Level5)

• Level4 (all_lvl4): Expands the variety of HBM exercisers and adds Reduced Integrity (RI) GEMM tests. Memory exercisers (hbm_ds, hbm_remix2, hbm_s16_ds, hbm_s16, and mall) are all set to run for 4 minutes. It introduces the sprites stress test for 8 minutes.

• Level5 (all_lvl5): Focuses on maximizing duration and verifying thermal integrity.

High Intensity and Endurance

Thermal Verification

Includes a "thermal recipe" to drive max power, consisting of 10 minutes of hbm_ds followed by 10 minutes of gfx_maxpower.

Memory Duration

The core memory exercisers (including hbm_ds, hbm_remix2, hbm_s16_ds, hbm_s16, and mall) are run for 5 minutes each.

Stress Duration

Stress tests are significantly extended: rochpl (15 minutes), hbm_ds_ntd (15 minutes), and sprites (20 minutes).

4. Performance Test Suite

The all_perf script is defined as "A recipe to execute all performance based tests once". It includes every test designed to measure bandwidth or performance (all PCIe, XGMI, HBM BW, gfx_maxpower, and all eight variations of gfx GEMM tests). This script focuses purely on performance metrics and does not include any of the extended memory exercisers or stress components found in Level1-Level5.

Test Name

Level1 (~5m)

Level2 (~10m)

Level3 (~30m)

Level4 (~1h)

Level5 (~2h)

Perf Test

Purpose/Description

pcie_link_status

V

V

V

V

V

V

A test that validates PCIe link speed and link width

pcie_bidi_peak

V

V

V

V

V

V

A test that validates PCIe bandwidth values in bidirectional peak mode

xgmi_a2a

V

V

V

V

V

V

A test that validates XGMI bandwidth values in a2a mode

hbm_bw

V

V

V

V

V

V

HBM BW testHBM bandwidth, or HBM memory BW tests

gfx_dgemm

V

N/A

V

V

V

V

Run the GEMM test / Part of More GEMM tests

pcie_unidi_peak

N/A

V

V

V

V

V

A test that validates PCIe bandwidth values in unidirectional peak mode

gfx_maxpower

N/A

V

V

V

V

V

To ensure GPUs can hit full perf / Make sure we can hit max power / Used for thermal

hbm_ds

N/A

V

N/A

V

V

N/A

Run the HBM memory exercisers. Used to drive max power for thermal integrity (10m duration in L5).

hbm_remix2

N/A

V

N/A

V

V

N/A

Run the HBM memory exercisers

hbm

N/A

N/A

V

N/A

N/A

N/A

Run the HBM exerciser

mall

N/A

N/A

V

V

V

N/A

MALL exerciser

gfx_bf16tf

N/A

N/A

V

V

V

V

Part of More GEMM tests

gfx_fp16tf

N/A

N/A

V

V

V

V

Part of More GEMM tests

gfx_fp8tf

N/A

N/A

V

V

V

V

Part of More GEMM tests

athub

N/A

N/A

V

V

V

N/A

athub

rochpl

N/A

N/A

V

V

V

N/A

Additional ACF stress

hbm_ds_ntd

N/A

N/A

V

V

V

N/A

Additional ACF stress

hbm_s16_ds

N/A

N/A

N/A

V

V

N/A

Run the HBM memory exercisers

hbm_s16

N/A

N/A

N/A

V

V

N/A

Run the HBM memory exercisers

gfx_sgemm

N/A

N/A

N/A

V

V

V

Part of More GEMM tests

gfx_bf16ri

N/A

N/A

N/A

V

V

V

Part of More GEMM tests

gfx_fp16ri

N/A

N/A

N/A

V

V

V

Part of More GEMM tests

gfx_fp8ri

N/A

N/A

N/A

V

V

V

Part of More GEMM tests

sprites

N/A

N/A

N/A

V

V

N/A

Stress test


Example:

Level5 test

Perf test

2026-06-11-如何在R2520G6透過Redfish指令進行遠端韌體更新

title: 如何在 R2520G6 透過 Redfish 指令進行遠端韌體更新  date: 2026-06-01  tags: [R2520G6, Redfish, Firmware, BIOS, BMC, CPLD, ROT]  last_updated: 2026-06-...