Hi Andrei, I think I have figured out the root cause that's I didn't add the command in the ipmi-whitelist.conf within the intel-ipmi-oem. Thank you all the same. Regards, Chris Chen ________________________________ 寄件者: openbmc 代表 Chris Chen (TPI) 寄件日期: 2021年9月7日 下午 05:52 收件者: Andrei Kartashev ; openbmc@lists.ozlabs.org 主旨: 回覆: 回覆: [phosphor-host-ipmid] Questions about IPMI (OEM) command development Hi Andrei, One more thing would like to consult you is I have tried to add our own xxx-ipmi-oem, but got the "Insufficient privilege level" feedback after executing an oem command. However, it would be successful in case I removed intel-ipmi-oem. Do you have experience with this? If yes, may I know how to fix it? I currently would like to keep leveraging the intel-ipmi-oem until I integrate the commands I needed into our own xxx-ipmi-oem. Thank you. Regards, Chris Chen ________________________________ 寄件者: openbmc 代表 Chris Chen (TPI) 寄件日期: 2021年9月7日 上午 08:35 收件者: Andrei Kartashev ; openbmc@lists.ozlabs.org 主旨: 回覆: 回覆: [phosphor-host-ipmid] Questions about IPMI (OEM) command development Hi Anrdrei, Thank you for your helpful comments. Regards, Chris Chen ________________________________ 寄件者: Andrei Kartashev 寄件日期: 2021年9月6日 下午 06:15 收件者: Chris Chen (TPI) ; openbmc@lists.ozlabs.org 主旨: Re: 回覆: [phosphor-host-ipmid] Questions about IPMI (OEM) command development Hello, I don't represent Intel, but have some considerations about this topic: 1) Try to not reuse intel-ipmi-oem. Much better solution would be to create your own xxx-ipmi-oem package and implement only methods you really need. 2) Better way would be to implement required logic in phosphor-host- ipmid and submit changes there. I didn't investigate this yet since we also pull intel-ipmi-oem to our project, but I believe, it should not be too difficult. Don't repeat our mistakes ). 3) There is priority argument which you can use to determine handler call order. 4) Most functions there are specific for Intel servers, so the useless even is you use Intel CPUs but your own platform. 5) Use "journalctl -t ipmid -o pretty-json" or something like this. But now it is recommended to use new syntax: https://urldefense.com/v3/__https://github.com/openbmc/phosphor-logging/blob/master/docs/structured-logging.md__;!!HSntlCg!G61XcVxUr8Hli8HqIlebVYji3tTPXsn33W5oyo-FlU8fbm6Zd66S0H6cseru6Bcw$ On Mon, 2021-09-06 at 09:40 +0000, Chris Chen (TPI) wrote: > Hi all, > > I guess this mail was got overwhelmed by bunches of emails, so please > let me resend it and hope someone could help me. Another, I add one > more question marked #5 below. > > Thank you. > > Regards, > Chris Chen > > 寄件者: openbmc 代表 > Chris Chen (TPI) > 寄件日期: 2021年9月2日 下午 06:34 > 收件者: openbmc@lists.ozlabs.org > 主旨: [phosphor-host-ipmid] Questions about IPMI (OEM) command > development > Hi all, > > I have studied "phosphor-host-ipmid" package for a couple of weeks and > got understanding that it has implemented some mandatory and optional > commands already. And I also knew that I'm able to leverage "intel- > ipmi-oem" package to get more command handlers. But there're some > questions raised in my mind, I hope someone could give me some > suggestions. > 1. What's the normal development procedure in case I want to make > our own OEM commands? I mean do you guys encourage me to create a new > "xxx-ipmi-oem" package or to leverage "intel-ipmi-oem" and then add our > own commands in it? > 2. I for now added "intel-ipmi-oem" package only for using its > ":" command because I figured out the > same command in the "phosphor-host-ipmid" is not able to match the d- > bus interface in the "x86-power-control". I'm not sure if I will need > other commands in the "intel-ipmi-oem", but what if I don't need other > commands, how to remove them? to use the whitelist mechanism? > 3. Is it okay to add more than 1 xxx-ipmi-ome packages? If yes, how > to manage the whitelist between these 2 OEM packages? > 4. Am I able to use "intel-ipmi-oem" on a platform that is using AMD > CPU? > 5. How to print the "entry("SENDER=%s", sender.c_str())" parts? I > mean I for now can print out "Set up ipmi context" string after > following the instruction listed in > "https://urldefense.com/v3/__https://github.com/openbmc/openbmc/wiki/Debugging-OpenBMC*enabling-application-debug__;Iw!!HSntlCg!G61XcVxUr8Hli8HqIlebVYji3tTPXsn33W5oyo-FlU8fbm6Zd66S0H6csVZtHYM2$ > ", but I don't see "SENDER=" when I executed "journalctl -t ipmid" > command. > 6. 1. log("Set up ipmi > context",entry("SENDER=%s",sender.c_str()), > entry("NETFN=0x%X", netFn),entry("LUN=0x%X", lun), > entry("CMD=0x%X", cmd),entry("CHANNEL=%u", channel), > entry("USERID=%u", userId), > entry("SESSIONID=0x%X", sessionId), > entry("PRIVILEGE=%u",static_cast(privilege)), > entry("RQSA=%x", rqSA)); > Thank you. > > Regards, > Chris Chen > Legal Disclaimer : > The information contained in this message may be privileged and > confidential. > It is intended to be read only by the individual or entity to whom it > is addressed > or by their designee. If the reader of this message is not the intended > recipient, > is strictly prohibited. If you have received this message in error, > please immediately notify the sender and delete or destroy any copy of > this message! -- Best regards, Andrei Kartashev