Bug 228169 - mprutil unable to save firmware/bios
Summary: mprutil unable to save firmware/bios
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: bin (show other bugs)
Version: CURRENT
Hardware: amd64 Any
: --- Affects Only Me
Assignee: freebsd-bugs mailing list
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-05-11 21:09 UTC by Yuri Pankov
Modified: 2018-10-19 16:20 UTC (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Yuri Pankov 2018-05-11 21:09:23 UTC
Running the "livecd" on 12.0-CURRENT snapshot:

FreeBSD  12.0-CURRENT FreeBSD 12.0-CURRENT #0 r333409: Wed May  9 16:05:22 UTC 2018     root@releng3.nyi.freebsd.org:/usr/obj/usr/src/amd64.amd64/sys/GENERIC  amd64

Trying to save the firmware/bios for the the following HBAs:

# mprutil show adapters
Device Name           Chip Name        Board Name        Firmware
/dev/mpr0             LSISAS3008       LSI3008-IT        0c000200
/dev/mpr1                SAS3408      HBA 9400-8e        02000500
/dev/mpr2             LSISAS3216      SAS9305-16e        0e000000

...produces:

# mprutil -u 0 flash save firmware
mprutil: Fail to save firmware
# mprutil -u 0 flash save bios
mprutil: Fail to save bios
# mprutil -u 1 flash save firmware
mprutil: Fail to save firmware
# mprutil -u 1 flash save bios
mprutil: Fail to save bios
# mprutil -u 2 flash save firmware
mprutil: Fail to save firmware
# mprutil -u 2 flash save bios
mprutil: Fail to save bios

Relevant dmesg messages:

mpr0: mpr_user_command: unsupported parameter or unsupported function in request (function = 0x12)
mpr0: mpr_user_command: unsupported parameter or unsupported function in request (function = 0x12)
mpr1: mpr_user_command: unsupported parameter or unsupported function in request (function = 0x12)
mpr1: mpr_user_command: unsupported parameter or unsupported function in request (function = 0x12)
mpr2: mpr_user_command: unsupported parameter or unsupported function in request (function = 0x12)
mpr2: mpr_user_command: unsupported parameter or unsupported function in request (function = 0x12)
Comment 1 peter.sopko+freebsd.org 2018-10-19 16:20:27 UTC
I can confirm what OP is reporting, firmware/bios manipulation (update/save) via mprutil seems to be broken (tried on 11.2-RELEASE, Board Name: SAS9300-8i, Board Assembly: H3-25573-00G, Chip Name: LSISAS3008).

But as much as this can be a hassle and would be nice to be working, the recommended way to flash firmware/bios on mpr devices (to use sas3flash [hidden inside the "Installer_P14_for_FreeBSD" archive package] utility available from broadcom [https://www.broadcom.com/products/storage/host-bus-adapters/sas-9300-8i#tab-current-drivers3-abc]) works like a charm, so at least there is a very easy (and recommended) workaround.