git: 789a2b4e5c7d - stable/13 - camcontrol: add support for Toshiba drive firmware update
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Wed, 03 Jan 2024 15:35:32 UTC
The branch stable/13 has been updated by ken:
URL: https://cgit.FreeBSD.org/src/commit/?id=789a2b4e5c7d88c424346fd326c475c31993d801
commit 789a2b4e5c7d88c424346fd326c475c31993d801
Author: Kenneth D. Merry <ken@FreeBSD.org>
AuthorDate: 2023-12-29 19:23:51 +0000
Commit: Kenneth D. Merry <ken@FreeBSD.org>
CommitDate: 2024-01-03 15:34:27 +0000
camcontrol: add support for Toshiba drive firmware update
Thanks to Toshiba for providing the SCSI spec for their latest
generation drives so I could confirm how they operate.
The firmware download works in a pretty standard way, so this
is a straightforward table addition.
sbin/camcontrol/camcontrol.8:
Document that Toshiba drives are supported for fwdownload,
and that it was tested on TOSHIBA MG10SFA22TE 22TB drives.
sbin/camcontrol/fwdownload.c:
Add TOSHIBA to the known SCSI vendors list for fwdownload.
Sponsored by: Spectra Logic
(cherry picked from commit cd95f18c477ca30c3ba6f98577d321f56b1e8439)
---
sbin/camcontrol/camcontrol.8 | 2 ++
sbin/camcontrol/fwdownload.c | 3 +++
2 files changed, 5 insertions(+)
diff --git a/sbin/camcontrol/camcontrol.8 b/sbin/camcontrol/camcontrol.8
index fc5ba3a9f20c..e19a222a1cf7 100644
--- a/sbin/camcontrol/camcontrol.8
+++ b/sbin/camcontrol/camcontrol.8
@@ -1693,6 +1693,8 @@ Tested with Constellation ES (ST32000444SS), ES.2 (ST33000651SS) and
ES.3 (ST1000NM0023) drives.
.It SmrtStor
Tested with 400GB Optimus SSDs (TXA2D20400GA6001).
+.It TOSHIBA
+Tested with 22TB MG10SFA22TE SAS drives.
.El
.Pp
.Em WARNING! WARNING! WARNING!
diff --git a/sbin/camcontrol/fwdownload.c b/sbin/camcontrol/fwdownload.c
index c91bb138bc7b..192ddd128836 100644
--- a/sbin/camcontrol/fwdownload.c
+++ b/sbin/camcontrol/fwdownload.c
@@ -84,6 +84,7 @@ typedef enum {
VENDOR_SAMSUNG,
VENDOR_SEAGATE,
VENDOR_SMART,
+ VENDOR_TOSHIBA,
VENDOR_ATA,
VENDOR_UNKNOWN
} fw_vendor_t;
@@ -213,6 +214,8 @@ static struct fw_vendor vendors_list[] = {
0x8000, 0x07, 0x07, 0, 1, FW_TUR_READY, WB_TIMEOUT, FW_TIMEOUT_DEFAULT},
{VENDOR_SMART, "SmrtStor", T_DIRECT,
0x8000, 0x07, 0x07, 0, 1, FW_TUR_READY, WB_TIMEOUT, FW_TIMEOUT_DEFAULT},
+ {VENDOR_TOSHIBA, "TOSHIBA", T_DIRECT,
+ 0x8000, 0x07, 0x07, 0, 1, FW_TUR_READY, WB_TIMEOUT, FW_TIMEOUT_DEFAULT},
{VENDOR_HGST, "WD", T_DIRECT,
0x1000, 0x07, 0x07, 1, 0, FW_TUR_READY, WB_TIMEOUT, FW_TIMEOUT_DEFAULT},
{VENDOR_HGST, "WDC", T_DIRECT,