Fusion-io ioDrive 2 1.2TB Reference Page

Felipe Leonardo

New Member
Dec 3, 2020
1
0
1
No, you can't boot from it w/o a TON of UEFI hackery that I haven't had time to look into.
I have a Mac Pro 2009 and I intend to keep on OSX 10.9 Mavericks for the long term. I study the possibility of installing an IoScale 3.2TB for storing video and photo footage, but I would love to get a bootable disk.

Currently, there is a very interesting project called OpenCore It simulates EFI loading before the system boot, offering the possibility to load drivers (kexts), such as video boot for graphics cards.

I think it would be the ideal environment for hack work that aquacow cited as necessary to be able to boot from Fusion disks. Any idea which path would be needed?
 

kapone

Well-Known Member
May 23, 2015
1,045
615
113
The path is...there is no path. It's an EOL product with no more development.

You wanna use it as a boot drive? Write a new firmware.
 

HERB

New Member
Nov 10, 2020
5
1
3
Well if you'd been paying attention, you'd know that the firmware to boot from it was already there. While the product is EOL from the manufacturer, they never [officially] supported this kind of thing to begin with, and even 10 years later these are still fantastic for many applications.

I actually just got windows to boot from my HP ioDrive2 785GB.

I used another windows PC to update it to the most recent HP firmware via the command line with fio-update-iodrive --enable [firmware .fff] to add the uefi rom. I formatted the drive to the default settings from the hp iodrive gui software, and used the windows disk manager to initialize it as a GPT drive. I then shut down and installed windows from a usb to the blank partition without deleting the small MSR partition from the gpt initialization, and voila! Installed without hassle and restarts with no issues. I'll try again and change one thing at a time to see where it runs into problems.

@Felipe Leonardo I didn't see any software for macs, but the ioscale is different than what I've got. You could try at least some of what I did (and the mac/ioscale equivalent) to see where that gets you. Assuming you have a card to play around on. Use the -p flag in the update command to just see if you can without changing anything. If there's no uefi.rom in your firmware package, you'll have to add it in somehow, but that's beyond me.
 
  • Like
Reactions: lowfat

lowfat

Active Member
Nov 25, 2016
128
88
28
38
Well if you'd been paying attention, you'd know that the firmware to boot from it was already there. While the product is EOL from the manufacturer, they never [officially] supported this kind of thing to begin with, and even 10 years later these are still fantastic for many applications.

I actually just got windows to boot from my HP ioDrive2 785GB.

I used another windows PC to update it to the most recent HP firmware via the command line with fio-update-iodrive --enable [firmware .fff] to add the uefi rom. I formatted the drive to the default settings from the hp iodrive gui software, and used the windows disk manager to initialize it as a GPT drive. I then shut down and installed windows from a usb to the blank partition without deleting the small MSR partition from the gpt initialization, and voila! Installed without hassle and restarts with no issues. I'll try again and change one thing at a time to see where it runs into problems.

@Felipe Leonardo I didn't see any software for macs, but the ioscale is different than what I've got. You could try at least some of what I did (and the mac/ioscale equivalent) to see where that gets you. Assuming you have a card to play around on. Use the -p flag in the update command to just see if you can without changing anything. If there's no uefi.rom in your firmware package, you'll have to add it in somehow, but that's beyond me.
So you are currently booting off the ioDrive 2? Have you performed an unsafe shutdown to see how it handles it?
 
  • Wow
Reactions: HERB

HERB

New Member
Nov 10, 2020
5
1
3
So you are currently booting off the ioDrive 2? Have you performed an unsafe shutdown to see how it handles it?
Good question. I just shut off the PSU to see. It claims to reattach successfully during the POST messages, but resets the PC at some point during loading, and the cycle repeats. I'll make my aforementioned changes and see if those have any effect on this behavior as well.

The next step would be disable the unclean shutdown check (if possible), or have a secondary boot drive that would automatically reattach the drive and cleanly restart the PC in the event of an unclean shutdown. The former might require firmware mods, and the latter might require UEFI mods. Both of which are currently beyond me...

What would be the consequences of disabling the check? The drive is now running in a regular desktop PC. To my understanding, the check exists to save any data retained in the system RAM that wasn't written to the iodrive, but in a regular desktop PC, that information would be lost anyway wouldn't it?

