[Top][All Lists]
[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