Hi all.
I'm a Japanese OSS programmer.

On Wed, 16 Jan 2008 16:47:06 +0100
"Peter Pothier" <[EMAIL PROTECTED]> wrote:

> Using OpenHPI 2.10.1, AMC cards appear to be non-hotswap-able.
>      #1868725     AMC not recognized if inserted after Discovery
>      #1794820     Inventory RDRs no longer visible after Hotswap AMC

I'm now investigating this issue, and I have some questions about it.

When I lanuch an openhpid without AMC, I can fetch RDR entries by hpitop
like this (it is a little different from the latest version because my
customer uses openhpi-2.6): 

  {SYSTEM_CHASSIS,7}
      +--- {SYSTEM_CHASSIS,7}{PHYSICAL_SLOT,10}{160,0}
      |    |__ Sensor Num: 0, Type: OEM_SENSOR, Category: SENSOR_SPECIFIC, Tag: 
Hot Swap
      |    |__ ....
      |    |__ Sensor Num: 1, Type: OEM_SENSOR, Category: SENSOR_SPECIFIC, Tag: 
B1 Hot Swap
      |    |__ Sensor Num: 2, Type: OEM_SENSOR, Category: SENSOR_SPECIFIC, Tag: 
B2 Hot Swap
      |    |__ Sensor Num: 3, Type: OEM_SENSOR, Category: SENSOR_SPECIFIC, Tag: 
B3 Hot Swap
      |    |__ Sensor Num: 4, Type: OEM_SENSOR, Category: SENSOR_SPECIFIC, Tag: 
B4 Hot Swap
      |    |__ ....

On the other hand, when I lanuch openhpid with an AMC, I can get it
like this:

  {SYSTEM_CHASSIS,7}
      +--- {SYSTEM_CHASSIS,7}{PHYSICAL_SLOT,10}{160,0}
      |    |__ Sensor Num: 0, Type: OEM_SENSOR, Category: SENSOR_SPECIFIC, Tag: 
Hot Swap
      |    |__ ....
      |    |__ Sensor Num: 1, Type: OEM_SENSOR, Category: SENSOR_SPECIFIC, Tag: 
B1 Hot Swap
      |    |__ Sensor Num: 2, Type:OEM_SENSOR, Category: SENSOR_SPECIFIC, Tag: 
B2 Hot Swap
      |    |__ Sensor Num: 3, Type: OEM_SENSOR, Category: SENSOR_SPECIFIC, Tag: 
B3 Hot Swap
      |    |__....
      |
      +--- {SYSTEM_CHASSIS,7}{PHYSICAL_SLOT,10}{193,8}
      |    |__ Sensor Num: 4, Type: OEM_SENSOR, Category: SENSOR_SPECIFIC, Tag: 
B4 Hot Swap
      |    |__ Sensor Num: 20, Type: CURRENT, Category: THRESHOLD, Tag: B4 +12V 
Curr
      |    |__ ...
   
Where, you should notice that a location of a hotswap sensor is
different between in these two cases. A hotswap sensor is moved from
carrier board to AMC! But both entries points a same physical sensor
(The sensor is implemented on the carrier board). Some other sensors
are also moved from the carrier board to the AMC. It's too strange.

I read the source code of the ipmidirect plugin and I found an answer
for this issue. When the ipmidirect find a sensor without a parent FRU,
the sensor is judged as grand parent's sensor at
cIpmiSdrs::FindParentFru(). According to my ipmidirect's log, such
sensors are always reported as AMC's sensor by ShMM, but are registered
as carrier board's sensor by above code when no AMC card exists:

  2008.03.03 14:16:52.285 Entity ID 193, Instance 101 is not a FRU
  2008.03.03 14:16:52.285 Entity ID 193, Instance 101 parent ID 160, Instance 96
  2008.03.03 14:16:52.285 FindResource mc 144 FRU 0 type 160 instance 96
  2008.03.03 14:16:52.285 Looking for resource: 
{SYSTEM_CHASSIS,7}{PHYSICAL_SLOT,10}{160,0}.
  2008.03.03 14:16:52.285 adding rdr: 
{SYSTEM_CHASSIS,7}{PHYSICAL_SLOT,10}{160,0}{193,5} 1 B1 Hot Swap
  2008.03.03 14:16:52.285 WARNING: found a second hotswap sensor, discard it !

Now I have a question:

  * Where shoud such sensors be mapped to by the HPI specification?

I read the HPI-to-AdvancedTCA Mapping Specification and I found a hint
for this issue. According to this spec, some "slot resources" shoule
exist in addition to some "FRU resources", like this:

  {ROOT, 0}
    ├ {PHYSICAL_SLOT, x}
    ├ {PHYSICAL_SLOT, x}{PICMG_SUBBOARD_CARRIER_BLADE, y}
    ├ {PHYSICAL_SLOT, x}{PICMG_SUBBOARD_CARRIER_BLADE, y}{AMC_SLOT, z}
    ├ {PHYSICAL_SLOT, x}{PICMG_SUBBOARD_CARRIER_BLADE, y}{AMC_SLOT, z}{AMC, 1}

I think such sensors should be mapped to such "slot resources".
But there are no "slot resources" in the current ipmidirect
implementation:

  {ROOT, 0}
    ├ {PHYSICAL_SLOT, x}{PICMG_SUBBOARD_CARRIER_BLADE, y}
    ├ {PHYSICAL_SLOT, x}{AMC, 1}

My understanding is correct?
If it is correct, is it openhpi's problem? or hardware's problem?
If it isn't, how should we treat such sensors?

I'm now writing a work arround patch. In this patch, I always treat such
sensors as AMC's sensor, and don't show such sensors when the AMC
doesn't exist. I don't craete "slot resources" in this patch because
I'm not sure about it and it is too heavy to implement for me.

Could you please advise to me?

Regards,
--
Takuro Ashie <[EMAIL PROTECTED]>

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Openhpi-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openhpi-devel

Reply via email to