MultiDrive – free backup, clone & wipe disk utility from Atola Technology

All times are UTC - 5 hours [ DST ]


Forum rules


Please do not post questions about data recovery cases here (use this forum instead). This forum is for topics on finding new ways to recover data. Accessing firmware, writing programs, reading bits off the platter, recovering data from dust...



Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: February 24th, 2025, 20:00 
Offline

Joined: February 24th, 2025, 19:17
Posts: 4
Location: България
Hi and thank you for the great community!

I have a 4TB SATA HDD, Dell-branded, model ST4000NM0035, manufactured by Seagate.

I would like to update its firmware, but am having a tough time.
Some notes:

I noticed some strange noise and looked it up online. It seems that this is a common issue with these drives, which is fixed with a firmware update:
https://www.reddit.com/r/homelab/commen ... g_strange/

Seagate does offer some updates, despite finding none in the initial search:
https://www.seagate.com/content/dam/sea ... N-TN05.zip

However, my drive has a firmware revision DA03 and an exact Model Number ST4000NM0035-1V4107.
Seagate explicitly mention that their firmware update (.LOD file) is not suitable as this drive has Dell-specific firmware.

I found two newer firmware updates on Dell's webpage: DA05 and DA06.

I would like to flash the latter, but their download links contain only EXE files for Windows, or a BIN file for Red Hat Enterprise Linux:
https://www.dell.com/support/home/en-us ... erId=R100W

I downloaded the latter, and tried to run it on RHEL (Dell Support Live Image v. 3.0), but it failed.
The same happened when running on current stable Debian.

Dell Nautilus Firmware Update Utility A22 detected a firmware update, but it also failed with some unclear error code:
https://www.dell.com/support/home/en-us ... erId=9RP29

I extracted the firmware file using:
Code:
./Serial-ATA_Firmware_R100W_LN_DA06_A00.BIN --extract firmware_update


I now have the .FWH file under
Code:
firmware_update/payload/Seagate_MakaraBP_DA06.fwh

Nevertheless, it is not compatible with Seagate's openSeaChest_Firmware and SeaChest_Firmware.

As explained by fzabkar,
Quote:
The FWH file is a Seagate LOD file with a Dell header.

https://forum.hddguru.com/viewtopic.php ... wh#p295472

So it seems that the .LOD file can be extracted from the .FWH file.
How to do this, such that I can use it in openSeaChest_Firmware and update the HDD's firmware successfully?

I am thinking of something like:
Code:
dd if=firmware_update/payload/Seagate_MakaraBP_DA06.fwh of=firmware_extracted.lod bs=512 skip=1


This was suggested by chatGPT and it does seem to remove just the header, but is it correct?

Many thanks in advance!

Kind regards,
dando


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: February 25th, 2025, 13:29 
Offline

Joined: February 22nd, 2023, 13:49
Posts: 327
Location: Eastern Europe
It's very easy to brick HDD with the wrong update...


Attachments:
Seagate_MakaraBP_DA06.7z [1008.03 KiB]
Downloaded 826 times
Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: February 28th, 2025, 15:43 
Offline

Joined: February 24th, 2025, 19:17
Posts: 4
Location: България
Many thanks for your fast response, SWM!

What is the chance to brick the HDD with the firmware file you kindly attached?

In the meantime, I made some investigations.

First, I compared the DA06 FWH file (DELL, Seagate_MakaraBP_DA06.fwh) to the TN05 LOD file (Seagate, MakaraBPEntCapSATA-STD-512N-TN05.LOD). It seems that the common part starts after 208 bytes, i.e., this should be the length of the DELL header:
Attachment:
DA06-TN05.png
DA06-TN05.png [ 251.01 KiB | Viewed 42754 times ]


Next, I compared the .LOD file you provided to the .FWH file by DELL.
It seems to have the leading 272 Bytes removed instead:
Attachment:
DA06_LOD-DA06_FWH.png
DA06_LOD-DA06_FWH.png [ 244.97 KiB | Viewed 42754 times ]


