Fusion-io ioDrive 2 1.2TB Reference Page

acquacow

Well-Known Member
Feb 15, 2017
594
310
63
39
You're fine with 3.2.15 windows...

I think the 3.2.16 firmware is the same, there was just a driver update for linux for the RHEL 7.5 or 7.6 kernel... some io elevator change...
 

jcarron2

New Member
May 20, 2020
6
2
3
Thanks for the help - I added these lines to the INFO file after unzipping the firmware, but the reported firmware didn't change...?

I attempted to update the card to the newer firmware using the VSL version that was working with the card (the older one).

I added the 2 part numbers into the info file on the 3.2.15 firmware, per below, and flashed

Code:
added the 2 part numbers:

[00214102104]
version = 7.1.17.116786
file = gen1_39_green_mono_fusion_7.1.17.116786.bin
format = bin
ecc = 39b
avrversion = 65793
avrfile = iomono_avr_65793.bin
avrformat = bin

[00119200000]
version = 7.1.17.116786
file = gen1_39_green_mono_fusion_7.1.17.116786.bin
format = bin
ecc = 39b
avrversion = 65793
avrfile = iomono_avr_65793.bin
avrformat = bin
flash-success.png

...looked good at this point, or so I thought!

status.png

shows firmware is still 101583, even though new firmware is activated ??

I decided tried one more time... reports already upto date, and then some odd message about can't find the firmware in the FFF file again?

flash-failing.png

I decided to try forcing the flash, which did flash the card again, and seemed to overcome the above error, however again the reported firmware version remains at 101583 ...aaahh!

force-flashing.png


I did try using the newer sandisk VSL drivers as well to do the flash ( version 3.2.15) , however, the reported error doesn't make sense... can't find "00214102104" - but it is indeed in the INFO file, I guarantee it!

try-new.png

Any idea where I messed up ?

When I use the newer VSL drivers, 3.2.15, and try a force switch, it just gives the same error:

Code:
C:\Program Files\Common Files\VSL Utils>fio-update-iodrive.exe c:\temp\dell_iodrive_3.2.11-20150618-upd3.fff -f -d /dev/fct0
WARNING: DO NOT TURN OFF POWER OR RUN ANY IODRIVE UTILITIES WHILE THE FIRMWARE UPDATE IS IN PROGRESS
  Please wait...this could take a while

Updating: [====================] (100%)
Error: Firmware file does not contain firmware for device '/dev/fct0', part '00214102104'.

fio-status -a output with VSL 3.2.15 drivers:



C:\Program Files\Common Files\VSL Utils>fio-status -a

Found 1 ioMemory device in this system
Driver version: 3.2.15 build 1699

Adapter: Single Adapter
        Fusion-io ioDrive 640GB, Product Number:FS1-004-640-CS, SN:602555, FIO SN:602555
        Pseudo Low-Profile ioDIMM Adapter, PN:00119200000
        External Power: NOT connected
        PCIe Bus voltage: min 11.61V max 11.82V
        PCIe Bus current: max 1.54A
        PCIe Bus power: max 17.92W
        PCIe Power limit threshold: 24.75W
        PCIe slot available power: unavailable
        Connected ioMemory modules:
          fct0: Product Number:FS1-004-640-CS, SN:602555

fct0    Status unknown: Driver is in MINIMAL MODE:
                The firmware on this device is not compatible with the currently installed version of the driver
        ioDrive 640GB, Product Number:FS1-004-640-CS, SN:602555
!! ---> There are active errors or warnings on this device!  Read below for details.
        ioDrive 640GB, PN:00214102104
        Powerloss protection: not available
        PCI:01:00.0, Slot Number:2
        Vendor:1aed, Device:1005, Sub vendor:1aed, Sub device:1010
        Firmware v5.0.6, rev 101583 Public
        Geometry and capacity information not available.
        Format: not low-level formatted
        PCIe slot available power: unavailable
        PCIe negotiated link: 2 lanes at 2.5 Gt/sec each, 500.00 MBytes/sec total
        Internal temperature: 42.33 degC, max 42.82 degC
        Internal voltage: avg 1.00V, max 2.38V
        Aux voltage: avg 2.47V, max 2.38V
        Rated PBW: 10.00 PB
        Lifetime data volumes:
           Physical bytes written: 0
           Physical bytes read   : 0
        RAM usage:
           Current: 0 bytes
           Peak   : 0 bytes

        ACTIVE WARNINGS:
            The bandwidth of the PCI slot is not optimal for the ioMemory.
            The ioMemory is currently running in a minimal state.


C:\Program Files\Common Files\VSL Utils>
I did try rebooting as well, but that didn't seem to change anything in this case.

Should I try doing this on a linux box instead of windows perhaps?

Again, this is a IBM branded one ?

thanks for any advice!

Jonathan
 

Marsh

