We owe messar thanks for getting us started! I applied the information to flash Seagate and HTGS 100 GB 7200 RPM drives.
Riverwillow wrote:
Quote:
The current FW.PRO includes Seagate drives:
;
Code:
Seagate : Momentus 7200.1
;
; ST910021A 100.0GB
"ST910021A","3.06","3.07","m72307.bin","HFus429.exe","","-m m72 -b -v"
Empty "version control phrase". Nowhere for including the "O"/"I" prefix recipe? Does anyone have any clues on how to make one of these drives "ThinkPad Friendly"?
I looked some more at the text in the FW.PRO file, and found a more generic pattern than given in messar’s original post. Take the Seagate Momentus example:
Code:
"ST910021A","3.06","3.07","m72307.bin","HFus429.exe","","-m m72 -b -v"
The first field “ST910021A” appears to be the drive model numbers.
The next fields “3.06”, 3.07” are the current usable versions which the self booting routine which calls the flasher will test the drive with to see if it needs to be updated.
The next field “m72307.bin” is the flash image file to be programmed into the drive.
The next field “Hfsu429.exe” is the flash burning program, provided by the drive vendor.
The following fields are arguments for the flash burning program. Note that these will change with different programs.
As we have seen with the posts for the Hitachi drives, directly entering the flash burning program command from a DOS command prompt bypasses the checking to see if the current FW version is current that is done in the autoexec batch program. Note that some of the flash programming routines check for this themselves, as is the case with Hitachi. The “/f” option tells this program to use a downgraded version. The Seagate routine does accept this option, but it not seem to care if the versions are the same.
Here is a key for those who want to try to flash other drives:
The flash burning programs are provided by the drive vendors, not IBM/Lenovo. You can learn their individual syntax by just typing the command name followed by a “?”, or with no arguments, which generates an error. Both list the “help” message for the command (the good ol’ DOS days)
After playing around with this for some time, I successfully reflashed my Seagate Momentus ST910021A drive. But here is the bad news – For Seagate, flashing does not clear the 2010 error! I suspect that Seagate drives contain a part number, which they change for IBM/Lenovo, that is NOT overwritten with the flash update. For the HTGS drives, flashing does change this.
So bottom line – I don’t think it is possible to remove the 2010 error message with this drive. Flashing older FW (below ver 3.06) up to 3.07 will add the missing SATA commands to prevent the errors which the error message is really trying to protect you from, but you still get the error message. At least the drive will be reliable. (of course if it is already versions 3.06 or 3.07, the needed SATA commands are already there, so flashing is not needed.)
-------------------------
Now, back to the Hitachi. I have a HTGS 721010GAT00 drive that won’t flash using the instructions given by a few members. This drive is a “Dell” model, and the FW version is MCZDA53A, higher that the “A51A” version that the BIOS is looking for. As we have learned, in the case of HTGS drives, the model number that the BIOS checks for the 2010 error IS reprogrammed with a flash upgrade (or in this case, downgrade).
When I try to flash using the command line, I get the error that the drive is not supported. I have tried editing the version phrase and even copying the flash image file name as suggested in the method that works for the OEM drives. My guess is the problem is in the checksum table. Does anyone know how this is used in the Hitachi command? Is it a test before or after the flash programming? I tried to look at the table, but it has non ASCII characters, so I can not edit it easily. There is really no readable ASCII of any interest in the file.
Any ideas how the Hitachi supplied flash program checks for drive compatibility?