If desired, I can also attach the firmware files.
However, they can be downloaded:
1. Dell DA06: https://www.dell.com/support/home/en-us ... erid=r100w
2. Seagate TN05: https://www.seagate.com/content/dam/sea ... N-TN05.zip

Many thanks in advance!


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: March 1st, 2025, 3:28 
Offline

Joined: February 22nd, 2023, 13:49
Posts: 327
Location: Eastern Europe
I cut out for you a piece that HDD understands on command 92H "Download microcode".
I did not study the update headers from different manufacturers.
If the loader does not fit, HDD will not accept it. But often HDD is damaged by an update when the process is interrupted (power outage, reset), or when HDD has a faulty recording in service area.


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: March 1st, 2025, 3:42 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 16955
Location: Australia
@SWM, I see what you've done, and your edited Dell LOD file does match Seagate's earlier retail versions. However, I notice that the latest Seagate retail LOD version (TN05) has an extra 64-byte header. That's what is confusing the OP, and it confuses me, too.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: March 1st, 2025, 13:51 
Offline

Joined: February 22nd, 2023, 13:49
Posts: 327
Location: Eastern Europe
fzabkar, It's very possible that I'm wrong. I have nothing to test it on. Sorry.
The whole question here is, for whom are these 64 bytes. For HDD or for the new update program...


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: March 1st, 2025, 15:07 
Offline

Joined: October 3rd, 2005, 0:40
Posts: 4753
Location: Hungary
the extra 64 bytes are needed in signed LODs.

_________________
Adatmentés - Data recovery


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: March 1st, 2025, 15:42 
Offline

Joined: February 22nd, 2023, 13:49
Posts: 327
Location: Eastern Europe
pepe, Thanks, we'll know.


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: March 1st, 2025, 17:44 
Offline

Joined: February 24th, 2025, 19:17
Posts: 4
Location: България
Thank you very much for the discussion!

I tried to update the firmware with the provided LOD file by SWM.
This was not successful, unfortunately:
Code:
# ./openSeaChest_Firmware -d /dev/sg0 --downloadFW /root/Seagate_MakaraBP_DA06.lod
==========================================================================================
openSeaChest_Firmware - openSeaChest drive utilities - NVMe Enabled
Copyright (c) 2014-2024 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
openSeaChest_Firmware Version: 4.2.0-8_0_1 X86_64
Build Date: Sep 25 2024
Today: 20250301T233712 User: root
==========================================================================================

/dev/sg0 - ST4000NM0035-1V4107 - ZCxxxxxA - DA03 - ATA
.
Automatic deferred download failed. Either the drive does not support this mode
or this is an invalid firmware image for this device.
Retrying the download with segmented download mode to verify.
.
Firmware Download not supported


This was when using the latest openSeaChest_Firmware from github:
https://github.com/Seagate/openSeaChest

I also tried with an older version of SeaChest_Firmware, the one included in the Seagate update package:
Code:
./SeaChest_Firmware_254_1183_64 --downloadFW /root/Seagate_MakaraBP_DA06.lod --device /dev/sda
==========================================================================================
SeaChest_Firmware - Seagate drive utilities - NVMe Enabled
Copyright (c) 2014-2018 Seagate Technology LLC and/or its Affiliates, All Rights Reserved
SeaChest_Firmware Version: 2.5.4-1_18_3 X86_64
Build Date: Oct 18 2018
Today: Sat Mar  1 23:38:44 2025
==========================================================================================

/dev/sg0 - ST4000NM0035-1V4107 - ZCxxxxxA - ATA
Firmware Download failed


In the meantime, I tried updating from within Windows with the official packages by Dell.
This did not work, with the same error message as when using the Linux package.
What is interesting is that this was on a Dell machine, albeit the SATA HDD was directly attached to the motherboard with no HBA or other cards in between.

