|I probably won't be following this thread so much because of it's nature, if I don't reply in a day of two you can send me a pm.|
This isn't a question, just putting this info here so people searching like I was for a way to flash the bios of the IT8212 ATA 133 pci card when ITE's utility fails. I have also added this stuff to other forums....
Firstly this procedure works for me on a IT8212F based card that uses a SST 39VF010 flash memory chip; the card was made by ritmo.
These cards are made by many manufactures (kind of like how graphics cards are made around nvidia and ati chips) and some use once writable chips, if this is the case short of replacing the flash rom your stuck with your bios. Some tie write enable line either high or low as applicable, short of modding the card or replacing the bios with a preflashed chip these cards are in the same boat. Of course replacing the flash rom wouldn't be much of a problem if these componies used a socket, but most don't and who likes to solder sub-milimeter leads with sub-milimeter spacing??
The bios, drivers and flash utilities for the IT8212 are here. I would suggest archiving a copy if you own this card as it is no longer supported and some of the smaller manufactures have a habit of deleting old support files...... I have also uploaded a full archive to driversguide.
I assume no responsibility for cards that may be killed or any damage that may be done! Use at your own risk! Make a backup you can access without using the IT8212, perhaps use seperate disks, one for the backup and one for writing the bios, so you can (hopefully) use the backup if anything goes wrong. It may also be possible to damage other devices if the wrong device is selected (Also see the uniflash documentation. These instructions are probably best suited to advance users, but provides enough info for fearless noobs to break something.
By all means try ITE's utility first, I did but it didn't work for me.... If it works great - Go away you don't need the rest of this. If you get verify [failed] or something similar there *may* still be some hope. Turn off the pc and remove the IT8212 card, there should be two chips on it, one marked IT8212F and another one(mine was a SST 39VF010). Write down the numbers on the second chip, the very top number(not including any branding) is normally the winner. Search the web for "datasheet <partnumber>" and try to find the datasheet for the flash chip somewhere, it's normally pretty easy. Read the device description, if is says anything along the lines of "one time programmable" or the like forget it, if it say "reprogrammable" or something similar there is still hope.
Uniflash is good utility for this sort of thing - so long as it supports the chip in question and the chipset of your mainboard. It flashed my card with a minimum of fuss(but there is a trick to it) I used version 1.47re of uniflash. There is a download link in the second last post on this forum at the time of writing, it it's not there search the web.
Now we need a dos boot disk with as little clutter as possible, the boot disks Xp make are fine (my computer>right click on floppy>format>create a ms-dos start up floppy>start). If you don't have a floppy drive find out how to use a usb flash drive, cd's are no good, we need writable media. Extract uniflash.exe from the archive/zip (if any) and copy it onto the boot disk.
Now boot from the floppy disk, when at the a:\ prompt type in "uniflash -pcirom" and you will be brought to a menu of pci devices. For the IT8212 we want the device marked with the "Bus xx device xx function xx (VEN=1283, DEV=8212, yyy max", xx will be dependand on you configuration, take note of what the x's are in this form bus:device:function, we will need these numbers for double checking. If you change you configuration (ie changing pci slots) these numbers should change. The VEN=1283 and DEV=8212 should be constant accross every system with this card installed. The yy max will be the capicity of your card's bios rom.
If there are no devices listed as VEN=1283 DEV=8212 then you may be out of luck, don't just try this with any of the devices listed, you will probably break something. The id's 1283(0x1283) and 8212(0x8212) are pci id's, the ven is the vendor ID this is unique to each manufacturer(ITE's is 1283), it is the same with all of there devices from the manufacturer in question while the dev is the device which is unique only to the device (Suprisingly enough the device for the IT8212 is 8212 - confusing no?). Search the device and vendor id's to get as much information as possible before attempting anything like this, unless you are brave enough to buy a new pc...
Select the corresponding item from the menu for the IT8212 (The version of uniflash I uses required me to type the number in multiple times until it became selected - the number below the listed items marked "Select" will change to the number your selecting) and hit enter. Be certain to choose the right device, if you don't you could do some damage. Double check you are working with the right device, the device specs will be towards the top of the screen after you select it, look for the line "Selected PCI Card: PCI or AGP card at xx:xx:xx" the x's will be the information you noted detailed above.
Choose "Write backup BIOS image bios to file" and type in a file name(short and simple is easier, the default backup.bin is fine). This will make a backup of the current bios which is important for two reasons; 1. if anything goes wrong you should be able to restore the backup and 2. we need to know the exact file size. Re-boot into your normal os.
Here is the trick I mentioned - check the file size of the backup compared to the bios from ite's site. You can use the properties menu in windows(if that's what you are using) but Make sure you use "size" and NOT "size on disk", always use the size in bytes because the size in kbytes is normally rounded; we need to be exact! If they are the exact same size to begin with then you can skip the rest of this paragraph along with the next two. If they are different sizes we will need to pad the file so uniflash doesn't complain about mismatched file sizes.
Now we need a hex editor, If you are using windows I recomend HxD. After you have installed your hex editor open the bios file from ITE and scroll to the very end of the file, the last offset(list on the left hand side) should be BFF0 (0000BFF0) and the last byte should be in the 0F column. Now also open the backup that uniflash made in your Hex editor(it's probably a good idea to copy to the hard disk first for quick editing), your hex editor may or may not be tabbed(HxD is), be sure you are in the backup bios window/tab. We need to jump to the start offset C000 for (HxD hit the keyboard shortcut <CTRL>+<G> select "hex" and "begining" and type in "C000" then click ok), for anything else you have to figure it out.. The curser will be at the point that the actual bios runs out but the chips capacity keeps going... The extra bytes will be typically all be FF, but use whatever is there(it should all be made up of a byte repeated over and over). The easy way to do this is to copy all of the extra bytes (for HxD from the offset we jumped to without moving the curser beforehand <SHIFT>+<CTRL>+<END> lift the shortcut <CTRL>+<C>) Now go back to the bios file ITE, put the curser and the very end of the file (<CTRL>+<END>) and paste all of the bytes you copied from the backup.
Now your new bios file should be EXACTLY the same except at the very end of the file there are bytes(probably ff) that pad the file to EXACTLY the same size as the backup uniflash made. If the new file is not the same size, start again. If they are not right the second time check the final offsets of your bios files, and generally try to figure out what I am outlining (Come on people we are on a tight schedule!!!).
Now we presumably have a valid bios (so long as the pading has been done properly, if applicable) that we need to flash to the card, be sure it has a short easy name like "atapi.bin" or "raid.bin" because dos has 8dot3 file name limitations. Copy the bios file to your boot disk (you may need to make some space first by moving the backup to the harddisk or use a second boot disk) boot the disk the same as before, But this time TRIPPLE check you have the right device (VEN=1283, DEV=8212) and don't forget to check the "Selected PCI Card: PCI or AGP card at xx:xx:xx" as outlined above.
To flash the new bios to the card select "Flash BIOS image INCLUDING bootblock", type in the file name "raid.bin" or "atapi.bin" and hit "y" when prompted. Uniflash will got through the flash process, if all goes well your IT8212 should have a new bios, hit quit and reboot, you should see the new bios number when booting.
If the flash fails you may be in some trouble, reboot to see if the raid card still functions, if it does you either have a chip that is either not supported by uniflash, once writable, or has write/erase pins(if applicable) not connected or there is something wrong with the bios file. If the card seems to be dead: 1. see the disclaimer above. 2. try to write the back up you made back to the card.
I can offer no help if the flash fails as these cards are made by many manufactures, with many differend flash roms. Although if uniflash manages to flash the rom bad I don't see any reason why it wouldn't be able to at least restore the backup, but this didn't come up with my IT8212.