Configuring Fusion-Io (SanDisk) SX300, SX350 and PX600 cards with a Linux 5.x kernel

Tourman

New Member
Nov 24, 2016
21
17
3
38
Hello folks,

For the past several weeks, snuf and I have been working on porting the original iomemory-vsl4 driver (4.3.7.1205) to the Linux 5.x Kernels. We've tested it with 5.3, 5.4 and 5.6 so far, and under Proxmox 6.1 with the 5.3 Kernel. We just pushed out a working release tonight and are looking for testers. Keep in mind we haven't done extensive QA on this driver, so one should expect bugs. If you put any critical data on the cards, please make sure you have backups!

If you encounter any bugs, please create a new issue here: https://github.com/snuf/iomemory-vsl4/. You can also join us @Discord Join the iomemory-vsl4 Discord Server! if you want to drop by and chat. Snuf and I are usually on there daily while working on the driver.

Here's our current release as of 4/21/2020:
Tag Codename
v5.6.1 Danger Noodle

You must run a 5.x Kernel to use our fork!


.1 Download all the tools

.deb Ubuntu / Debian
Code:
mkdir /home/temp && cd /home/temp && \
wget https://www.dropbox.com/s/23e5rmhkknlrlqf/fio-preinstall_4.3.7.1205-1.0_amd64.deb \
wget https://www.dropbox.com/s/lq9ds1e6cfqs5s3/fio-sysvinit_4.3.7.1205-1.0_all.deb \
wget https://www.dropbox.com/s/d18dokktt0g2aau/fio-util_4.3.7.1205-1.0_amd64.deb
.rpm CentOS / RHEL / Fedora
Code:
mkdir /home/temp && cd /home/temp && \
wget https://www.dropbox.com/s/mpgzvtmgs9kdz8s/fio-preinstall-4.3.7.1205-1.el7.x86_64.rpm \
wget https://www.dropbox.com/s/tj8jtlrro0bdsu8/fio-sysvinit-4.3.7.1205-1.el7.x86_64.rpm \
wget https://www.dropbox.com/s/ba2vcxhmf9p2pb2/fio-util-4.3.7.1205-1.el7.x86_64.rpm
.2 Install pre-reqs

.deb Ubuntu / Debian
Code:
apt install -y git gcc fakeroot build-essential debhelper rsync linux-headers-$(uname -r) dkms
.rpm CentOS / RHEL / Fedora
Code:
$ yum install -y git rsync tar gcc make kernel-devel-`uname -r` rpm-build dkms lsof pciutils
.3 Clone the repo and checkout the current release - as of today we're at 5.6.1, so replace
with
Code:
git clone https://github.com/snuf/iomemory-vsl4
cd iomemory-vsl4/
git checkout <release-tag>
.4 Build the package and install - the deb/rpm file is named after the kernel release (uname -r), and then the driver version. We will be fixing the scripts to update the versions automatically on the package files in 5.6.1. For now, it's still 4.3.7.1205.

.deb Ubuntu / Debian
Code:
make dpkg
cd ..
dpkg -i iomemory-vsl4-5.3.18-3-pve_4.3.7.1205-1.0_amd64.deb
dpkg -i fio-preinstall_4.3.7.1205-1.0_amd64.deb
dpkg -i fio-util_4.3.7.1205-1.0_amd64.deb
dpkg -i fio-sysvinit_4.3.7.1205-1.0_all.deb

.rpm CentOS / RHEL / Fedora

Note: 5.6.1 build on Fedora 30 looks like this atm (versioning will be fixed in a later release):
Code:
[root@localhost iomemory-vsl4]# ls /root/rpmbuild/RPMS/x86_64/
iomemory-vsl4-5.0.9-301.fc30.x86_64-4.3.7.1205-1.fc30.x86_64.rpm
Code:
make rpm
cd ..
rpm -ivh /root/rpmbuild/RPMS/x86_64/iomemory-vsl4-<kernel version><driver version>.rpm
rpm -ivh fio-preinstall-4.3.7.1205-1.el7.x86_64.rpm
rpm -ivh fio-util-4.3.7.1205-1.el7.x86_64.rpm
rpm -ivh fio-sysvinit-4.3.7.1205-1.el7.x86_64.rpm
If you are running this in a PCIE 3.0 8x slot that can support 75W of power, add this to your iomemory-vsl4.conf file under /etc/modprobe.d/, and replace <SN> with the serial number of the card from fio-status
Code:
options iomemory-vsl4 external_power_override=<SN>:75
To manually load the kernel module (it should load at boot-time):
Code:
modprobe -s iomemory-vsl4
You can now check the status with:
Code:
fio-status -a
 
Last edited: