Example of an update on a drive with unsupported firmware
Contents
Download the files
To be able to flash with the new firmware, you need to download the iso from IBM. You will also need the appropriate floppy disk file. Yes, this is done using a floppy disk!
I had a 60GB Hitatchi TravelStar HTS548060M9AT00, which is listed as HTS5480xxM9AT00 on the IBM pages, so I downloaded the Floppy disk FWHD3413.exe. Then I burned the iso and I executed FWHD3413.exe to get a bootable floppy disk. Upon booting from the CD, it showed me that I had Firmware revision MGBOA53A and that there was no new firmware.
Prepare the files
Next, I took the floppy with the idea I could update the files on it to get the newest firmware, so I copied over FW.exe and FW.PRO from the CD.
FW.PRO
Now I only needed my firmware update tool and the according Firmware. So I opened FW.PRO and I searched for the according section which looked like this:
; HGST : HTS5480**M9AT00 ; ; HTS548040M9AT00 40.0GB "HTS548040M9AT00","MG2OA50A","MG2OA5PA","MG2IA5PA.bin","hfui12L.exe","IA5PA","/u MRLA5PA.tbl" "HTS548040M9AT00","MG2OA55A","MG2OA5PA","MG2IA5PA.bin","hfui12L.exe","IA5PA","/u MRLA5PA.tbl" "HTS548040M9AT00","MG2OA5BA","MG2OA5PA","MG2IA5PA.bin","hfui12L.exe","IA5PA","/u MRLA5PA.tbl" "HTS548040M9AT00","MG2OA5DA","MG2OA5PA","MG2IA5PA.bin","hfui12L.exe","IA5PA","/u MRLA5PA.tbl" "HTS548040M9AT00","MG2OA5HA","MG2OA5PA","MG2IA5PA.bin","hfui12L.exe","IA5PA","/u MRLA5PA.tbl" ; ; HTS548060M9AT00 60.0GB "HTS548060M9AT00","MGBOA50A","MGBOA5PA","MGBIA5PA.bin","hfui12L.exe","IA5PA","/u MRLA5PA.tbl" "HTS548060M9AT00","MGBOA55A","MGBOA5PA","MGBIA5PA.bin","hfui12L.exe","IA5PA","/u MRLA5PA.tbl" "HTS548060M9AT00","MGBOA5BA","MGBOA5PA","MGBIA5PA.bin","hfui12L.exe","IA5PA","/u MRLA5PA.tbl" "HTS548060M9AT00","MGBOA5DA","MGBOA5PA","MGBIA5PA.bin","hfui12L.exe","IA5PA","/u MRLA5PA.tbl" "HTS548060M9AT00","MGBOA5HA","MGBOA5PA","MGBIA5PA.bin","hfui12L.exe","IA5PA","/u MRLA5PA.tbl" ;
There wasn't any section for my MGBOA53A firmware, so I created it. I just copied the line above it and changed it a little bit. I changed the firmware revision to my revision and /u to /f to force the update:
"HTS548060M9AT00","MGBOA53A","MGBOA5PA","MGBIA5PA.bin","hfui12L.exe","OA5PA","/f MRLA5PA.tbl"
After having done this, I saved the file and I copied all mentioned files in the above section from the CD to the floppy. These were MGBIA5PA.bin, hfui12L.exe and MRLA5PA.tbl
SOMETHING.tbl
Next, I had to change MRLA5PA.tbl because the firmware update exe look for the correct information inside of it. My firmware revision was missing too and I needed a correct checksum so that hfui12L.exe would update my drive's firmware. This is the original file:
;***************************************************************************** ; Revup parameter table for Moraga-LP Family ; 2008/03/14 ; Rev A5?A->A5PA ;***************************************************************************** ; #Parameter Table ;(Format: Table name, Offset[hex], Length[dec]) A50A -> A5PA RAM ZONE Offset 0 Length 912 SRVM Offset 0 Length 1536 CHNL Offset 0 Length 200 CHNL Offset C9 Length 3895 ; A55A -> A5PA RAM ZONE Offset 0 Length 912 SRVM Offset 0 Length 1536 CHNL Offset 0 Length 4096 ; A5BA -> A5PA RAM ZONE Offset 0 Length 912 SRVM Offset 0 Length 1536 CHNL Offset 0 Length 4096 ; A5DA -> A5PA RAM ZONE Offset 0 Length 912 SRVM Offset 0 Length 1536 CHNL Offset 0 Length 4096 ; A5HA -> A5PA RAM ZONE Offset 0 Length 912 SRVM Offset 0 Length 1536 CHNL Offset 0 Length 4096 ; #Checksum Table ; BIN checksum ;moB?axxx.br ;moA?axxx.br ;mo4?axxx.br ;mo3?axxx.br ;mo2?axxx.br ;mo1?axxx.br ;----------------------------------------------------------------------------- ; Apple model ;----------------------------------------------------------------------------- ; BIN checksum 00000000 00000000 00000000 00000000 00000000 00000000 ;----------------------------------------------------------------------------- ; IBM model ;----------------------------------------------------------------------------- ; BIN checksum FA29DE0D F76F94DE 7DF5F7B7 FD2BFC0E E26DB1B2 0C33B80A ;----------------------------------------------------------------------------- ; OEM generic model ;----------------------------------------------------------------------------- ; BIN checksum 00000000 00000000 00000000 00000000 00000000 00000000
Again, I had to add a section for my firmware revision. Because it was exactly the same for all revisions except for one I took one of those and put it between A50A and A55A. This is a copy of A55A with only the revision number changed:
A53A -> A5PA RAM ZONE Offset 0 Length 912 SRVM Offset 0 Length 1536 CHNL Offset 0 Length 4096 ;
Then, hfui12L.exe checks the checksum and the firmware we want to upload doesn't match the OEM checksum, right? So I copied the checksum from the IBM to the OEM section:
;----------------------------------------------------------------------------- ; IBM model ;----------------------------------------------------------------------------- ; BIN checksum FA29DE0D F76F94DE 7DF5F7B7 FD2BFC0E E26DB1B2 0C33B80A ;----------------------------------------------------------------------------- ; OEM generic model ;----------------------------------------------------------------------------- ; BIN checksum FA29DE0D F76F94DE 7DF5F7B7 FD2BFC0E E26DB1B2 0C33B80A
Update the firmware
After all this I booted from the floppy and I updated the firmware. I got some error code and this:
Updating Drive 0 ...reading microcode ...downloading microcode !!!!! FAIL !!!!!
So I thought it had failed, I rebooted and the 2010 Error was gone. Everything works perfectly!
Helpful Links (source of the information)
This guy did it a little bit differently, he didn't have to change all the firmware codes to get it working.
I found another part of the answer in the forum.thinkpads.com and a link to another successful flash on notebookforums.com.
I hope this helps you.