IPMI原理和常用命令

BMC超级用户密码一般为:sysadmin /superuser

Root /0penBmc   admin/admin

修改BMC用户密码

 1. ipmitool user list 1 显示BMC的用户信息

Ipmitool user set name ID  admin123             ID是第几个用户

Ipmitool user set password ID  admin123

例子: ipmitool user set password 1  root1234   //设置用户名    可以覆盖原用户名

  ipmitool user set password  1  root12345   // 设置密码

KCS

KCS全称是Keyboard Controller Style,关于这个名称不用过多的追究,只需要知道它是系统(BIOS和OS)和BMC通信的一种基本方式即可。本文将介绍BIOS下的KCS接口,包括接口使用方式和数据。内容参考自《ipmi-second-gen-interface-spec-v2-rev1-1.pdf》

 

  • NetFn/Cmd:IPMI命令有不同的分组,通过NetFn/Cmd命令字的方式来索引,在IPMI命令介绍会进一步说明。
  • LUNLogical Unit Number,占据8个比特中的最低两个,对于通过KCS向BMC发送的数据,LUN的值都是00b。
  • Data:IPMI命令的实际请求数据

 

KSC通信

KSC接口定义了一组IO寄存器,通过它们就可以完成与BMC的交互,这组寄存器的基地址基本上已经固定:

gIpmiFeaturePkgTokenSpaceGuid.PcdIpmiIoBaseAddress|0xCA2|UINT16|0xF000000A

为了使用该地址,首先需要打开它的映射,代码如下所示:

/**Initializing hardware for the IPMI transport.@retval   EFI_SUCCESS     Hardware was successfully initialized.@retval   Other           An error was returned from PlatformIpmiIoRangeSet.
**/EFI_STATUS
InitializeIpmiTransportHardware(VOID){EFI_STATUS  Status; Enable OEM specific southbridge SIO KCS I/O address range 0xCA0 to 0xCAF at here// if the the I/O address range has not been enabled.//Status =PlatformIpmiIoRangeSet(PcdGet16(PcdIpmiIoBaseAddress));DEBUG((DEBUG_INFO,"IPMI: PlatformIpmiIoRangeSet - %r!\n",Status));returnStatus;}

对于PlatformIpmiIoRangeSet()函数的实现,可以暂时不过,因为依赖于不同的硬件平台,对于x86平台,通常是LPC设备一些操作。

当完成PcdIpmiIoBaseAddress基地址之后,就可以进行IO操作了,对应的寄存器如下:

可以看到就4个寄存器(如果考虑共用的部分,其实就2个寄存器):

  • Status:只读寄存器,包含了操作过程中的Flag。
  • Command:只写寄存器,用于写入各类操作,这些操作称为“Write Control Codes”。
  • Data_Out:只读寄存器,用来读取数据。
  • Data_In:只写寄存器,用来写入数据或者“Read Control Codes”。

 

ipmitool -H 100.8.9.123 -I lanplus -U admin -P admin  chassis power

Chassis Device     This chassis control device represents functions associated with recovery control actions such as power on/off, power cycle, reset, diagnostic interrupt, chassis identification indicator, and system boot.

ipmitool -H ip -I lanplus -U admin -P admin  chassis power  on   //开关机

#ipmitool -H -U root chassis bootdev disk clear-cmos=yes    //清除Cmos

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只小菜鸟-BIOS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值