Xubuntu 20.04 LTS , how do i compile and install this SSD driver?

it sucks that in 2020 i still have to compile drives for a years old SSD but, this is the SSD i have and i need to know how to install the drivers, also what kind of issues will i have? i think it patchestthe kernel? what if i install other stuff like VMwarep layer that also patches the kernel?

okay i’m confused on how to use the git checkout command, evidently updates would be completely broken without DKMS

In the readme, it says how to build for a .deb based distro, which Ubuntu is.

git clone https://github.com/snuf/iomemory-vsl
cd iomemory-vsl
git checkout 5.6.0
make dpkg

This is an unsupported driver, with no testing. You could always try to upstream it if you’d like.

it builds a DKMS module.

DKMS is designed to allow modules to be added without conflicting with each other.

Find a release tag in the repo, by clicking on the “master” dropdown and going to “tags”:

image

Then just use the text there.

More or less, yes.

2 Likes

it’s said to already be in newer kernels but, it’s not cutting edge hardware.

lower in the page is it says you don’t want to manually build kernel every time you get updates you can use DKMS and lists commands UNLESS the .deb setup the DKMS for you?

the git fetch --all --tags command brings up no tags
EDIT: ooohhhhh the little drop down thingies!

ran command: git checkout tags/v5.6.0 …and got…

Note: switching to ‘tags/v5.6.0’.
You are in ‘detached HEAD’ state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

git switch -c

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 8ab2cb1 clarifying obligatory link with the name of the release

EDIT: then ran make dkms and got

cd root/usr/src/iomemory-vsl-3.2.16 &&
make clean
make[1]: Entering directory ‘/home/user/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16’
make
-j12
-C /lib/modules/5.4.0-40-generic/build
FIO_DRIVER_NAME=iomemory-vsl
FUSION_DRIVER_DIR=/home/user/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16
M=/home/user/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16
EXTRA_CFLAGS+="-I/home/user/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall -Werror"
KFIO_LIB=kfio/x86_64_cc93_libkfio.o_shipped
clean
make[2]: Entering directory ‘/usr/src/linux-headers-5.4.0-40-generic’
CLEAN /home/user/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16/Module.symvers
make[2]: Leaving directory ‘/usr/src/linux-headers-5.4.0-40-generic’
rm -rf include/fio/port/linux/kfio_config.h kfio_config license.c
make[1]: Leaving directory ‘/home/user/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16’
cd root/usr/src/iomemory-vsl-3.2.16 &&
make dkms
make[1]: Entering directory ‘/home/user/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16’
./module_operations.sh -n “iomemory-vsl” -v “8ab2cb1” -d
Must be root for DKMS Setup.
make[1]: *** [Makefile:117: dkms] Error 1
make[1]: Leaving directory ‘/home/user/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16’
make: *** [Makefile:5: dkms] Error 2

1 Like

Try sudo make dkms

2 Likes

error

cd root/usr/src/iomemory-vsl-3.2.16 && \
make clean

