#!/bin/bash
TARGET_DATE="12/31/2025"
FW_FILE="RT_T1DMGEP0900_20251231.bin"

# 给相关文件添加执行权限
chmod +x afulnx_64
chmod +x *.bin 2>/dev/null

# 检查是否以root权限运行
if [[ $EUID -ne 0 ]]; then
   echo "错误: 此脚本需要root权限运行" 
   echo "请使用sudo运行此脚本"
   exit 1
fi

# 获取BIOS信息
BIOS_DATE=$(dmidecode -t bios 2>/dev/null | grep -i "release date" | awk -F': ' '{print $2}' | xargs)
PN=$(dmidecode -s system-product-name 2>/dev/null)

# 检查是否获取到日期
if [[ -z "$BIOS_DATE" ]]; then
    echo "错误: 无法获取BIOS发布日期"
    exit 1
fi

echo "当前BIOS发布日期: $BIOS_DATE"
echo "目标BIOS发布日期: $TARGET_DATE"

# 更新固件
if [[ "$BIOS_DATE" != "$TARGET_DATE" ]] && [[ "$PN" =~ "D870T" ]]; then
    echo "BIOS日期不匹配，需要更新固件"
    
    # 检查固件文件和工具是否存在
    if [[ ! -f "$FW_FILE" ]]; then
        echo "错误: 固件文件 $FW_FILE 不存在"
        exit 1
    fi
    
    if [[ ! -x "afulnx_64" ]]; then
        echo "错误: 更新工具 afulnx_64 不存在或不可执行"
        exit 1
    fi
    
    # 执行固件更新
    echo "正在更新BIOS..."
    ./afulnx_64 "$FW_FILE" /p /b /n /x /k /l
    
    if [[ $? -eq 0 ]]; then
        echo "BIOS更新成功，请重启系统"
    else
        echo "BIOS更新失败"
        exit 1
    fi
else
    echo "无需更新固件"
    
    if [[ "$BIOS_DATE" == "$TARGET_DATE" ]]; then
        echo "原因: BIOS已是最新版本"
    elif [[ ! "$PN" =~ "D870T" ]]; then
        echo "原因: 当前设备 '$PN' 不兼容此更新"
    fi
fi
