freeipmi-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Freeipmi-users] Intel S3210SH: no "Enable_User"


From: Al Chu
Subject: Re: [Freeipmi-users] Intel S3210SH: no "Enable_User"
Date: Mon, 05 Jan 2009 13:34:09 -0800

Hey Gerben,

On Mon, 2009-01-05 at 21:13 +0100, Gerben Roest wrote:
> Hi Al,
> 
> I have used the beta0 of freeipmi to commit a User3 section with 
> Enable_User Yes in it (so only 3 lines of config file):
> 
> address@hidden freeipmi-configs]# cat xoc-bmc-config-test
> Section User3
>       Enable_User     Yes
> EndSection
> address@hidden freeipmi-configs]# /usr/local/freeipmi-test/sbin/bmc-config -D 
> open -c --debug -n ./xoc-bmc-config-test
> =====================================================
> Get Device ID Request
> =====================================================
> [               1h] = cmd[ 8b]
> =====================================================
> Get Device ID Response
> =====================================================
> [               1h] = cmd[ 8b]
> [               0h] = comp_code[ 8b]
> [              21h] = device_id[ 8b]
> [               1h] = device_revision.revision[ 4b]
> [               0h] = device_revision.reserved1[ 3b]
> [               0h] = device_revision.sdr_support[ 1b]
> [               0h] = firmware_revision1.major_revision[ 7b]
> [               0h] = firmware_revision1.device_available[ 1b]
> [              31h] = firmware_revision2.minor_revision[ 8b]
> [               2h] = ipmi_version_major[ 4b]
> [               0h] = ipmi_version_minor[ 4b]
> [               1h] = additional_device_support.sensor_device[ 1b]
> [               1h] = additional_device_support.sdr_repository_device[ 1b]
> [               1h] = additional_device_support.sel_device[ 1b]
> [               1h] = additional_device_support.fru_inventory_device[ 1b]
> [               1h] = additional_device_support.ipmb_event_receiver[ 1b]
> [               1h] = additional_device_support.ipmb_event_generator[ 1b]
> [               0h] = additional_device_support.bridge[ 1b]
> [               1h] = additional_device_support.chassis_device[ 1b]
> [             157h] = manufacturer_id.id[20b]
> [               0h] = manufacturer_id.reserved1[ 4b]
> [              3Ah] = product_id[16b]
> [        34000901h] = auxiliary_firmware_revision_info[32b]
> =====================================================
> Get Channel Info Command Request
> =====================================================
> [              42h] = cmd[ 8b]
> [               0h] = channel_number[ 4b]
> [               0h] = reserved[ 4b]
> =====================================================
> Get Channel Info Command Response
> =====================================================
> [              42h] = cmd[ 8b]
> [               0h] = comp_code[ 8b]
> [               0h] = actual_channel_number[ 4b]
> [               0h] = actual_channel_number.reserved[ 4b]
> [               1h] = channel_medium_type[ 7b]
> [               0h] = channel_medium_type.reserved[ 1b]
> [               1h] = channel_protocol_type[ 5b]
> [               0h] = channel_protocol_type.reserved[ 3b]
> [               0h] = active_session_count[ 6b]
> [               0h] = session_support[ 2b]
> [            1BF2h] = vendor_id[24b]
> [               0h] = auxiliary_channel_info[16b]
> =====================================================
> Get Channel Info Command Request
> =====================================================
> [              42h] = cmd[ 8b]
> [               1h] = channel_number[ 4b]
> [               0h] = reserved[ 4b]
> =====================================================
> Get Channel Info Command Response
> =====================================================
> [              42h] = cmd[ 8b]
> [               0h] = comp_code[ 8b]
> [               1h] = actual_channel_number[ 4b]
> [               0h] = actual_channel_number.reserved[ 4b]
> [               4h] = channel_medium_type[ 7b]
> [               0h] = channel_medium_type.reserved[ 1b]
> [               1h] = channel_protocol_type[ 5b]
> [               0h] = channel_protocol_type.reserved[ 3b]
> [               0h] = active_session_count[ 6b]
> [               2h] = session_support[ 2b]
> [            1BF2h] = vendor_id[24b]
> [               0h] = auxiliary_channel_info[16b]
> =====================================================
> Get User Access Command Request
> =====================================================
> [              44h] = cmd[ 8b]
> [               1h] = channel_number[ 4b]
> [               0h] = reserved1[ 4b]
> [               1h] = user_id[ 6b]
> [               0h] = reserved2[ 2b]
> =====================================================
> Get User Access Command Response
> =====================================================
> [              44h] = cmd[ 8b]
> [               0h] = comp_code[ 8b]
> [               Fh] = max_channel_user_ids[ 6b]
> [               0h] = reserved1[ 2b]
> [               0h] = current_channel_user_ids[ 6b]
> [               1h] = user_id_enable_status[ 2b]
> [               2h] = current_channel_fixed_names[ 6b]
> [               0h] = reserved2[ 2b]
> [               4h] = user_privilege_level_limit[ 4b]
> [               1h] = user_ipmi_messaging[ 1b]
> [               0h] = user_link_authentication[ 1b]
> [               0h] = user_restricted_to_callback[ 1b]
> [               0h] = reserved3[ 1b]
> Entering section `User3'
> Parsed `User3:Enable_User=Yes'
> Leaving section `User3'
> =====================================================
> Set User Password Command Request
> =====================================================
> [              47h] = cmd[ 8b]
> [               3h] = user_id[ 6b]
> [               0h] = user_id.reserved[ 2b]
> [               1h] = operation[ 2b]
> [               0h] = operation.reserved[ 6b]
> =====================================================
> Set User Password Command Response
> =====================================================
> [              47h] = cmd[ 8b]
> [               0h] = comp_code[ 8b]
> 
> 
> It appeared to work, at least on the localhost with the beta of freeipmi:

Cool.  Looks like it works now.

> address@hidden freeipmi-configs]# /usr/local/freeipmi-test/sbin/bmc-config -D 
> open -o --section User3
> Section User3
>       ## Give Username
>       Username                                      admin
>       ## Possible values: Yes/No or blank to not set
>       Enable_User                                   Yes
>       ## Give password or blank to clear. MAX 16 chars.
>       ## Password
>       ## Give password for IPMI 2.0 or blank to clear. MAX 20 chars.
>       ## Password20
>       ## Possible values: Yes/No
>       Lan_Enable_IPMI_Msgs                          Yes
>       ## Possible values: Yes/No
>       Lan_Enable_Link_Auth                          Yes
>       ## Possible values: Yes/No
>       Lan_Enable_Restricted_to_Callback             No
>       ## Possible values: 
> Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
>       Lan_Privilege_Limit                           Administrator
>       ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not 
> specified
>       ## Lan_Session_Limit
>       ## Possible values: Yes/No
>       SOL_Payload_Access                            Yes
> EndSection
> 
> The old freeipmi doesn't recognize it:
> 
> address@hidden freeipmi-configs]# bmc-config -D open -o --section User3
> Section User3
>       ## Give Username
>       Username                                      admin
>       ## Give password or blank to clear. MAX 16 chars.
>       ## Password
>       ## Give password for IPMI 2.0 or blank to clear. MAX 20 chars.
>       ## Password20
>       ## Possible values: Yes/No
>       Lan_Enable_IPMI_Msgs                          Yes
>       ## Possible values: Yes/No
>       Lan_Enable_Link_Auth                          Yes
>       ## Possible values: Yes/No
>       Lan_Enable_Restricted_to_Callback             No
>       ## Possible values: 
> Callback/User/Operator/Administrator/OEM_Proprietary/No_Access
>       Lan_Privilege_Limit                           Administrator
>       ## Possible values: 0-17, 0 is unlimited; May be reset to 0 if not 
> specified
>       ## Lan_Session_Limit
>       ## Possible values: Yes/No
>       SOL_Payload_Access                            Yes
> EndSection
> 
> 
> http:// ftp.zresearch.com/pub/freeipmi/qa-release/freeipmi-0.7.5.beta0.tar.gz
> 
> address@hidden freeipmi-configs]# ipmitool user summary 1
> Maximum IDs       : 15
> Enabled User Count  : 0
> Fixed Name Count    : 2
> 
>  From another host I want to check the power, I guess I have to do it 
> like this:
> 
> gerrit:/usr/local/freeipmi-test/sbin# ./ipmipower -D LAN_2_0 -u admin -h 
> 192.168.13.24 -W authcap -P -s
> Password:
> 192.168.13.24: BMC error

It's possible some intel workarounds are needed by specifying the
"intel20" workaround too.  If you're up for looking into/debugging this
further, can you send me the --debug output?

> With ipmitool I used to do it like this:
> 
> I tried it with ipmitool which works with the S5000 boards:
> 
> gerrit:/usr/local/freeipmi-test/sbin# ipmitool -v -o intelplus -I 
> lanplus -A PASSWORD -H 192.168.13.24 -U admin chassis status
> Password:
> RAKP 4 message indicates an error : invalid integrity check value
> Error: Unable to establish IPMI v2 / RMCP+ session
> Error sending Chassis Status command
> 
> It does know about the name "admin" because when I type a wrong name it 
> gives this:
> 
> gerrit:/usr/local/freeipmi-test/sbin# ipmitool -v -o intelplus -I 
> lanplus -A PASSWORD -H 192.168.13.24 -U blahblah chassis status
> Password:
> RAKP 2 message indicates an error : unauthorized name
> Error: Unable to establish IPMI v2 / RMCP+ session
> Error sending Chassis Status command

If it doesn't work with ipmitool either (with -o intelplus), there's
probably something more problematic with the motherboard (as you
speculated earlier).

Al

> I hope you find any of this useful,
> 
> best regards, and a happy new year :-)
> 
> Gerben
> 
> Al Chu wrote:
> > Hey Gerben,
> > 
> > Actually, I think I found a bug that explains why the output of
> > "Enable_User" didn't occur.  Do you think you could try this version of
> > FreeIPMI out for me?
> > 
> > http:// 
> > ftp.zresearch.com/pub/freeipmi/qa-release/freeipmi-0.7.5.beta0.tar.gz
> > 
> > Also, can you try to commit the Enable_User field and send the --debug
> > output?  I forgot to ask before, but we didn't look into why the remote
> > machine won't accept your commit attempt.  As you surmised earlier, it's
> > probably a bug on the motherboard.  But it couldn't hurt to check out.
> > 
> > Thanks,
> > Al
> > 
> > On Mon, 2009-01-05 at 09:21 -0800, Al Chu wrote:
> >> Hey Gerben,
> >>
> >>> ipmi_get_channel_number: bad completion code: request data/parameter
> >>> invalid
> >> This part of your output is the key reason why those fields aren't
> >> outputting.  But (as you surmised) the motherboard is probably at the
> >> core of the problem.  I will see if some tweaks can get aroudn the
> >> problem though.
> >>
> >> Al
> >>
> 
> 
-- 
Albert Chu
address@hidden
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory





reply via email to

[Prev in Thread] Current Thread [Next in Thread]