EDIT: Once I attached a different boot device to start making changes, the iodrive completed a consistency check, and was able to reboot properly. So that ties into the "successful" reattach during POST, and is unable to complete while booting from the device needing checked. What are those two checks, and can they be disabled without consequence for this use-case?
 
Last edited:
  • Sad
Reactions: lowfat

titans

New Member
Dec 11, 2020
2
0
1
Hi all,

I am using an HP branded ioDrive 2 1.2TB in a DL380p g8 with latest BIOS/Firmware/iLO. Card works great but I've noticed that fan speeds are steady at around 40% on a few fans with the card installed, with no server load. I've tried moving the card to different slots, with no change (except the particular fans that reach 40%). Is this normal? Any workarounds to lower fan speeds at idle?

fan_speed.png

Interestingly the card shows as unknown, is this normal for HP branded ioDrive?

unknown.png

Thanks!
 

nerdalertdk

Fleet Admiral
Mar 9, 2017
200
91
28
::1
Hi all,

I am using an HP branded ioDrive 2 1.2TB in a DL380p g8 with latest BIOS/Firmware/iLO. Card works great but I've noticed that fan speeds are steady at around 40% on a few fans with the card installed, with no server load. I've tried moving the card to different slots, with no change (except the particular fans that reach 40%). Is this normal? Any workarounds to lower fan speeds at idle?

View attachment 16663

Interestingly the card shows as unknown, is this normal for HP branded ioDrive?

View attachment 16664

Thanks!
It’s normal for hp server to ramp up some fans when it detects an pci card
 

gravitas

New Member
Dec 23, 2020
1
0
1
Hi,

A couple of years ago I reflashed PX600 (HP version) with modded fusion_4.3.7-20200113.fff (from SunDisk).
It made it UEFI bootable.
fio-status -d /dev/fct0 -F optrom.enabled - 1
fio-status -d /dev/fct0 -F optrom.bytecode_version - 4.3.7
fio-status -d /dev/fct0 -F optrom.bootable - 1

Now I'm trying to do the same to SX350 (SunDisk version).
I modded the same firmware the same way. But after flashing it is not bootable.
fio-status -d /dev/fct0 -F optrom.enabled - Unavailable: enabled is not available
fio-status -d /dev/fct0 -F optrom.bytecode_version - Unavailable: bytecode_version is not available
fio-status -d /dev/fct0 -F optrom.bootable - Unavailable: bootable is not available

What can be done about it?

The only idea I have is to downgrade and then upgrade fw.
How deep is it safe to downgrade 4.3.7 version?

Thank you.
 

zxv