Kind regards,
dando


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: March 2nd, 2025, 15:44 
Offline

Joined: February 22nd, 2023, 13:49
Posts: 327
Location: Eastern Europe
dando


Attachments:
Seagate_MakaraBP_DA06_Sign.zip [1.12 MiB]
Downloaded 766 times
Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: March 3rd, 2025, 14:15 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 16955
Location: Australia
Header of signed LOD

Code:
Offset(h) 00       04       08       0C

00000000  E71A0E59 01000200 00000000 00001900
00000010  00000000 00000000 00000000 00000000
00000020  00000000 00B01D00 00000000 00000000
                   ^^^^^^^^
                   size of signed LOD = 0x1DB000

00000030  00000000 00000000 00000000 0000D2DB
                                         ^^^^
                                         checksum

Header of unsigned LOD

Code:
Offset(h) 00       04       08       0C

00000040  00000000 00000000 00000000 00000700
00000050  40010000 00000000 00000000 00000000
00000060  00000000 00AE1D00 00000000 00000000
                   ^^^^^^^^
                   size of unsigned LOD = 0x1DAE00

00000070  00000000 00000000 00000000 00009C50
                                         ^^^^
                                         checksum

Signature at end of LOD

Code:
Offset(h) 00       04       08       0C

001DAE40  052994A6 01000001 00000000 00001A00
001DAE50  80010000 00000000 00000000 00000000
001DAE60  00000000 00000000 00000000 00000000
001DAE70  00000000 00000000 00000000 0000CC2D
001DAE80  559C17FC 785FC951 46430D6E 556D5458
001DAE90  C73C979F 206EDA10 5F13A530 2717DA21
001DAEA0  3DA8A9B5 43FC239B F1DC1FFF 57B4C2C8
001DAEB0  472C1E8E 47847A67 3552113C 4C837EED
001DAEC0  0EF858F7 D30DD0A2 BCC8C20E 7797CC5D
001DAED0  D4E68493 B3BA2AC1 1122BC39 81ADC7CD
001DAEE0  B7AD5355 D4AE692D D92A8BDD C625ADE3
001DAEF0  031DCC43 3B3AE0B8 BCE4B3CD 1200DF05
001DAF00  1998EBD8 EE23B06B B3D00882 4C89A755
001DAF10  28E52068 9BDC800D BDEA5348 CB20842E
001DAF20  F0447976 AAC8A418 35792AAB BA1A902B
001DAF30  F91EBD91 60B25A1E 6AD21D85 D7A4F55F
001DAF40  922AA51B 37FAF9EF 50D9126B 30EF10B2
001DAF50  6361757F 6DFF02C6 685373C3 FC251CA7
001DAF60  D2960891 FBDEC1A6 34CE1397 33176C2D
001DAF70  1C750BF7 1E1FFB0C D17ACD5B 5BC8070C
001DAF80  00000000 00000000 00000000 00000000
001DAF90  00000000 00000000 00000000 00000000
001DAFA0  00000000 00000000 00000000 00000000
001DAFB0  00000000 00000000 015B1BB2 6E3E312E  .........[.²n>1.
001DAFC0  332E362E 312E342E 312E3335 38312E38  3.6.1.4.1.3581.8
001DAFD0  2E312E34 30000000 00000000 0000312E  .1.40.........1.
001DAFE0  332E362E 312E342E 312E3335 38312E38  3.6.1.4.1.3581.8
001DAFF0  2E322E31 2E313300 00000000 000001F8  .2.1.13........ø

Could the unsigned LOD have been rejected because it was too long (because of the signature)?

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: March 3rd, 2025, 18:05 
Offline

Joined: October 3rd, 2005, 0:40
Posts: 4753
Location: Hungary
size does not matter, at least not in this way. But missing critical objects from the LOD does.

_________________
Adatmentés - Data recovery


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: March 5th, 2025, 17:04 
Offline

Joined: February 24th, 2025, 19:17
Posts: 4
Location: България
The signed firmware posted by SWM was flashed successfully!

SWM, fzabkar, pepe, many thanks for all your invaluable contributions to the discussion!

As a conclusion:
The leading 208 bytes from the DA06 FWH file (DELL, Seagate_MakaraBP_DA06.fwh) correspond to the the DELL header. After stripping them, the firmware is signed and valid for the update.

This can be achieved with the following command in Linux:
Code:
dd if=Seagate_MakaraBP_DA06.fwh of=Seagate_MakaraBP_DA06.lod ibs=208 skip=1


Afterwards, openSeaChest_Firmware can be used for flashing.

Once again, many thanks! :-)

