beep code manager for openbmc

Ren, Zhikui zhikui.ren at intel.com
Thu Sep 9 01:29:48 AEST 2021


>-----Original Message-----
>From: Patrick Williams <patrick at stwcx.xyz>
>Sent: Thursday, September 2, 2021 2:59 PM
>To: Ren, Zhikui <zhikui.ren at intel.com>
>Cc: openbmc at lists.ozlabs.org; Brad Bishop <bradleyb at fuzziesquirrel.com>
>Subject: Re: beep code manager for openbmc
>
>Hi Zhikui,
>
>A few questions...
>
>On Thu, Sep 02, 2021 at 08:15:21PM +0000, Ren, Zhikui wrote:
>> Hi All,
>>
>> Beepcode manager is a stand-alone beep code service should be created to
>manage the beeper hardware, and provide D-Bus methods to expose the
>beeper function globally, all other services can use the beeper hardware by
>calling the beep methods.
>>
>> This package has been included in our distribution. Now we would like  to
>upstream it and make it available to the community.
>> https://github.com/Intel-BMC/openbmc/tree/intel/meta-openbmc-
>mods/meta
>> -common/recipes-phosphor/beepcode-mgr
>>
>> Since it is now a very light service that only have one source file and a service
>file. I am wondering whether this service can go to an existing repository.
>> If not, we would like to request a new repository for it.
>>
>> Thanks,
>> Zhikui
>>
>
>I see it creates dbus interfaces but I don't see them defined anywhere.  Can
>we get that added to phosphor-dbus-interfaces?
>
[Ren, Zhikui] Yes, I will submit a review on that.
>It isn't obvious to me from looking at what interfaces are there who would call
>it.  I see various "beep code" patterns:
>
>    {beepVRWatchdogTimeout, "1-5-1-2"}, {beepPSUFailure, "1-5-1-4"},
>    {beepCPUMIssing, "1-5-2-1"},        {beepCPUCatError, "1-5-2-2"},
>    {beepCPUErr2, "1-5-2-3"},           {beepVoltageMismatch, "1-5-2-4"},
>    {beepCPUConfigError, "1-5-2-5"},    {beepPowerFail, "1-5-4-2"},
>    {beepPowerGoodTimeOut, "1-5-4-4"},
>
>How do these get triggered?  Do arbitrary programs call into the "BeepCode"
>service when they hit their own event?  This doesn't seem very maintainable;
>shouldn't the beepcode service react to events through some other method,
>similar to what is going on for Redfish events?
>
[Ren, Zhikui] Currently, an application can call into the BeepCode by calling the dbus method
One of improvement ideas is to make the beepcode service monitor the events it is interested in.

>How easily configurable would this be for someone who has a different
>beepcode policy than Intel's?  Are you planning to update it with some JSON
>config or leave that as an exercise for the next user?
>
[Ren, Zhikui] Good idea.  However I don't have a definitive plan on that currently and open to suggestions/collaborations.

>--
>Patrick Williams
[Ren, Zhikui] To summarize, I think the following steps can be taken:
1. Find an existing home or create a new one for Beep code manager
2. Upstream existing code as initial check in
3. create phosphor-dbus-interfaces for it 
4. update to use phosphor-dbus-interface
5. further improvements including the two discussed above

Any comments/feedback? 

Thanks,
Zhikui


More information about the openbmc mailing list