Jan Safranek wrote:
> On 02/04/2010 03:41 PM, Corey Minyard wrote:
>> IIRC, the address in question is 0xc2, and the from below the address of
>> the local card is 0xc2. So if the SDR has the wrong address, it's not
>> going to work.
>
> It could work if ipmitool knows the local address. My question is, how 
> to get it from /dev/ipmi? Both IPMICTL_GET_MY_ADDRESS_CMD and 
> IPMICTL_GET_MY_CHANNEL_ADDRESS_CMD (with channel 0xf) return 0x20. I 
> want 0xc2... Do I really have to parse /dev/ipmi/*/params?
You need to use channel 0, not channel 0xf.  a slave address is 
meaningless with channel 0xf.  I just tested it and it works fine for me 
with IPMICTL_GET_MY_ADDRESS_CMD and IPMICTL_GET_MY_CHANNEL_ADDRESS with 
channel 0.

-corey

>
> Jan
>
>
>
>>
>> And I was wrong, the driver does not detect that an IPMB message is to
>> the local address and route it properly. So ipmitool will need to know.
>> -corey
>>
>> Jan Safranek wrote:
>>> On 02/04/2010 12:09 AM, Corey Minyard wrote:
>>>> You can also change it in the IPMI driver and I believe that will 
>>>> work,
>>>> too. Doing this requires writing a little software to call the 
>>>> ioctl to
>>>> do this, or writing a little script. The script is harder than it 
>>>> should
>>>> be, you have to hot remove the device and hot add it with a different
>>>> address. The address information is at /proc/ipmi/0/params. Mine looks
>>>> like:
>>>>
>>>> i2:~# cat /proc/ipmi/0/params
>>>> kcs,i/o,0xca2,rsp=1,rsi=1,rsh=0,irq=0,ipmb=32
>>>
>>> hmmm, mine *already is*:
>>> kcs,i/o,0xca8,rsp=4,rsi=1,rsh=0,irq=0,ipmb=194
>>> (194 = 0xc2)
>>>
>>> I have not changed anything, just service ipmi start. I admit I don't
>>> know how the kernel driver works and how it's configured - how did it
>>> detect it's not 0x20? I use internal RHEL 5-like kernel and to be
>>> honest, I don't know what OpenIPMI driver is there :( I might try
>>> vanilla one if it helps you debug things.
>>>
>>> When getting SDR (using IPMI_SYSTEM_INTERFACE_ADDR_TYPE), SDR record
>>> tells me the owner of the sensor is 0xc2 (sensor->keys.owner_id), i.e.
>>> if I understand it correctly, it points to itself.
>>>
>>> But ipmitool thinks the local IPMI address is 0x20 and tries to bridge
>>> the sensor reading to IPMB addr 0xc2 (addr_type = IPMI_IPMB_ADDR_TYPE,
>>> ipmi_ipmb_addr.slave_addr=0xc2) and gets error.
>>>
>>> Soooo, it seems I need to convince ipmitool that local address is not
>>> 0x20 but 0xc2 using '-m' parameter and the target is 0xc2 too using
>>> '-t'. This seems to work, but can it be automatized? Customers don't
>>> like the '-m/t' voodoo, especially when ipmitool was working in the
>>> old version. Ipmitool could look what's the real IPMB address instead
>>> 0x20 at open(/dev/ipmi) time... What ioctl to use and how? I can hack
>>> the ipmitool part then.
>>>
>>> Thanks in advance
>>>
>>> Jan
>>>
>>
>


------------------------------------------------------------------------------
The Planet: dedicated and managed hosting, cloud storage, colocation
Stay online with enterprise data centers and the best network in the business
Choose flexible plans and management services without long-term contracts
Personal 24x7 support from experience hosting pros just a phone call away.
http://p.sf.net/sfu/theplanet-com
_______________________________________________
Ipmitool-devel mailing list
Ipmitool-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/ipmitool-devel

Reply via email to