SUMMARY:
  - CONFIG_IO_STRICT_DEVMEM is culprit (not CONFIG_STRICT_DEVMEM)
  - iomem=relaxed allows Dell DUP Kits to correctly report and update some 
firmware that previously failed.
  - some Dell DUP Kits work fine in locked-down environment, others fail.  some 
fail with error reports, others silently claim to work and fail fully.
  - Dell should hopefully fix the DUP kit components to error check and 
work-around restrictions.


On 07/12/2018 02:40 PM, Stephen Dowdy wrote:
Update:  adding 'iomem=relaxed' to the kernel bootparams allows 'biosie' (from 
the BIOS*.BIN DUPkit) to update the BIOS.

Subject line changed to reflect the accurate kernel knob 
(CONFIG_IO_STRICT_DEVMEM)

Ref: https://outflux.net/blog/archives/2016/09/28/security-things-in-linux-v4-5/
Ref: 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=90a545e981267e917b9d698ce07affd69787db87


Okay, this (iomem=relaxed) also fixed the issue i've been having with the BCM NetExtreme 
(5720) firmware update DUP kits failing to report the "installed/running" 
version and actually REALLY updating the firmware:

    ~# ral-superinv
    [System Board]
                Hostname : XXXXXXXX
            Manufacturer : Dell Inc.
                   Model : PowerEdge T640
                  Memory : 196608 MB
           Serial Number : XXXXXXXX
            BIOS Version : 1.3.7 (!=1.4.8)
       BMC/iDRAC Version : 3.21 {iDRAC9}
[Network]
      Broadcom Adv. Dual 10GBASE-T Ethernet (BCM957416)@18:00.0    : 20.08.04.04
      Broadcom Adv. Dual 10GBASE-T Ethernet (BCM957416)@18:00.1    : 20.08.04.04
-->   Broadcom NetXtreme Gigabit Ethernet (BCM95720)@b1:00.0       : 20.6.52
-->   Broadcom NetXtreme Gigabit Ethernet (BCM95720)@b1:00.1       : 20.6.52
    [RAID/PERC] :
                    PERC H740P Adapter = 50.3.0-1022


We try to run the Broadcom NetXtreme updater (Network_Firmware_R4HKW_LN_20.8.4.BIN) to 
get from 20.6 to 20.8, but Dell's DUP Kit can't inventory the "Installed 
version".  It runs and CLAIMS it updated and wants to reboot, but on reboot, the 
firmware's still 20.6 :

    .../local/DellUpdates/NETW# ../dup_run_debian 14GEN_Broadcom_NetXtreme -q
    /bin/sh appears to be dash, setting it to use BASH, because Dell's sh 
scripts are non-POSIX and break systems
    Collecting inventory...
    ....
    Running validation...
NetXtreme BCM5720 Gigabit Ethernet PCIe (enp177s0f0) The version of this Update Package is newer than the currently installed version.
    Software application name: NetXtreme BCM5720 Gigabit Ethernet PCIe 
(enp177s0f0)
    Package version: 20.8.4
--> Installed version:
...
    Executing update...
    WARNING: DO NOT STOP THIS PROCESS OR INSTALL OTHER PRODUCTS WHILE UPDATE IS 
IN PROGRESS.
    THESE ACTIONS MAY CAUSE YOUR SYSTEM TO BECOME UNSTABLE!
    ....
    The system should be restarted for the update to take effect.
    ERROR: Network_Firmware_R4HKW_LN_20.8.4.BIN execution MAY have failed, or 
you answered NO to reboot, sorry (return_code=2)
(my wrapper script reports return error codes, so this was not a reported error 
from the DUP kit, but i believe DELL uses 'returncode=2' to indicate user chose 
to NOT reboot after update, but i'm not going to blindly trust that given that 
many DUPs behave differently)

Clearly, there's some failure to do error checks and report in this particular 
DUP kit.

BUT, The equivalent 20.8 Broadcom NetXtreme-E Updater 
(Network_Firmware_3VXHM_LN64_20.08.04.04.BIN) works *flawlessly* under the same 
conditions. (that's why my BCM957416's are updated to 20.08).

So, *something* can be done on Dell's side to make these DUP kits actually work 
under these conditions.

I verified that booting with 'iomem=relaxed' allows the 
'Network_Firmware_R4HKW_LN_20.8.4.BIN' to actually correctly query the 
installed version, *AND* update the firmware properly.  (but there's a security 
side-effect of running this way)

thanks,
--stephen
--
Stephen Dowdy  -  Systems Administrator  -  NCAR/RAL
303.497.2869   -  [email protected]        -  http://www.ral.ucar.edu/~sdowdy/

_______________________________________________
Linux-PowerEdge mailing list
[email protected]
https://lists.us.dell.com/mailman/listinfo/linux-poweredge

Reply via email to