All the best,
dando


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: April 17th, 2025, 18:32 
Offline

Joined: April 15th, 2025, 15:41
Posts: 10
Location: East pole
Error that I am getting while issuing command
--fwdownload in Hdparm may be of interest here.
It is Samsung SSD 850 PRO in safe mode by connecting two separated pins on the board.
"dparm --yes-i-know-what-i-am-doing --please-destroy-my-drive --fwdownload-mode7 /media/sdb1 RI_PM863_GA38 /dev/sda

/dev/sda:
RI_PM863_GA38.fwh: file size (1049024) not a multiple of 512"


RI_PM863_GA38.fwh File is taken from Dell update package for this model Samsung 850 pro 512Gb
It wont recognize it in Samasung Fw utility nor execute secure erase command.
It is signed as Samsung SSD 0000 model.
I am also receiving errors with samsung.py script for decoding original fw package.
Is someone would help me here I would be thankful.


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: April 17th, 2025, 20:24 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 16955
Location: Australia
Strip off Dell's header.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: April 17th, 2025, 20:53 
Offline

Joined: April 15th, 2025, 15:41
Posts: 10
Location: East pole
fzabkar wrote:
Strip off Dell's header.


"dd if=Seagate_MakaraBP_DA06.fwh of=Seagate_MakaraBP_DA06.lod ibs=208 skip=1"

So I can use same command in the Gparted with the name of dell fw but how I will know how how many "ibs" to cut?
Is it there some other program to open it and see it like on thef images on the previous posts?
Thanks.
"failed to open ri..(Dell file)"
Stuck again.


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: April 17th, 2025, 21:10 
Offline
User avatar

Joined: September 8th, 2009, 18:21
Posts: 16955
Location: Australia
I don't know the size of the header in your case. It's not always the same. You need to make an intelligent assessment, preferably by comparison with standard Samsung firmware payloads.

_________________
A backup a day keeps DR away.


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: April 17th, 2025, 21:21 
Offline

Joined: April 15th, 2025, 15:41
Posts: 10
Location: East pole
I see it somewhere before and I can calculate with multiplier of 512 from error message but it will be simple if you can upload origin decoded file from Samsung fw like on the github site od samsung py script because "dd" command wont open Dell fw file. :|
https://github.com/chrivers/samsung-firmware-magic


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: April 18th, 2025, 4:46 
Offline

Joined: April 15th, 2025, 15:41
Posts: 10
Location: East pole
Could you please just upload EXM04B6Q_10170217.enc > EXM04B6Q_10170217.bin

It is simple because I am receiving errors both with opening Dell fw file and encoding Samsung origin fw file.
What is Linu distro that will work here and may be I can use size of your uploaded file for later model of Samsung SSD from this topic:

EXT0DB6Q.enc.decoded.7z [306.01 KiB]


Top
 Profile  
 
 Post subject: Re: Extract .LOD file (Seagate) from .FWH file (Dell)
PostPosted: April 18th, 2025, 12:19 
Offline

Joined: February 22nd, 2023, 13:49
Posts: 327
Location: Eastern Europe
svetoklik,


Attachments:
RI_PM863_GA38.zip [421.58 KiB]
Downloaded 754 times
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 28 posts ]  Go to page 1, 2  Next

All times are UTC - 5 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group