Moderator
May 12, 2013
2,308
1,110
113
@jcarron2

I have the IBM version highiops_3.2.8-20140508.fff firmware

VSL Firmware Date
3.2.8 7.1.17.116786 20140508

32mb file, let me know if you want it.
 

jcarron2

New Member
May 20, 2020
6
2
3
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"

FIO-versions.png

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
 
Last edited:
  • Like
Reactions: gb00s and lowfat

acquacow

Well-Known Member
Feb 15, 2017
594
310
63
39
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 seem to stop at 3.2.16, ioDrive2 goes upto 4.x )
ioDrive and ioDrive2 both use up to the latest VSL 3.x.x and cannot use VSL 4.x.x

ioDrive3 aka SX/PX 300/350/600 are all VSL 4 cards and cannot use VSL3 or earlier.

Glad you're all up and running!

-- Dave
 
  • Like
Reactions: jcarron2

nerdalertdk

Fleet Admiral
Mar 9, 2017
172
77
28
::1
You can find the driver for Kernel 4.19 here for PX600 cards

Only tested on Debian 10

The firmware file have the PX600-1000 fix for Cisco cards


Debian 10 change to GCC 8 which made the official one unable to compile
 

Tourman

New Member
Nov 24, 2016
21
17
3
38
You can find the driver for Kernel 4.19 here for PX600 cards

Only tested on Debian 10

The firmware file have the PX600-1000 fix for Cisco cards


Debian 10 change to GCC 8 which made the official one unable to compile
That's just the original source code. If you run vsl4 I'd recommend using our fork under a 5.x kernel instead.

 

nerdalertdk

Fleet Admiral
Mar 9, 2017
172
77
28
::1
That's just the original source code. If you run vsl4 I'd recommend using our fork under a 5.x kernel instead.

Haha had not seen you also had the driver for vsl4, but Debian 10 coms with kernel 4.19 so don't think i can use you repo
 

Tourman

New Member
Nov 24, 2016
21
17
3
38
Haha had not seen you also had the driver for vsl4, but Debian 10 coms with kernel 4.19 so don't think i can use you repo
Yeah our fork needs 5.x, so you need to use a later version of Debian. I honestly don't recommend running the original code, it's just a giant mess. We support up to Kernel 5.6 so far, and 5.7 I believe is in testing. 4.19 is quite old eitherway, several years old now.

Check out our discord: Join the fusion-io Discord Server!
 

tx12

New Member
May 17, 2019
18
22
3
Hope they'll eventually open source or leak their drivers.
Lots of tricks were put inside the wrapper code only to bypass GPL symbol restrictions, leading to limited kernel compatibility.
But they'll probably decide to bury this dead IP together with the hardware.

Thanks Toruman for doing 5.x upgrades.
 

Tourman

New Member
Nov 24, 2016
21
17
3
38
Well 4.19 comes with Debian 10, so that's what I use, I what to follow debian release cycle
Honestly Debian is very much behind the ball at this point. I prefer running Ubuntu and Fedora over pure Debian since they ship with such an old Kernel. At least you aren't stuck running CentOS 8.
 

Tourman

New Member
Nov 24, 2016
21
17
3
38
Hope they'll eventually open source or leak their drivers.
Lots of tricks were put inside the wrapper code only to bypass GPL symbol restrictions, leading to limited kernel compatibility.
But they'll probably decide to bury this dead IP together with the hardware.

Thanks Toruman for doing 5.x upgrades.
If by bypass you mean re-writing GPL code at the block layer: yes. We removed all of that crap and tried to use native types and functions as much as possible. However since we don't have the hw driver source code, our options are limited. They will never open source it, they will bury it.
 

tx12

New Member
May 17, 2019
18
22
3
Real solution would be to make an NVMe firmware for gen3 :) Of course, nobody would invest in such a crazy redevelopment of an old hw.
But for a real hardware enthusiast freak this gen3 platform would make a good development platform to train NVMe skills :)
 

acquacow

Well-Known Member
Feb 15, 2017
594
310
63
39
Real solution would be to make an NVMe firmware for gen3 :) Of course, nobody would invest in such a crazy redevelopment of an old hw.
But for a real hardware enthusiast freak this gen3 platform would make a good development platform to train NVMe skills :)
What if I told you all of that engineering was already done, but it was all just killed in favor of other products?
 

EffrafaxOfWug

Radioactive Member
Feb 12, 2015
1,285
439
83
Honestly Debian is very much behind the ball at this point. I prefer running Ubuntu and Fedora over pure Debian since they ship with such an old Kernel.
<derail>
It's done for stability reasons (especially in the light of some of the ABI crap that some vendors like to pull as seen here). For users that want to keep on the stable tree but need a newer kernel, there's the backports packages that take the kernel from testing instead.
</derail>
 
  • Like
Reactions: nerdalertdk