make[1]: Entering directory ‘/home/user/iomemory-vsl/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16’
make
-j12
-C /lib/modules/5.4.0-40-generic/build
FIO_DRIVER_NAME=iomemory-vsl
FUSION_DRIVER_DIR=/home/user/iomemory-vsl/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16
M=/home/user/iomemory-vsl/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16
EXTRA_CFLAGS+="-I/home/user/iomemory-vsl/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16/include -DBUILDING_MODULE -DLINUX_IO_SCHED -Wall -Werror"
KFIO_LIB=kfio/x86_64_cc93_libkfio.o_shipped
clean
make[2]: Entering directory ‘/usr/src/linux-headers-5.4.0-40-generic’
make[2]: Leaving directory ‘/usr/src/linux-headers-5.4.0-40-generic’
rm -rf include/fio/port/linux/kfio_config.h kfio_config license.c
make[1]: Leaving directory ‘/home/user/iomemory-vsl/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16’
cd root/usr/src/iomemory-vsl-3.2.16 &&
make dkms
make[1]: Entering directory ‘/home/user/iomemory-vsl/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16’
./module_operations.sh -n “iomemory-vsl” -v “8ab2cb1” -d
./module_operations.sh: line 10: dkms: command not found
Adding module version v5.6.0-3.2.16 to source license.c
grep: license.c: No such file or directory
/usr/src/iomemory-vsl-v5.6.0 already exists.
Ok: already patched with v5.6.0-3.2.16
Ok: already patched with v5.6.0-3.2.16
Ok: already patched with v5.6.0-3.2.16
Ok: already patched with v5.6.0-3.2.16
Ok: already patched with v5.6.0-3.2.16
Ok: already patched with v5.6.0-3.2.16
Ok: already patched with v5.6.0-3.2.16
Ok: already patched with v5.6.0-3.2.16
Ok: already patched with v5.6.0-3.2.16
Ok: already patched with v5.6.0-3.2.16
Adding, buidling and installing iomemory-vsl/v5.6.0 with DKMS
./module_operations.sh: line 30: dkms: command not found
./module_operations.sh: line 31: dkms: command not found
make[1]: *** [Makefile:117: dkms] Error 127
make[1]: Leaving directory ‘/home/user/iomemory-vsl/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16’
make: *** [Makefile:5: dkms] Error 2

First, see if there is a PPA available for this. Oftentimes there is, but not always.

Second, you need to compile for the kernel version in 20.04. In 20.04 it is 5.4 I believe, not 5.6. Check uname -r if in doubt.

Third, make sure you have proper header files and build packages installed (apt install linux-headers build-essential)

Fourth, install dkms with apt :slight_smile:

2 Likes

There’s only 5.6 and 4.20

So I suppose it’s not properly supported. :confused:

Blockquote Releases are tagged, and should be checked out by their tag. The release tags follow Linux Kernel versions. E.g. v5.6.0 (MEGACHONKER) will work on all 5.x kernels that are 5.6 and lower

does 5.4 not count as lower than 5.6?

So the V5.6.0 will work on 5.4

I had missed that, apparently.


the DKMS package is not installed.

So, I think it’s just sudo apt install dkms

I forget what the ubuntu DKMS package is.

1 Like
DKMS: add completed.

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
'make' DKMS_KERNEL_VERSION=5.4.0-40-generic....
Signing module:
.... [redacted]

writing new private key to '/var/lib/shim-signed/mok/MOK.priv'

 - /var/lib/dkms/iomemory-vsl/v5.6.0/5.4.0-40-generic/x86_64/module/iomemory-vsl.ko
Secure Boot not enabled on this system.
cleaning build area...

DKMS: build completed.

iomemory-vsl.ko:
Running module version sanity check.
 - Original module
   - No original module exists within this kernel
 - Installation
   - Installing to /lib/modules/5.4.0-40-generic/updates/dkms/

depmod...

Backing up initrd.img-5.4.0-40-generic to /boot/initrd.img-5.4.0-40-generic.old-dkms
Making new initrd.img-5.4.0-40-generic
(If next boot fails, revert to initrd.img-5.4.0-40-generic.old-dkms image)
update-initramfs.......

DKMS: install completed.
make[1]: Leaving directory '/home/user/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16'

EDIT: i wish the “code” tags worked in the forums

EDIT:

EDIT: now how do i install fio-utils? i know this is an NTFS volume or at worst exFAT but, pretty sure i formatted for windows (dual boot)

sudo apt install fio?
https://packages.ubuntu.com/search?keywords=fio

Wrap in triple backticks ```

I edited it in for you.

EDIT: i may have a power limit thresh hold? i forgot the fix for that BUT, drivers and utils are installed!!!

installed fio and also found some fio/fio util .debs i had and installed those too as well ,maybe not a good idea to install both!? but, i don’t know any of the commands to check the ssd status as " ```
~/iomemory-vsl/root/usr/src/iomemory-vsl-3.2.16$ sudo fio-status -a


EDIT:  sudo fio-status -a

