Well I bought a new hard drive. Seemed liked a good idea and I suppose still does.
It arrived today. Specifically one of these.
They come with 512e sectors. Obviously I had to try changing that to the native 4096 sector size for... reasons. It went poorly.
First, I grabbed the tools off https://github.com/Seagate/ToolBin/ and began my adventure. I have a USB dock I was using the drive in which presents a uas interface over USB.
Random searches indicated I should upgrade the firmware first and then switch the sector size. Well over on Seagate's site, I entered the serial number, got the firmware and the Readme warns don't use this firmware if it doesn't start with SN02 or SN03. Mine didn't, or so I thought. I figured I had some odd oem drive and decided to skip the firmware upgrade.
Then on to the command to set it to 4096. It seemed safe enough despite the warning that the drive might stop working via a usb adapter so I charged ahead with it. If it broke, I'd just toss it into my desktop and set it back.
Then the fun began. The command reported success and then nothing. Power cycling the dock, the drive would no longer appear at all. Checking dmesg revealed nothing useful. OK, the warning told me this may happen. Shuffled over to a desktop computer, pop'd the drive in and powered it on there.
Things were looking up. In the BIOS, the onboard raid screen showed the drive with the expected capacity but that system was also booting into Windows. Once in Windows, Disk Management wouldn't show the drive. A little concerning, so I went with a reboot to a Fedora Live USB drive.
Once in Fedora, things were mixed. I could detect the drive but all data reads/writes would fail. Worse, the openSeaChest tools have a -i option on all the commands that would give you info on the drive selected. Most of the data was showing Not Reported. There's an _Erase tool, a _FormatUnit tool, and a _Firmware tool.
With openSeaChest_Firmware I noticed my firmware version changed from when I had checked through the USB dock. It was a supported firmware to upgrade from. Oops. Tried upgrading to 04. It seemed to upgrade without issue but my situation didn't really change. I tried various formatting related options but they'd fail. I'd try the various erase options, those failed too. I tried setting the sector size to 512 and again to 4096 but both tries reported errors.
The hint toward my solution actually came from running _PassThroughTest 's --runPTTest telling me the DMA options didn't work, only PIO.
Didn't realize its relevance yet and got more desperate, starting thinking about if I'd be able to RMA because of this... The firmware zip had these "subrelease" firmwares that I warn not to flash without direction from tech support... but I decided to try them anyways. Nothing different seemed to happen but on that odd version I wanted to try setting sector size again. I felt if I could get it to set successfully once I'd be home free and because I was consulting --help pretty much everytime I switched between tools I notice --forceATAPIO and use that and using -i again, I noticed that not reported stuff populated. I used it with set sector size a couple times between 512 and 4096 and it eventually worked! Decided to reset the drive because at this point the reported drive size in Linux was way off and it went back to the right size. Flashed back to the correct latest 04 firmware and it continued to work. Put it in the USB dock and it's working there now too and I have my 4096 sector size!
In conclusion, don't use a usb dock and --forceATAPIO might help reset the sector size to recover drive access.
Post a Comment