You are not logged in.

#1 2015-04-03 14:35:15

gshearer
Member
From: Cincinnati, OH, USA
Registered: 2014-01-14
Posts: 54

Copy SATA drive firmware from one to another (identical drives)

Hey all,

  Figured this is worth a post before I give up. So, I bought a bunch of 5TB Seagate USB3 drives. Amazon has had them for around $129 for awhile now, it was time to refresh my media storage array. For whatever reason, they are cheaper than the internal version which seems to go for around $159. They are easily removable from the external enclosure, so figured I'd save a few bucks.

  Anyway, as my luck would have it, I get weird SATA errors under heavy load, usually writes. I figured Seagate might have intentionally crippled the firmware to only work with their enclosure, but now I'm not so sure. I don't seem to be having the problem out of one of my drives, which has version "CC47" of the firmware. The others have various versions between "CC44" and "CC46". Of course, theres no update on Seagate's site for this drive.

  I'm wondering if there's a way (preferably under Linux) to rip the firmware from one drive, and flash it to the others? It's probably something I'll be chicken to do, regardless, but still curious. I've checked the obvious tools, hdaprm/sdparm/etc but don't see a way to do it. And honestly, if it requires that I install Windows somewhere to tinker with this that'll probably be enough hassle for me to just ebay'em.

Drive info:

[doc@server] ~ $ for x in c e f j k; do sudo hdparm -i /dev/sd$x; done | grep Model
 Model=ST5000DM000-1FK178, FwRev=CC44, SerialNo=W4J07D2F
 Model=ST5000DM000-1FK178, FwRev=CC44, SerialNo=W4J07BV3
 Model=ST5000DM000-1FK178, FwRev=CC44, SerialNo=W4J05KR0
 Model=ST5000DM000-1FK178, FwRev=CC47, SerialNo=W4J0ENF4
 Model=ST5000DM000-1FK178, FwRev=CC46, SerialNo=W4J0CR00

--
George Shearer
doc at lame dot org
Linux Nerd since the MCC Interim Days

Offline

#2 2015-04-03 15:26:27

alphaniner
Member
From: Ancapistan
Registered: 2010-07-12
Posts: 2,810

Re: Copy SATA drive firmware from one to another (identical drives)

It couldn't hurt to try contacting Seagate. Note that if you give them serial numbers they will know the drives were sold as "components" and may refuse to provide any service, so it's probably best to withold that as long as possible. I'd just tell them I have a number of ST5000DM000s with varying f/w levels and that only the one with CC47 is working as expected.


But whether the Constitution really be one thing, or another, this much is certain - that it has either authorized such a government as we have had, or has been powerless to prevent it. In either case, it is unfit to exist.
-Lysander Spooner

Offline

#3 2015-04-03 18:49:22

gshearer
Member
From: Cincinnati, OH, USA
Registered: 2014-01-14
Posts: 54

Re: Copy SATA drive firmware from one to another (identical drives)

I through a post out on their community forums, let's see what happens. I anticipate crickets chirping, but what the heck.

In the mean time, anyone know of a way (in Linux) to do this?


--
George Shearer
doc at lame dot org
Linux Nerd since the MCC Interim Days

Offline

#4 2015-04-04 11:16:31

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Copy SATA drive firmware from one to another (identical drives)

Have you tried to go to their support page [1] and see if there are firmware updates available? I'd use the part number instead of the serial number first and see if it works.

[1] https://apps1.seagate.com/downloads/request.html


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#5 2015-04-04 22:03:38

gshearer
Member
From: Cincinnati, OH, USA
Registered: 2014-01-14
Posts: 54

Re: Copy SATA drive firmware from one to another (identical drives)

Yep - Thats the first place I looked, but they have nothing posted for this drive.

I stumbled onto something that is interesting, but need someone who's more familiar with file systems than I.

It seems that I can use NTFS on these drives and they work fine. I've been beating on them for hours now with no errors whatsoever. I've tried everything else, I've tried deadline/noop I/O schedulers, I've tried limiting bandwidth with rsync (--bwlimit), I've tried different chipsets... intel, asmedia, jmb, marvell, and silicon image. All scenarios fail within 30 minutes of heavy writes (note, reads work just fine).

So I thought I'd try ntfs just for the heck of it. Its working! Wtf?  I can only summize that the firmware on these drives are written such that they are expecting sector/block writes in the "style" of ntfs.

Interestingly, NTFS writes are about 10MB/sec faster too.


--
George Shearer
doc at lame dot org
Linux Nerd since the MCC Interim Days

Offline

#6 2015-04-05 16:28:11

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Copy SATA drive firmware from one to another (identical drives)

gshearer wrote:

So I thought I'd try ntfs just for the heck of it. Its working! Wtf?  I can only summize that the firmware on these drives are written such that they are expecting sector/block writes in the "style" of ntfs.

Interestingly, NTFS writes are about 10MB/sec faster too.

I knew that SD cards have a specific optimization for fat filesystems, but it is the first time I've heard of such thing for a hard drive.

One thing you mention about speed, on linux ntfs is usually much slower than native filesystems, are you sure you have properly aligned the partition? Does hdparm -I report the correct physical sector size for the drives? I know all tools should now align things properly to take into account 4k sector drives but double check that.

Related to this, I was wondering if you took note of the partition layout of the drives and filesystem before you started doing changes, and if there is anything about off by one alignment correction (I suspect that no new drive has this feature these days).

One interesting test would be to run badblocks on the drives that fail and see if you can trigger the problem. It might also be interesting to see which block size ntfs uses for those drives and compare that with whatever native filesystem you were using.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#7 2015-04-05 17:15:11

