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): > > [r...@xoc freeipmi-configs]# cat xoc-bmc-config-test > Section User3 > Enable_User Yes > EndSection > [r...@xoc 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. > [r...@xoc 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: > > [r...@xoc 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 > > [r...@xoc 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 [email protected] Computer Scientist High Performance Systems Division Lawrence Livermore National Laboratory _______________________________________________ Freeipmi-users mailing list [email protected] http://lists.gnu.org/mailman/listinfo/freeipmi-users