The more I C, the less I see.
Sep 10, 2017
154
55
28
Are there are no vsphere 7 drivers for the iodrive2? (couldn't find any, just want to confirm)
 

cdoublejj

New Member
Jan 5, 2018
21
4
3
31
Are there are no vsphere 7 drivers for the iodrive2? (couldn't find any, just want to confirm)
while i don't use the fusion io in esxi i do use nvidia grid K1s, i run esxi 6.5 u2/u3 BUT, i run VCSA/vSphere 7 management controller
 

vpadro

New Member
Jul 16, 2015
14
1
3
45
I don't know if somebody else tried yet, but got my passthrough SX300 working on a TrueNAS SCALE VM using this guide:

https://forums.servethehome.com/ind...nd-px600-cards-with-a-linux-5-x-kernel.28300/

Using the v5.10.0 Tag:

Code:
truenas# fio-status -a

Found 1 VSL driver package:
   4.3.7 build 1205 Driver: loaded

Found 1 ioMemory device in this system

Adapter: ioMono  (driver 4.3.7)
        ioMemory SX300-1300, SN:
        ioMemory Adapter Controller, PN:PA006090103
        Product UUID:077d2556-866f-5b75-812d-319dc7a767c5
        PCIe Bus voltage: avg 12.01V
        PCIe Bus current: avg 0.81A
        PCIe Bus power: avg 9.71W
        PCIe Power limit threshold: 24.75W
        PCIe slot available power: 240.00W
        PCIe negotiated link: 32 lanes at 5.0 Gt/sec each, 16000.00 MBytes/sec total
        Connected ioMemory modules:
          fct0: 0b:00.0,        SN:

fct0    Attached
        ioMemory Adapter Controller, SN:
        ioMemory Adapter Controller, PN:PA006090103
        Microcode Versions: App:0.0.44.0
        Powerloss protection: protected
        PCI:0b:00.0, Slot Number:8
        Vendor:1aed, Device:3002, Sub vendor:1aed, Sub device:3002
        Firmware v8.9.9, rev 20200113 Public
        1250.00 GBytes device size
        Format: v501, 2441406250 sectors of 512 bytes
        PCIe slot available power: unavailable
        PCIe negotiated link: 32 lanes at 5.0 Gt/sec each, 16000.00 MBytes/sec total
        Internal temperature: 65.95 degC, max 72.35 degC
        Internal voltage: avg 1.01V, max 1.01V
        Aux voltage: avg 1.80V, max 1.81V
        Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00%
        Active media: 100.00%
        Rated PBW: 4.00 PB, 99.72% remaining
        Lifetime data volumes:
           Physical bytes written: 11,318,913,244,640
           Physical bytes read   : 7,509,497,413,824
        RAM usage:
           Current: 807,580,224 bytes
           Peak   : 807,580,224 bytes
        Contained Virtual Partitions:
          fioa: ID:0, UUID:95aa58b1-ce69-4afc-88c3-46ee170e2e1a

fioa    State: Online, Type: block device, Device: /dev/fioa
        ID:0, UUID:95aa58b1-ce69-4afc-88c3-46ee170e2e1a
        1250.00 GBytes device size
        Format: 2441406250 sectors of 512 bytes
        Sectors In Use: 1198275321
        Max Physical Sectors Allowed: 2441406250
        Min Physical Sectors Reserved: 2441406250

truenas# uname -a
Linux truenas.local 5.10.0-1-amd64 #1 SMP Debian 5.10.4-1 (2020-12-31) x86_64 GNU/Linux
truenas#
Hope I can do the same with my 2 iodrives2 cards I have on ESXi soon enough (fingers crossed).
Nope, not really there yet.
 
Last edited:

vpadro

New Member
Jul 16, 2015
14
1
3
45
So I rebooted the VM and this is what now shows:

Code:
Error: Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 378, in run
    await self.future
  File "/usr/lib/python3/dist-packages/middlewared/job.py", line 414, in __run_body
    rv = await self.method(*([self] + args))
  File "/usr/lib/python3/dist-packages/middlewared/schema.py", line 999, in nf
    return await f(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/pool.py", line 673, in do_create
    formatted_disks = await self.middleware.call('pool.format_disks', job, disks)
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1266, in call
    return await self._call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1223, in _call
    return await methodobj(*prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/pool_/format_disks.py", line 56, in format_disks
    await asyncio_map(format_disk, disks.items(), limit=16)
  File "/usr/lib/python3/dist-packages/middlewared/utils/asyncio_.py", line 16, in asyncio_map
    return await asyncio.gather(*futures)
  File "/usr/lib/python3/dist-packages/middlewared/utils/asyncio_.py", line 13, in func
    return await real_func(arg)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/pool_/format_disks.py", line 32, in format_disk
    devname = await self.middleware.call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1266, in call
    return await self._call(
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1234, in _call
    return await self.run_in_executor(prepared_call.executor, methodobj, *prepared_call.args)
  File "/usr/lib/python3/dist-packages/middlewared/main.py", line 1138, in run_in_executor
    return await loop.run_in_executor(pool, functools.partial(method, *args, **kwargs))
  File "/usr/lib/python3/dist-packages/middlewared/utils/io_thread_pool_executor.py", line 25, in run
    result = self.fn(*self.args, **self.kwargs)
  File "/usr/lib/python3/dist-packages/middlewared/plugins/disk_/disk_info_linux.py", line 97, in gptid_from_part_type
    raise CallError(f'Partition type {part_type} not found on {disk}')
middlewared.service_exception.CallError: [EFAULT] Partition type 6a898cc3-1dd2-11b2-99a6-080020736631 not found on fioa
 

Bert

Active Member
Mar 31, 2018
369
148
43
42
I am having this old issue from an earlier post on my debian machine:


OK trying it out without a card just to see if building the driver still works but running into this?

using: snuf/iomemory-vsl
copied this header into the dirrectory : pve-headers_5.2-2_all.deb (not sure about this step? )

root@pveD1541:~/iomemory-vsl# sudo dpkg-buildpackage
dpkg-buildpackage: info: source package iomemory-vsl
dpkg-buildpackage: info: source version 3.2.15.1800-1.0
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Support <support@fusionio.com>
dpkg-buildpackage: info: host architecture amd64
dpkg-source --before-build iomemory-vsl
dpkg-checkbuilddeps: error: Unmet build dependencies: debhelper (>= 10) linux-headers
dpkg-buildpackage: warning: build dependencies/conflicts unsatisfied; aborting
dpkg-buildpackage: warning: (Use -d flag to override.)


"dpkg-checkbuilddeps: error: Unmet build dependencies: linux-headers"

I have definitely installed linux headers that are matching with my kernel version with the following command:


root@debian:/home/temp# sudo apt-get install -f linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-headers-4.19.0-16-amd64 is already the newest version (4.19.181-1).
0 upgraded, 0 newly installed, 0 to remove and 9 not upgraded.



I am not very familiar with building packages. I am trying to build iomemory-vsl_3.2.16.1732.tar.gz.
 

gb00s

Active Member
Jul 25, 2018
569
193
43
Malta
@Bert

Install pve-headers (apt install pve-headers-5.4) ... reboot ... uninstall linux-headers.

Snuf's iomemory-vsl doesn't work with linux-headers due to dependency issues in Proxmox, as Proxmox is using pve-headers and pve-kernel should be minimum at 5.4.xxx. Then install DKMS and follow the instructions on his Git-page regarding DKMS. Checkout of version v5.6.x works flawlessly. Just set up a Proxmox with an SX350 over the weekend.

Then make a directory and change into it followed by a ...
Then run dpkg -i *.deb and test it with a fio-status -a.

If dpkg -i *.deb gives you a dependency error, then install each package and try a different sequence. Some package needs to be installed at the latest. Just can't remember which one.

Hope this makes sense and helps.

PS: Also make sure you have build-essential installed.
 
Last edited:
  • Like
Reactions: Bert

Bert

Active Member
Mar 31, 2018
369
148
43
42
@Bert

Install pve-headers (apt install pve-headers-5.4) ... reboot ... uninstall linux-headers.

Snuf's iomemory-vsl doesn't work with linux-headers due to dependency issues in Proxmox, as Proxmox is using pve-headers and pve-kernel should be minimum at 5.4.xxx. Then install DKMS and follow the instructions on his Git-page regarding DKMS. Checkout of version v5.6.x works flawlessly. Just set up a Proxmox with an SX350 over the weekend.

Then make a directory and change into it followed by a ...


Then run dpkg -i *.deb and test it with a fio-status -a.

If dpkg -i *.deb gives you a dependency error, then install each package and try a different sequence. Some package needs to be installed at the latest. Just can't remember which one.

Hope this makes sense and helps.

PS: Also make sure you have build-essential installed.
Does it make sense for me to install pve-headers on a debian box? Please note that I am not trying to compile this driver on a proxmox machine, this is my debian box.
 

gb00s

Active Member
Jul 25, 2018
569
193
43
Malta
Does it make sense for me to install pve-headers on a debian box? Please note that I am not trying to compile this driver on a proxmox machine, this is my debian box.
Oooooh, sorry missed that. Then you don't need the pve-headers.

What happens if you go ...
apt install -f && apt install dkms
mkdir Git && cd Git
>> git clone snuf/iomemory-vsl
cd iomemory-vsl/
git checkout v4.20.1
make dkms
??

Then continue with the download of the fio-files ....
 
  • Like
Reactions: Bert

Bert

Active Member
Mar 31, 2018
369
148
43
42
Oooooh, sorry missed that. Then you don't need the pve-headers.

What happens if you go ...

??

Then continue with the download of the fio-files ....
This is what I got at the end:


root@debian:/home/temp/Git/iomemory-vsl# make dkms
make: *** No rule to make target 'dkms'. Stop.


I cloned snuf/iomemory-vsl