Hi,
BIG thanks to help from everyone at the
iomemory-vsl Discord channel, I was able to update the firmware in my ioDrive card.
Note ioDrive and ioDrive2 cards are different - they probably follow a similar procedure based on the below (per observation - the available firmware version may differ - ioDrive / ioDrive2 seem to stop at 3.2.16 )
There were two issues I wasn't aware of when trying to update my present card (which is a 640 GB IBM branded ioDrive ).
1. The firmware sets I were trying to use were incomplete (see below where to find them for 2020Q2).
2. "Certain firmware" upgrades must go to the next revision, you cannot skip to a higher version without completing the prerequisite so to speak.
My ioDrive, was currently running 2.2.3 (fio-status -a shows this as firmware 101583), and in order to goto 3.x, I needed to flash the last version of 2.x, which I wasn't able to find on the dell-sandisk site. The last version of the 2.x firmware for reference is 2.3.10 - shows as firmware 107053 (in fio-status -a).
Notes:
- VSL (software) must be the same version as the firmware you're flashing onto the card, or intending to use.
- Flashing a "newer" firmware on a card - means that you load the VSL software for that release, and use the fio-update-card command to do this.
- As of 2020Q2 - the firmware files are either a separately downloaded file from the site below, or are included in the VSL suite (when installing make sure you expand all choices and choose "This feature will be installed on local hard drive" for firmware.
- fio binaries are installed under c:\program files\common files\VSL Utils
- if the VSL suite comes packages /w firmware, then look under c:\program files\Fusion-io ioMemory VSL\Firmware for a file, like iodrove_107053.fff )
Getting started:
1. Visit
Home or portal.wdc.com/support , create an account, and sign in.
2. Navigate to downloads, select ioDrive (or ioDrive2 if you have a ioDrive2), and select your OS, and then select and download desired firmware versions.
3. Install the VSL suite, and see if fio-status -a gives you any output - refer to the below table to determine what version you have if needed.
If you're not sure where to start, I suppose you will need to pick a version, I'd suggest the latest wintel - 3.2.15, or 3.2.16 linux, and run fio-status -a and look for a line containing the firmware version (this seemed to work for me regardless of the VSL version I was using, but may not in all cases - eg, may need to trial and error a bit).
Example of line: " Firmware v6.0.2, rev 108609 Public"
The number 108609 indicates the current firmware installed on the card. In my case my ioDrive card arrived with 2.2.3 / 101583, and I was not able to flash a newer version. In order to do so, I needed to flash the last of the 2.x firmware, which was 2.3.10 / 107053.
I downloaded 107053, and install the VSL, and put the firmware in an easy place to type on the command line.
4. Open a admin command prompt, and change directory to the VSL binary directory, and execute the command fio-update-iodrive.exe path_to_ffff file.fff (eg iodrive_108609.fff)
At this point, the upgrade should begin, and take a few minutes - note in my case the ioDrive was erased - be cautious if there is information on the ioDrive you require.
If you get a message, that the PN doesn't match, you will need to rename the firwmare file .fff to .zip, and extract the contents to a directory, and update the INFO file.
In my case my IBM branded card PN was already included in the INFO file, and I didn't need to actually do this step, as I'd done previously with the dell-sandisk firmware updates.
If you do get that message, my best suggestion is to ping the folks on discord to find out what family of card you can copy inside the INFO file, and plug your part numbers into.
5. Shutdown the machine, and power it back up, cold boot is required to activate the new firmware.
VSL folks, if anything in the above is incorrect, please let me know and ill update it.
edit: fixed above regarding incorrect VSL versions for ioDrive2 comment...
Good luck everyone - Jonathan