[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds
From: |
Al Chu |
Subject: |
Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation |
Date: |
Mon, 30 Jul 2012 07:05:32 -0700 |
On Mon, 2012-07-30 at 06:16 -0700, Jim Mankovich wrote:
> Al, Corey,
>
> FYI, The DL380 G5 only supports IPMI 2.0.
Well that's an IPMI compliance issue as well.
> Could one of you summarize which IPMI command or commands that
> you are having issues with? Maybe I can help out.
The issue is the Get System Boot Options IPMI command and the "boot
flags" parameter selector. See Corey's previous link:
http://pastebin.com/6E9R9VNG
which shows a packet trace.
Al
> -- Jim Mankovich | address@hidden --
>
> On 7/29/2012 1:18 PM, Al Chu wrote:
> > On Sun, 2012-07-29 at 11:48 -0700, Corey Osman wrote:
> >>
> >>
> >>
> >> On Jul 29, 2012, at 11:05 AM, Al Chu <address@hidden> wrote:
> >>
> >>> Hey Corey,
> >>>
> >>> For some reason, on your system, HP motherboard sends extra data for
> >>> this particular IPMI payload.
> >>>
> >>> 192.168.1.22: Payload Unexpected Data:
> >>> 192.168.1.22: ------------------------
> >>> 192.168.1.22: [ BYTE ARRAY ... ] = unexpected_data[12B]
> >>> 192.168.1.22: [ 00h 00h 00h 00h 00h 00h 00h 00h ]
> >>> 192.168.1.22: [ 00h 00h 00h F5h ]
> >>>
> >>> FreeIPMI reasonably determines this payload is bogus and throws it
> >>> out.
> >>> I'm not really sure how to work around this. Can you do a
> >>> --checkout
> >>> with IPMI 1.5? i.e. --driver-type=LAN
> >>
> >> I can't because of the following error which is fixed by specifying
> >> LAN_2_0
> >>
> >>
> >> authentication type unavailable for attempted privilege level
> > Your system simply may not be configured to allow the currently used
> > authentication level. You can experiment with different ones using the
> > '-a' option.
> >
> >>
> >>
> >> Additionally,
> >>
> >>
> >> I just tried the ipmitool method to set the boot device and it
> >> worked. However the difference is that it sets the boot device
> >> instead of retrieving the information
> >>
> >> I am going to try and just set the boot device instead of performing a
> >> checkout. I would assume it freeipmi is better sending data than
> >> querying.
> > The issue is that FreeIPMI will send the data in the format it knows of,
> > which may not work with whatever data format the HP motherboard is
> > working with.
> >
> > I suppose it's also worth trying inband communication on the motherboard
> > to see if reading the chassis config works that way.
> >
> > At the minimum, please send this information to HP. They should
> > definitely fix their board.
> >
> > Al
> >
> >> Corey
> >>
> >>
> >>
> >>> Al
> >>>
> >>> On Sun, 2012-07-29 at 10:20 -0700, Corey Osman wrote:
> >>>> Please ignore my previous post as I forgot to plugin my ipmi
> >>>> device.
> >>>>
> >>>>
> >>>> Here is the corrected output:
> >>>>
> >>>>
> >>>> ipmi-chassis-config --username=admin
> >>>> --password=password--hostname=192.168.1.22 --driver-type=LAN_2_0
> >>>> --debug --section=Chassis_Boot_Flags --checkout
> >>>>
> >>>>
> >>>> http://pastebin.com/6E9R9VNG
> >>>>
> >>>> Note: this is an HP DL380 G5 with ilo 2 - version 2.0 firmware
> >>>>
> >>>>
> >>>> Thanks,
> >>>>
> >>>>
> >>>> Corey Osman
> >>>> address@hidden
> >>>>
> >>>>
> >>>> Green IT and Data Center Automation Specialist
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>
> >>>> On Jul 29, 2012, at 9:57 AM, Corey Osman <address@hidden>
> >>>> wrote:
> >>>>
> >>>>> Here is the out of running the following command (There were 9
> >>>>> total
> >>>>> attempts with the output below):
> >>>>>
> >>>>>
> >>>>> ipmi-chassis-config --username=admin
> >>>>> --password=password--hostname=192.168.1.22 --driver-type=LAN_2_0
> >>>>> --debug --section=Chassis_Boot_Flags --checkout
> >>>>>
> >>>>>
> >>>>> 192.168.1.22:
> >>>>> =====================================================
> >>>>> 192.168.1.22: IPMI 1.5 Get Channel Authentication Capabilities
> >>>>> Request
> >>>>> 192.168.1.22:
> >>>>> =====================================================
> >>>>> 192.168.1.22: RMCP Header:
> >>>>> 192.168.1.22: ------------
> >>>>> 192.168.1.22: [ 6h] = version[ 8b]
> >>>>> 192.168.1.22: [ 0h] = reserved[ 8b]
> >>>>> 192.168.1.22: [ FFh] = sequence_number[ 8b]
> >>>>> 192.168.1.22: [ 7h] = message_class.class[ 5b]
> >>>>> 192.168.1.22: [ 0h] = message_class.reserved[ 2b]
> >>>>> 192.168.1.22: [ 0h] = message_class.ack[ 1b]
> >>>>> 192.168.1.22: IPMI Session Header:
> >>>>> 192.168.1.22: --------------------
> >>>>> 192.168.1.22: [ 0h] = authentication_type[ 8b]
> >>>>> 192.168.1.22: [ 0h] = session_sequence_number[32b]
> >>>>> 192.168.1.22: [ 0h] = session_id[32b]
> >>>>> 192.168.1.22: [ 9h] = ipmi_msg_len[ 8b]
> >>>>> 192.168.1.22: IPMI Message Header:
> >>>>> 192.168.1.22: --------------------
> >>>>> 192.168.1.22: [ 20h] = rs_addr[ 8b]
> >>>>> 192.168.1.22: [ 0h] = rs_lun[ 2b]
> >>>>> 192.168.1.22: [ 6h] = net_fn[ 6b]
> >>>>> 192.168.1.22: [ C8h] = checksum1[ 8b]
> >>>>> 192.168.1.22: [ 81h] = rq_addr[ 8b]
> >>>>> 192.168.1.22: [ 0h] = rq_lun[ 2b]
> >>>>> 192.168.1.22: [ 1Eh] = rq_seq[ 6b]
> >>>>> 192.168.1.22: IPMI Command Data:
> >>>>> 192.168.1.22: ------------------
> >>>>> 192.168.1.22: [ 38h] = cmd[ 8b]
> >>>>> 192.168.1.22: [ Eh] = channel_number[ 4b]
> >>>>> 192.168.1.22: [ 0h] = reserved1[ 3b]
> >>>>> 192.168.1.22: [ 1h] =
> >>>>> get_ipmi_v2.0_extended_data[ 1b]
> >>>>> 192.168.1.22: [ 4h] = maximum_privilege_level[ 4b]
> >>>>> 192.168.1.22: [ 0h] = reserved2[ 4b]
> >>>>> 192.168.1.22: IPMI Trailer:
> >>>>> 192.168.1.22: --------------
> >>>>> 192.168.1.22: [ 3Dh] = checksum2[ 8b]
> >>>>> ipmi-chassis-config: connection timeout
> >>>>>
> >>>>>
> >>>>>
> >>>>> Thanks,
> >>>>>
> >>>>>
> >>>>> Corey Osman
> >>>>> address@hidden
> >>>>>
> >>>>>
> >>>>> Green IT and Data Center Automation Specialist
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>> On Jul 22, 2012, at 10:57 PM, Al Chu <address@hidden> wrote:
> >>>>>
> >>>>>> Hi Corey,
> >>>>>>
> >>>>>> On Sun, 2012-07-22 at 13:20 -0700, Corey Osman wrote:
> >>>>>>> Hi,
> >>>>>>>
> >>>>>>> My ruby implementation is off to a great start but I had a
> >>>>>>> few
> >>>>>>> questions with regards to driver types and inband
> >>>>>>> configuration.
> >>>>>>>
> >>>>>>> Since I will have no idea as to what kind of IPMI device
> >>>>>>> needs
> >>>>>>> to be
> >>>>>>> controlled I need to make sure that everything appears
> >>>>>>> automatic
> >>>>>>> with
> >>>>>>> regards to driver types and any kind of workarounds.
> >>>>>>>
> >>>>>>> My goal is to automatically detect driver type and
> >>>>>>> workarounds
> >>>>>>> to ease
> >>>>>>> the pain for folks who use the ruby-freeipmi library.
> >>>>>> I admit I'm not sure of the best way to handle this and make
> >>>>>> sure
> >>>>>> the
> >>>>>> code is super-portable. It's sort of an unfortunate
> >>>>>> side-effect/consequence of IPMI being implemented by so many
> >>>>>> vendors.
> >>>>>> ipmitool is no different, as you select an interface if the
> >>>>>> default
> >>>>>> doesn't work.
> >>>>>>
> >>>>>>> My current test device is an HP DL380 G5. I was hoping to
> >>>>>>> have
> >>>>>>> this
> >>>>>>> device automatically detected but it appears I need to
> >>>>>>> supply
> >>>>>>> the
> >>>>>>> --driver-type=LAN_2_0.
> >>>>>>>
> >>>>>>> Although this is not really a problem as I am planning on
> >>>>>>> doing
> >>>>>>> some
> >>>>>>> testing up front as to which driver to explicitly assign.
> >>>>>>>
> >>>>>>> However, I have noticed that when I call ipmi-chassis-config
> >>>>>>> --checkout the command appears to stall and doesn't provide
> >>>>>>> all
> >>>>>>> the
> >>>>>>> information. Output below
> >>>>>> Could you provide the --debug output from the below? Use the
> >>>>>> --section=Chassis_Boot_Flags so we can isolate the debug
> >>>>>> output to
> >>>>>> just
> >>>>>> he bad section below.
> >>>>>>
> >>>>>>> How do I set the bios to boot from cdrom, usb and network?
> >>>>>>> Also
> >>>>>>> do I
> >>>>>>> have a choice of which network device I can boot from?
> >>>>>> Once we get this section working, you'll see the full list of
> >>>>>> options.
> >>>>>>
> >>>>>> ## Possible values:
> >>>>>> NO-OVERRIDE/PXE/HARD-DRIVE/HARD-DRIVE-SAFE-MODE/
> >>>>>> ##
> >>>>>> DIAGNOSTIC_PARTITION/CD-DVD/BIOS-SETUP/REMOTE-FLOPPY
> >>>>>> ##
> >>>>>>
> >>>>>> PRIMARY-REMOTE-MEDIA/REMOTE-CD-DVD/REMOTE-HARD-DRIVE/FLOPPY
> >>>>>> Boot_Device
> >>>>>> NO-OVERRIDE
> >>>>>>
> >>>>>>> Can someone supply or document the commands I would use to
> >>>>>>> set
> >>>>>>> the
> >>>>>>> boot device? What boot options do I have available, as only
> >>>>>>> Floppy is
> >>>>>>> in the output?
> >>>>>>> Additionally, is this a one time boot setting or will it
> >>>>>>> boot
> >>>>>>> from
> >>>>>>> the device after every reboot.
> >>>>>> It should be configurable via
> >>>>>>
> >>>>>> ## Possible values: Yes/No (Yes = All Future Boots; No =
> >>>>>> Next Boot Only)
> >>>>>> Boot_Flags_Persistent No
> >>>>>>
> >>>>>> once we get it to output.
> >>>>>>
> >>>>>>> Also, do I need to supply an inband option here?
> >>>>>> Inband communication is usually auto-discovered, but every
> >>>>>> simple
> >>>>>> is
> >>>>>> different and its certainly possible a auto-discovery can fail
> >>>>>> in
> >>>>>> some
> >>>>>> systems. Some HP motherboards have a known inband defect,
> >>>>>> which
> >>>>>> may
> >>>>>> require use of a workaround (see manpage).
> >>>>>>
> >>>>>> Hope this helps get things going for you,
> >>>>>>
> >>>>>> Al
> >>>>>>
> >>>>>>> Please feel free to have a look at my code and provide any
> >>>>>>> suggestions. I have written a README file to explain how
> >>>>>>> things
> >>>>>>> will work.
> >>>>>>>
> >>>>>>> https://github.com/logicminds/ruby-freeipmi
> >>>>>>>
> >>>>>>> Command line examples would be great as I can easily convert
> >>>>>>> them to ruby calls.
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> #
> >>>>>>> # Section Chassis_Front_Panel_Buttons Comments
> >>>>>>> #
> >>>>>>> # The following configuration options are for enabling or
> >>>>>>> disabling button
> >>>>>>> # functionality on the chassis. Button may refer to a
> >>>>>>> pushbutton, switch, or
> >>>>>>> # other front panel control built into the system chassis.
> >>>>>>> #
> >>>>>>> # The value of the below may not be able to be checked out.
> >>>>>>> Therefore we
> >>>>>>> # recommend the user configure all four fields rather than a
> >>>>>>> subset of them,
> >>>>>>> # otherwise some assumptions on configure may be made.
> >>>>>>> #
> >>>>>>> Section Chassis_Front_Panel_Buttons
> >>>>>>> ## Possible values: Yes/No
> >>>>>>> Enable_Standby_Button_For_Entering_Standby Yes
> >>>>>>> ## Possible values: Yes/No
> >>>>>>> Enable_Diagnostic_Interrupt_Button Yes
> >>>>>>> ## Possible values: Yes/No
> >>>>>>> Enable_Reset_Button Yes
> >>>>>>> ## Possible values: Yes/No
> >>>>>>> Enable_Power_Off_Button_For_Power_Off_Only Yes
> >>>>>>> EndSection
> >>>>>>> #
> >>>>>>> # Section Chassis_Power_Conf Comments
> >>>>>>> #
> >>>>>>> # The following configuration options are for configuring
> >>>>>>> chassis power
> >>>>>>> # behavior.
> >>>>>>> #
> >>>>>>> # The "Power_Restore_Policy" determines the behavior of the
> >>>>>>> machine when AC
> >>>>>>> # power returns after a power loss. The behavior can be set
> >>>>>>> to
> >>>>>>> always power on
> >>>>>>> # the machine ("On_State_AC_Apply"), power off the machine
> >>>>>>> # ("Off_State_AC_Apply"), or return the power to the state
> >>>>>>> that
> >>>>>>> existed before
> >>>>>>> # the power loss ("Restore_State_AC_Apply").
> >>>>>>> #
> >>>>>>> # The "Power_Cycle_Interval" determines the time the system
> >>>>>>> will
> >>>>>>> be powered down
> >>>>>>> # following a power cycle command.
> >>>>>>> #
> >>>>>>> Section Chassis_Power_Conf
> >>>>>>> ## Possible values:
> >>>>>>> Off_State_AC_Apply/Restore_State_AC_Apply/On_State_AC_Apply
> >>>>>>> Power_Restore_Policy
> >>>>>>> Restore_State_AC_Apply
> >>>>>>> ## Give value in seconds
> >>>>>>> ## Power_Cycle_Interval
> >>>>>>> EndSection
> >>>>>>> #
> >>>>>>> # Section Chassis_Boot_Flags Comments
> >>>>>>> #
> >>>>>>> # The following configuration options are for configuring
> >>>>>>> chassis boot behavior.
> >>>>>>> # Please note that some fields may apply to all future boots
> >>>>>>> while some may only
> >>>>>>> # apply to the next system boot.
> >>>>>>> #
> >>>>>>> # "Boot_Flags_Persistent" determines if flags apply to the
> >>>>>>> next
> >>>>>>> boot only or all
> >>>>>>> # future boots.
> >>>>>>> #
> >>>>>>> # "Boot_Device" allows the user to configure which device
> >>>>>>> the
> >>>>>>> BIOS should boot
> >>>>>>> # off of. Most users may wish to select NO-OVERRIDE to
> >>>>>>> select
> >>>>>>> the configuration
> >>>>>>> # currently determined by the BIOS. Note that the
> >>>>>>> configuration
> >>>>>>> value BIOS-SETUP
> >>>>>>> # refers to booting *into* the BIOS Setup, not from it.
> >>>>>>> FLOPPY
> >>>>>>> may refer to any
> >>>>>>> # type of removeable media.
> >>>>>>> #
> >>>>>>> ----- This is all that is returned
> >>>>>>>
> >>>>>>> Corey Osman
> >>>>>>> address@hidden
> >>>>>>> Green IT and Datacenter Automation Specialist
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>>
> >>>>>>> _______________________________________________
> >>>>>>> Freeipmi-devel mailing list
> >>>>>>> address@hidden
> >>>>>>> https://lists.gnu.org/mailman/listinfo/freeipmi-devel
> >>>>>> --
> >>>>>> Albert Chu
> >>>>>> address@hidden
> >>>>>> Computer Scientist
> >>>>>> High Performance Systems Division
> >>>>>> Lawrence Livermore National Laboratory
> >>>>>>
> >>>>>
> >>>>
> >>> --
> >>> Albert Chu
> >>> address@hidden
> >>> Computer Scientist
> >>> High Performance Systems Division
> >>> Lawrence Livermore National Laboratory
> >>>
>
--
Albert Chu
address@hidden
Computer Scientist
High Performance Systems Division
Lawrence Livermore National Laboratory
- [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Corey Osman, 2012/07/22
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Al Chu, 2012/07/23
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Corey Osman, 2012/07/29
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Corey Osman, 2012/07/29
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Al Chu, 2012/07/29
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Corey Osman, 2012/07/29
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Al Chu, 2012/07/29
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Corey Osman, 2012/07/29
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Al Chu, 2012/07/30
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Jim Mankovich, 2012/07/30
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation,
Al Chu <=
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Corey Osman, 2012/07/30
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Albert Chu, 2012/07/30
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Corey Osman, 2012/07/30
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Albert Chu, 2012/07/30
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Jim Mankovich, 2012/07/30
- Re: [Freeipmi-devel] Questions regarding auto discovery and workarounds for ruby implementation, Corey Osman, 2012/07/30