1 2 Previous Next 18 Replies Latest reply on Aug 27, 2015 11:26 AM by RickVC

    Emulex Firmware Horror Stories

    kellino Hot Shot

      We have ESX3 running on some HP DL580 G3's and we noticed some SCSI timeouts on SAN drives.  Long story short, our Emulex HBA firmware was out of date by more than a year and we need to upgrade.

       

      In 2007, servers no longer come with floppy drives.  Emulex provides a Linux update utility but it looks like there are other pre-requsities that fall outside of VMWare.  So an offline firmware upgrade seems like the best bet.

       

      HP (and Emulex) only provide a DOS based utility for offline updates, and leave it up to the user to figure out how to boot into DOS without a floppy drive.

       

      I start with BartPE.  Only problem is that this is Windows PE and it won't let you change CD's because Windows is running from it!  Drat!  Can't copy it to a local drive because there are not FAT or NTFS partitions.  Drat!  I tried the USB flash drive, but I guess Windows PE doesn't provide USB support.  Drat!

       

      I noticed that on the BartPE site they have a bootCD image designed specifically for BIOS upgrades.  Great!  When I boot from it I get this pretty red screen with "Illegal OpCode" and a bunch of scarry binary jibberish.

       

      A few googles later and I find the Ultimate Boot Disk.  This CD-ROM lets to boot to 3 different versions of DOS (FreeDOS, OpenDOS, etc.).

       

      I try it and I'm thrilled to learn that I can run DOS, and change CD's (and have CDROM support)!

       

      Finally!  So I run the LP6DUTIL and it tells me that the flash image is corrupt.  That's odd.  I tried other versions of DOS and they gave me a similar but different error (the error codes in LP6DUTIL were different!).

       

      Is a DOS driver or component interfering?  Is my CD image bad?

       

      I re-downloaded the firmware, made a 2nd CD and tried again with about a dozen permutations of DOS and driver settings.  Each one the LP6DUTIL program tells me the flash image is corrupt.

       

      I am following the documentation for LP6DUTIL (which comes with the firmware download to a "T").

       

      I also tried downloading the Emulex offline DOS utility (DOSLPCFG) and I get the same "bad image" error.  I downloaded the file twice and burned it twice and I somehow doubt the files got corrupted.  The EXE's on the same CD seem to work fine (beyond not allowing me to download firmware).

       

      So with this, I leave the community with a simple question.  Has anyone ever found a way to successfully upgrade Emulex HBA firmware on an ESX server?  What DOS Boot CD did you use?  What settings?  What utility?  All the details please! 

       

      I've spent the better part of 2 days now on what should be an easy task.  I'm beginning to wonder if such a herculean feat is even possible, but I'm sure there's some zenu guru wizard out there who has been able to conquer this task, and upgrade their Emulex HBA's? 

       

      Thanks

        • 1. Re: Emulex Firmware Horror Stories
          christianZ Virtuoso

          Well we have here Dell Servers w/o floppy - I connected an usb floppy and worked / booted with it - all that worked fine  so I suppose you can do the same with hp server.

           

          Just a thought.

          1 person found this helpful
          • 2. Re: Emulex Firmware Horror Stories
            ObiWan Enthusiast

            Or, if you have no USB floppy drive, you can:

             

            \- find computer with Floppy \_and_ CD-RW drives, (or install "floppy simulator" software to your notebook without FDD)

            \- find floppy disk (the hardest part !!!) or create "fdd-image-file"

            \- make a bootable floppy,

            \- extract BIOS update to it,

            \- burn this floppy to CD-RW like bootable image,

            \- boot server with this CD and start BIOS upgrade.

             

            Works for me. (on IBM)

            • 3. Re: Emulex Firmware Horror Stories
              Texiwill Guru
              vExpertUser Moderators

              Hello,

               

              SInce you are using ProLiant hardware, use the ILO's virtual floppy capability to boot from a floppy. Granted you need an ILO license. Or you can use a USB floppy.

               

              Best regards,

              Edward

              1 person found this helpful
              • 4. Re: Emulex Firmware Horror Stories
                kellino Hot Shot

                Thanks for the advice everyone.

                 

                The point I'm at now is that I can boot from 3 flavors of DOS from the BOOT CD and I can run the utility, but the utility says the flash code is corrupt.

                 

                I don't know if there is a difference between MS-DOS and FreeDOS for example that is creating this problem.  The utility can interrogate and change settings on the HBA's just fine -- it just won't accept the flash file.

                 

                I don't have a USB floppy yet, but I don't know that this would get me any further than I am now.

                 

                I think I might try creating a new BartPE that has the Windows utility LPUTILNT.EXE on it.

                 

                The Proliant Virtual Media is an option, but again I don't know that it would get me any further than I am now.  I think I'll try the LPUTILNT from Bart-PE first and go from there.  Thanks!

                • 5. Re: Emulex Firmware Horror Stories
                  jesse.gardner Hot Shot

                  We use a Pre-eXecution Environment (PXE) to network boot all sorts of functionalities including Bios & firmware boot disks.

                   

                  Pxelinux, part of the syslinux family, combined with a tftp server like tftpd32 for windows, allows you to boot floppy images over the network.  For us, the process is:

                   

                  Press F12 to boot from network.  You get a menu.. drill down to the Firmware Updates section and choose the model of server.  Viola, you boot to a DOS floppy image.  It's worked great for us for several years.  If you'd like further details, let me know.

                   

                  Interestingly, you can use floppy images of more than 1.44mb in this environment.  I've got 8mb floppy images to house all the firmwares for a model in one image (like BIOS, BMC, diagnostics, raid controller, NICs, etc).  One nice autoexec.bat file does it all.

                  • 6. Re: Emulex Firmware Horror Stories
                    dinny Expert

                    Hiya,

                     

                    Emulex provide VMware specific driver and utility packs:

                     

                    http://www.emulex.com/vmware/support/index.jsp

                     

                    I install these directly on the COS (as part of my scripted ESX build) and have never had any problems.

                     

                    I use Emulex LP10000DCs and use the lpfcutil-7.3.2.tar

                     

                    Once installed you can use the lputil utility

                     

                    (run it directly from the COS via ./lputil)

                     

                    This allows you to upgrade firmware, enable/disable boot bios and pretty much anything else that you might need to do on the HBAs.

                     

                    Dinny

                    • 7. Re: Emulex Firmware Horror Stories
                      kellino Hot Shot

                      Dinny:

                       

                      Didn't try it yet but I'm so confident it will work I marked your answer as correct  

                       

                      Updating from the OS is definately the best way.

                       

                      I'll follow up with the results when I have a chance to attempt this later today.  Thanks!

                      • 8. Re: Emulex Firmware Horror Stories
                        dinny Expert

                        That's very kind

                         

                        I don't know if you use the HP Insight Agents?

                         

                        I found a couple of irritating things with them:

                         

                        If the boot BIOS is enabled on the HBAs - all hba ports will still show in Insight Manager - even if you disable some of them in the BIOS.

                         

                        There is a known problem (with at least the HP 7.70 Agents) whereby you need to overwrite libdfc.so with the Emulex version to get IM to report on the HBAs correctly. It's mentioned at the end of the HP Agents 7.70 readme.txt.

                         

                        As long as you install the Emulex stuff before the HP Agents - it should be fine.

                         

                        Dinny

                        • 9. Re: Emulex Firmware Horror Stories
                          Bastien_P Hot Shot

                          Pretty much what dinny propose.. But this is my history with the emulex and what i used to correct the problem.  In my case the utility loaded on the ESX...

                           

                          http://www.vmware.com/community/thread.jspa?messageID=618381&#618381

                          • 10. Re: Emulex Firmware Horror Stories
                            kellino Hot Shot

                            sigh.....

                             

                            I downloaded lpfcutil-7.3.2 from Emulex but it won't install.

                             

                            When I run the install script (logged in as "root") I get this:

                             

                            -bash: ./Install.sh: Permission denied

                             

                            Why would "root" have permission denied?  the README doesn't say anything about permissions.  It basically just says to run the install script.

                             

                            I tried running the program directly but I get this:

                             

                            -bash: lputil: command not found

                             

                            Not sure how the command can't be found when the file is in that directory!

                            • 11. Re: Emulex Firmware Horror Stories
                              kellino Hot Shot

                              You know what....

                               

                              I just read the README and the LP1150 is not listed as being supported by the LPUTIL utility so it looks like we can't use this method in any case.

                               

                              Back to the drawing board.....

                               

                              I'm about ready to throw these Emulex HBA's out the window and ask for QLogic adapters....

                              • 12. Re: Emulex Firmware Horror Stories
                                jesse.gardner Hot Shot

                                Well this is probably a case of execute permissions.   By default files can't be executed directly.  Two ways around this.

                                Change the permissions:  "chmod +x ./install.sh"

                                Execute the command interpreter and pass the script as a parameter: "sh ./install.sh"

                                • 13. Re: Emulex Firmware Horror Stories
                                  kellino Hot Shot

                                  Thanks!  The chmod +x allowed me to run the script (would have been nice to mention in the README!).

                                   

                                  After I installed I went to the \usr\sbin\lpfc directory and typed "lputil" and I got an unkown command error.

                                   

                                  This was quite maddening because I could see that the file was right there in this directory but it wouldn't let me run it.

                                   

                                  I was just about to give up when I noticed that the manual said that the utility should be invoked by running " /user/sbin/lpfc/lputil ".  This worked!  Why the full path would work versus just calling "lputil" from the same directory doesn't work, is something that I will never understand.

                                   

                                  Once I had the utility running, I was able to flash everything with no issues on the first attempt.

                                   

                                  I wonder if the DOS based LP6UTIL only works on MSDOS6 and not on any of these FreeDOS or OpenDOS variants.  But how does one get an MS-DOS 6 Boot CD in this age of floppy-less devices?

                                   

                                  Would it be that hard for Emulex to make a small ISO that can be booted to flash the firmware?  Sheez.....

                                   

                                  Thanks for all the help everyone!

                                  • 14. Re: Emulex Firmware Horror Stories
                                    Jae Ellers Master

                                    a few points

                                    \*  HP has a tool for loading boot floppy images on an usb stick.  Works pretty good

                                    \*  USB floppy is ~$15.  Good to have around for that price.

                                    1 2 Previous Next