Found 1 ioMemory device in this system
Driver version: 3.2.16 build 1731

Adapter: Single Controller Adapter
	Fusion-io ioScale 3.20TB, Product Number:F11-002-3T20-CS-0001, SN:1439D16AE, FIO SN:1439D16AE
	ioDrive2 Adapter Controller, PN:PA005064001
	External Power: NOT connected
	PCIe Bus voltage: avg 11.60V
	PCIe Bus current: avg 0.90A
	PCIe Bus power: avg 10.45W
	PCIe Power limit threshold: 24.75W
	PCIe slot available power: unavailable
	PCIe negotiated link: 4 lanes at 5.0 Gt/sec each, 2000.00 MBytes/sec total
	Connected ioMemory modules:
	  fct0:	Product Number:F11-002-3T20-CS-0001, SN:1439D16AE

fct0	Attached
	ioDrive2 Adapter Controller, Product Number:F11-002-3T20-CS-0001, SN:1439D16AE
	ioDrive2 Adapter Controller, PN:PA005064001
	SMP(AVR) Versions: App Version: 1.0.21.0, Boot Version: 1.0.6.1
	Located in slot 0 Center of ioDrive2 Adapter Controller SN:1439D16AE
	Powerloss protection: protected
	PCI:03:00.0
	Vendor:1aed, Device:2001, Sub vendor:1aed, Sub device:2001
	Firmware v7.1.17, rev 116786 Public
	3200.00 GBytes device size
	Format: v500, 781250000 sectors of 4096 bytes
	PCIe slot available power: unavailable
	PCIe negotiated link: 4 lanes at 5.0 Gt/sec each, 2000.00 MBytes/sec total
	Internal temperature: 48.23 degC, max 49.71 degC
	Internal voltage: avg 1.02V, max 1.02V
	Aux voltage: avg 2.48V, max 2.48V
	Reserve space status: Healthy; Reserves: 100.00%, warn at 10.00%
	Active media: 100.00%
	Rated PBW: 20.00 PB, 53.80% remaining
	Lifetime data volumes:
	   Physical bytes written: 9,239,416,646,167,912
	   Physical bytes read   : 9,355,612,821,511,320
	RAM usage:
	   Current: 160,985,408 bytes
	   Peak   : 160,985,408 bytes
	Contained VSUs:
	  fioa:	ID:0, UUID:11c71e47-9da5-4d53-9765-b322529482e9

fioa	State: Online, Type: block device
	ID:0, UUID:11c71e47-9da5-4d53-9765-b322529482e9
	3200.00 GBytes device size
	Format: 781250000 sectors of 4096 bytes

I am curious. Why are you using an SSD that does not have actual mainline support for GNU/Linux?

Also, how good is your *nix-fu? If that drive holds important data, I would be weary about trusting an out of tree driver or PPA.

1 Like

If I understood correctly this is the product being used:

Currently a really competitive card - around $250 for 3.2 TB of storage. If purchased a couple of years earlier, however, it must have been pretty crazy expensive.

Too much storage to just throw it away without good cause in any case…

1 Like

Sure, so it is basically a storage drive then? I had never heard of it so that is why I asked. My concerns still stand though.

i purchased it last year early this year for about $225. where else you going to get a 3.2TB MLC SSD for that cheap?

additionally i would like to state i did not choose an SSD without mainline support!!!

Why did linux choose to NOT mainline support a known common enterprise SSD in mainline for that many years?

yes it is mainline but, only in the newest kernels form what i hear.

it only hold my steam library from my windows install (dual boot) however it shows up as an unknown filesystem in linux which is NOT the case with any of my other HDDs and SSDs

EDIT: i feel bad for the sys admins who had to wrangle drivers for these things for so many years in the enterprise environment

well i formatted in ubuntu since i can re DL steam games and it doesn’t appear to really be working, i need to see why it is mounting the drive or if something still isn’t quite right? EDIT: trying a format with eras 1+ hour ETA

EDIT: this could be whats up