PM863 FW File

Notice: Page may contain affiliate links for which we may earn a small commission through services like Amazon Affiliates or Skimlinks.

luckylinux

Well-Known Member
Mar 18, 2012
1,713
576
113
That will wipe certain SMART data though, so it's not without downsides.
Is it a Requirement though ? I believe you said before that for 1 Drive at least you did NOT need to do that, yet it seems (at least after a Power Cycle or some Time) to report the correct GXT5404Q Firmware Version ...
 

Hubi

New Member
Aug 28, 2015
14
4
3
Hello, picking this thread up, as i am looking for GXT1203Q Firmware for a PM863 SED with -00005 Suffix
Can anyone help me out here?


To be honest I don't even know the Firmware Release Chain/Order. The Naming makes not much sense to met at least.

Like ... what is the Ancient, Oldest, Older, New, Newer, Newest, etc ?

It does NOT seem like it's a Case of "Bigger is better" ...
Quick Example:
PM863 SED -00005 Suffix -> GXT1203Q

GXT1 -> prefix for PM863 SED
2 -> Counter for FW-version starting at 0 to 9, then followed by heaxdecimal A,B,C,D,E,F.
0 -> Not sure if reserved for more than 16 FW versions
3Q -> don't know, wild guess is 3rd gen SATA-SSD as there was no 830 line for enterprise SSD. 88x line has 04Q, 86x line has 3Q, but PM853T has 3Q as well.
 

Ting859

New Member
Sep 18, 2021
3
0
1
I have a PM863, M27LM240HCGR-00003, with firmware GXT0003Q, I read all this thread and tested everything I can find and think off, all failed. my ssd is in a proxmox environment, and anybody can offer some help?
 

luckylinux

Well-Known Member
Mar 18, 2012
1,713
576
113
No, it's not a requirement. :) My second one updated just fine without doing so. I only used ERRORMOD to bypass the ATA Security lock to allow me to secure erase it and put it back to a useful state.
Funnily enough IIRC I did a Secure Erase (IIRC using Samsung SSD DC Magician) before Formatting the Drive & installing Proxmox VE on it.

Also not sure if that is required though :( .
 

luckylinux

Well-Known Member
Mar 18, 2012
1,713
576
113
That's not required either. The second PM863a I mentioned was updated with data on it.
So I guess I need to try to flash GXT5404Q even though it gives an Error :D .

I already rebooted several Times and Power Cycled at least a couple of Times. With "my" Method the reported Firmware is still stuck on GXT52P4Q :(.
 

luckylinux

Well-Known Member
Mar 18, 2012
1,713
576
113
I tried just that:
- Flash GXT5404Q
Code:
hdparm --fwdownload ./GXT5404Q.bin --yes-i-know-what-i-am-doing --please-destroy-my-drive /dev/sdb
- Shutdown System
- Unplug Power Cable for 60 Seconds
- Start System

Still shows GXT52P4Q :( .

Code:
smartctl 7.4 2024-10-15 r5620 [x86_64-linux-6.14.8-2-pve] (local build)
Copyright (C) 2002-23, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Model Family:     Samsung based SSDs
Device Model:     SAMSUNG MZ7LM1T9HMJP-00005
Serial Number:    S2TVNX0HC10321
LU WWN Device Id: 5 002538 c404c0e2e
Firmware Version: GXT52P4Q
User Capacity:    1,920,383,410,176 bytes [1.92 TB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Form Factor:      2.5 inches
TRIM Command:     Available, deterministic, zeroed
Device is:        In smartctl database 7.3/5528
ATA Version is:   ACS-2, ATA8-ACS T13/1699-D revision 4c
SATA Version is:  SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is:    Tue Aug 19 09:18:39 2025 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled

=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED

General SMART Values:
Offline data collection status:  (0x02)    Offline data collection activity
                    was completed without error.
                    Auto Offline Data Collection: Disabled.
Self-test execution status:      (   0)    The previous self-test routine completed
                    without error or no self-test has ever
                    been run.
Total time to complete Offline
data collection:         ( 6000) seconds.
Offline data collection
capabilities:              (0x53) SMART execute Offline immediate.
                    Auto Offline data collection on/off support.
                    Suspend Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    No Conveyance Self-test supported.
                    Selective Self-test supported.
SMART capabilities:            (0x0003)    Saves SMART data before entering
                    power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x01)    Error logging supported.
                    General Purpose Logging supported.
Short self-test routine
recommended polling time:      (   2) minutes.
Extended self-test routine
recommended polling time:      ( 100) minutes.
SCT capabilities:            (0x003d)    SCT Status supported.
                    SCT Error Recovery Control supported.
                    SCT Feature Control supported.
                    SCT Data Table supported.

SMART Attributes Data Structure revision number: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  5 Reallocated_Sector_Ct   0x0033   081   081   010    Pre-fail  Always       -       1240
  9 Power_On_Hours          0x0032   088   088   000    Old_age   Always       -       56101
 12 Power_Cycle_Count       0x0032   099   099   000    Old_age   Always       -       43
177 Wear_Leveling_Count     0x0013   097   097   005    Pre-fail  Always       -       221
179 Used_Rsvd_Blk_Cnt_Tot   0x0013   081   081   010    Pre-fail  Always       -       1240
180 Unused_Rsvd_Blk_Cnt_Tot 0x0013   081   081   010    Pre-fail  Always       -       5252
181 Program_Fail_Cnt_Total  0x0032   100   100   010    Old_age   Always       -       0
182 Erase_Fail_Count_Total  0x0032   100   100   010    Old_age   Always       -       0
183 Runtime_Bad_Block       0x0013   081   081   010    Pre-fail  Always       -       1240
184 End-to-End_Error        0x0033   100   100   097    Pre-fail  Always       -       0
187 Uncorrectable_Error_Cnt 0x0032   099   099   000    Old_age   Always       -       531
190 Airflow_Temperature_Cel 0x0032   064   057   000    Old_age   Always       -       36
194 Temperature_Celsius     0x0022   064   057   000    Old_age   Always       -       36 (Min/Max 16/43)
195 ECC_Error_Rate          0x001a   199   199   000    Old_age   Always       -       531
197 Current_Pending_Sector  0x0032   100   100   000    Old_age   Always       -       0
199 CRC_Error_Count         0x003e   100   100   000    Old_age   Always       -       0
202 Exception_Mode_Status   0x0033   100   100   010    Pre-fail  Always       -       0
235 POR_Recovery_Count      0x0012   099   099   000    Old_age   Always       -       32
241 Total_LBAs_Written      0x0032   099   099   000    Old_age   Always       -       600784543494
242 Total_LBAs_Read         0x0032   096   096   000    Old_age   Always       -       8933153696912
243 SATA_Downshift_Ct       0x0032   100   100   000    Old_age   Always       -       0
244 Thermal_Throttle_St     0x0032   100   100   000    Old_age   Always       -       0
245 Timed_Workld_Media_Wear 0x0032   100   100   000    Old_age   Always       -       65535
246 Timed_Workld_RdWr_Ratio 0x0032   100   100   000    Old_age   Always       -       65535
247 Timed_Workld_Timer      0x0032   100   100   000    Old_age   Always       -       65535
251 NAND_Writes             0x0032   100   100   000    Old_age   Always       -       926632054784

SMART Error Log Version: 1
ATA Error Count: 531 (device log contains only the most recent five errors)
    CR = Command Register [HEX]
    FR = Features Register [HEX]
    SC = Sector Count Register [HEX]
    SN = Sector Number Register [HEX]
    CL = Cylinder Low Register [HEX]
    CH = Cylinder High Register [HEX]
    DH = Device/Head Register [HEX]
    DC = Device Command Register [HEX]
    ER = Error register [HEX]
    ST = Status register [HEX]
Powered_Up_Time is measured from power on, and printed as
DDd+hh:mm:SS.sss where DD=days, hh=hours, mm=minutes,
SS=sec, and sss=millisec. It "wraps" after 49.710 days.

Error 531 occurred at disk power-on lifetime: 21909 hours (912 days + 21 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 a0 90 c0 69 40  Error: UNC at LBA = 0x0069c090 = 6930576

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 80 a0 90 c0 69 40 14      00:35:33.170  READ FPDMA QUEUED
  60 80 d8 10 c0 69 40 1b      00:35:33.170  READ FPDMA QUEUED
  60 70 f0 90 c7 69 40 1e      00:35:33.170  READ FPDMA QUEUED
  60 08 80 68 3b 83 40 10      00:35:33.170  READ FPDMA QUEUED
  60 80 88 10 c7 69 40 11      00:35:33.170  READ FPDMA QUEUED

Error 530 occurred at disk power-on lifetime: 21909 hours (912 days + 21 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 a8 00 c0 69 40  Error: UNC at LBA = 0x0069c000 = 6930432

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 10 a8 00 c0 69 40 15      00:35:33.170  READ FPDMA QUEUED
  60 08 40 88 fe 56 40 08      00:35:33.170  READ FPDMA QUEUED
  60 08 58 60 66 5f 40 0b      00:35:33.170  READ FPDMA QUEUED
  60 80 38 80 f9 69 40 07      00:35:33.170  READ FPDMA QUEUED
  60 80 60 00 f9 69 40 0c      00:35:33.170  READ FPDMA QUEUED

Error 529 occurred at disk power-on lifetime: 21909 hours (912 days + 21 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 98 90 c0 69 40  Error: UNC at LBA = 0x0069c090 = 6930576

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 80 98 90 c0 69 40 13      00:35:33.170  READ FPDMA QUEUED
  60 10 d8 d0 3e 76 40 1b      00:35:33.170  READ FPDMA QUEUED
  60 08 f0 70 43 3f 40 1e      00:35:33.170  READ FPDMA QUEUED
  60 08 a0 38 8e 0d 40 14      00:35:33.170  READ FPDMA QUEUED
  60 80 80 10 c0 69 40 10      00:35:33.170  READ FPDMA QUEUED

Error 528 occurred at disk power-on lifetime: 21909 hours (912 days + 21 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 c8 00 8d b3 40  Error: UNC at LBA = 0x00b38d00 = 11767040

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 58 c8 00 8d b3 40 19      00:35:33.169  READ FPDMA QUEUED
  60 80 58 80 7f 69 40 0b      00:35:33.169  READ FPDMA QUEUED
  60 28 28 58 44 78 40 05      00:35:33.169  READ FPDMA QUEUED
  60 58 70 00 44 78 40 0e      00:35:33.169  READ FPDMA QUEUED
  60 80 a0 00 7f 69 40 14      00:35:33.169  READ FPDMA QUEUED

Error 527 occurred at disk power-on lifetime: 21909 hours (912 days + 21 hours)
  When the command that caused the error occurred, the device was active or idle.

  After command completion occurred, registers were:
  ER ST SC SN CL CH DH
  -- -- -- -- -- -- --
  40 51 48 80 68 e6 40  Error: UNC at LBA = 0x00e66880 = 15100032

  Commands leading to the command that caused the error were:
  CR FR SC SN CL CH DH DC   Powered_Up_Time  Command/Feature_Name
  -- -- -- -- -- -- -- --  ----------------  --------------------
  60 28 48 80 68 e6 40 09      00:35:33.169  READ FPDMA QUEUED
  60 80 18 00 7e 69 40 03      00:35:33.169  READ FPDMA QUEUED
  60 80 38 80 7d 69 40 07      00:35:33.169  READ FPDMA QUEUED
  60 58 40 28 cf e8 40 08      00:35:33.169  READ FPDMA QUEUED
  60 28 60 00 cf e8 40 0c      00:35:33.169  READ FPDMA QUEUED

SMART Self-test log structure revision number 1
Num  Test_Description    Status                  Remaining  LifeTime(hours)  LBA_of_first_error
# 1  Short offline       Completed without error       00%     56061         -
# 2  Short offline       Completed without error       00%     56058         -

SMART Selective self-test log data structure revision number 1
 SPAN  MIN_LBA  MAX_LBA  CURRENT_TEST_STATUS
    1        0        0  Not_testing
    2        0        0  Not_testing
    3        0        0  Not_testing
    4        0        0  Not_testing
    5        0        0  Not_testing
  255        0    65535  Read_scanning was completed without error
Selective self-test flags (0x0):
  After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.

The above only provides legacy SMART information - try 'smartctl -x' for more
 

luckylinux

Well-Known Member
Mar 18, 2012
1,713
576
113
Try to get it flashed via SSTK ? GXT52P4Q
Trt to figure out meaning of 6th character. There was a rule about SED drives, might be that yours also is somehow different than typical stock SKU.
I thought usually the "Clue" was in the Drive Model Number itself, i.e. -00005 was stock Samsung, while e.g. -0D3 was Dell OEM etc.

I also couldn't find any Information on my own Firmware Version when I was looking :( .

I don't think I can "dump" the Firmware easily, right, so I may be able to check using HxD (Hex Editor) ?

At best I can probably physically open the Drive and maybe there is a dedicated Flash/ROM Chip I can dump using something like CH341 Adapter. But if not and the Flash is directly integrated in the Controller (plus maybe Hardware Protected, encrypted, etc), then I don't think I can do much, right ?
 

luckylinux

Well-Known Member
Mar 18, 2012
1,713
576
113
Indeed open market/Amazon/Oracle/Dell/etc always was in drive model itself (-xxxxx)
However i do not think cross-flashing between different firmware family was ever possible, also for other Samsung drives incl. 9xx NVMes.

And i think you're facing exactly this issue here. Fact that controller accept uploaded FW doesn't mean it will do replacement internally.
Just weird that it's the same Label / Model Number, yet again a OEM-like customized Firmware :( .
 

luckylinux

Well-Known Member
Mar 18, 2012
1,713
576
113
I am sick of this matter.
But until a person with some in-depth know-how cracks this lockdown and shares instructions how to load the stock/original firmware (JTAG-"hack" / service-mode) i don't see a solution. There are people out there i am sure, but if they signed an NDA?
It's IMHO a crime because of the wasted labor/energy/resources...
I agree with you.

But the Sad Truth is that nobody (except us homelabbers) Cares, we are not their "Customers" on 3rd Hand Drives from 10 Years ago or so :confused: .