gshearer
Member
From: Cincinnati, OH, USA
Registered: 2014-01-14
Posts: 54

Re: Copy SATA drive firmware from one to another (identical drives)

You might have stumbled onto my issue. I'm going to test now. I have not bee using partitions with these devices at all, I have been using Linux dm-crypt to encrypt the entire device, and I was putting an ext4fs directly on the /dev/mapper device. But with NTFS, I used gdisk to make a GPT partition of type 7, then mkntfs'd that.

I bet this absolutely has to do with alignment. Testing theory now.


--
George Shearer
doc at lame dot org
Linux Nerd since the MCC Interim Days

Offline

#8 2015-04-05 17:33:55

gshearer
Member
From: Cincinnati, OH, USA
Registered: 2014-01-14
Posts: 54

Re: Copy SATA drive firmware from one to another (identical drives)

SIgh. Yep. Confirmed. Partitions make these drives happy regardless of FS. Using ext4 now happily.  Hey man,  really appreciate your time. Saved me some ebay grief smile

Also, sorry Seagate! My bad.


--
George Shearer
doc at lame dot org
Linux Nerd since the MCC Interim Days

Offline

#9 2015-04-05 17:43:45

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Copy SATA drive firmware from one to another (identical drives)

No problem smile

On the other hand you should still curse and shame Seagate, the drives should not throw errors even if bombarded with misaligned writes. You may also be able to tweak either the FS or dm-crypt parameters(1) to keep the drives happy even without partitions.

(1) Check the man page of cryptsetup if you are using it to setup luks. If the defaults don't work a little tweaking might help.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#10 2015-04-05 18:15:42

gshearer
Member
From: Cincinnati, OH, USA
Registered: 2014-01-14
Posts: 54

Re: Copy SATA drive firmware from one to another (identical drives)

Yeah, I was just looking into that.. partitions kinda ruin my current "plausible deniability" solution :-/


--
George Shearer
doc at lame dot org
Linux Nerd since the MCC Interim Days

Offline

#11 2015-04-05 22:22:15

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,739

Re: Copy SATA drive firmware from one to another (identical drives)

gshearer wrote:

Yeah, I was just looking into that.. partitions kinda ruin my current "plausible deniability" solution :-/

<paranoid> Perhaps there is a mandate the drives behave that way neutral </paranoid>


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#12 2015-04-06 10:14:58

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Copy SATA drive firmware from one to another (identical drives)

ewaller wrote:
gshearer wrote:

Yeah, I was just looking into that.. partitions kinda ruin my current "plausible deniability" solution :-/

<paranoid> Perhaps there is a mandate the drives behave that way neutral </paranoid>

Hmm could be, but I'd dismiss it as another case of (in order of probability):
- Works with one OS as it is sold to customers? Great, job done, don't bother checking for anything else.
- Nasty easter egg for people buying external drives and repurposing the hard disk for other uses.

I'm inclined to believe option number one since drives with a more recent firmware behave properly.


Regarding the plausible deniability theme, if I'm not mistaken it has been discussed a few times before and I think the conclusion was always that it is a red herring.

How can you explain you have one or more drives filled only with what seems to be random data and not raise a strong suspicion the drive is encrypted? Also don't forget to put the luks header in another drive otherwise you have no chance of convincing anyone that the drive isn't encrypted.

This also applies if dealing with powerful adversaries: https://xkcd.com/538/


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#13 2015-04-06 14:04:25

ewaller
Administrator
From: Pasadena, CA
Registered: 2009-07-13
Posts: 19,739

Re: Copy SATA drive firmware from one to another (identical drives)

Rookie:  I agree completely.  All joking aside, that is probably an accurate assessment.  Especially your first bullet point.  And, of course, Munroe's humor is usually spot on.


Nothing is too wonderful to be true, if it be consistent with the laws of nature -- Michael Faraday
Sometimes it is the people no one can imagine anything of who do the things no one can imagine. -- Alan Turing
---
How to Ask Questions the Smart Way

Offline

#14 2016-01-21 21:56:52

Devonavar
Member
Registered: 2016-01-21
Posts: 1

Re: Copy SATA drive firmware from one to another (identical drives)

@gshearer:  Did you ever manage to find a firmware update?  I have exactly the same issue with two of my drives, and I'm not optimistic about getting a firmware out of Seagate.  Worth a try though...

Offline

#15 2016-01-22 22:05:34

Soukyuu
Member
Registered: 2014-04-08
Posts: 854

Re: Copy SATA drive firmware from one to another (identical drives)

Since the thread was bumped out of oblivion already, I thought I'd comment on this part

R00KIE wrote:

On the other hand you should still curse and shame Seagate, the drives should not throw errors even if bombarded with misaligned writes.

I have a ST2000DM001 that doesn't show this issue. It's a dmcrypted btrfs drive and does the things it should just wonderfully.

Since the OPs drives are 5TB, it reminded me of this thread, the issue is likely to be related, imho, instead of being "just" a case of lazy Seagate checking NTFS only.

edit: looks like the OP even posted in that thread...

Last edited by Soukyuu (2016-01-22 22:11:44)


[ Arch x86_64 | linux | Framework 13 | AMD Ryzen™ 5 7640U | 32GB RAM | KDE Plasma Wayland ]

Offline

#16 2016-01-22 23:16:52

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: Copy SATA drive firmware from one to another (identical drives)

After re-reading the thread I see the OP got the problem solved. The solution seems to be to align the partitions properly. The problem with SMR drives is probably not related, it's the same brand but different drives and different points in time.

Closing.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

Board footer

Powered by FluxBB