Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New drivers officially released? Perhaps nvme raid will now be possible #43

Open
Lunchtimeme opened this issue Dec 30, 2021 · 13 comments
Open

Comments

@Lunchtimeme
Copy link

https://www.amd.com/en/support/chipsets/amd-socket-am4/x570
This website suggests that there are now linux drivers for the x570 chipset which support nvme raid.
The drivers are for RHEL and Ubuntu and because I'm a linux noob running Manjaro I'm clueless as to how I could make them work for me. Is it possible to use those files to update this rcraid-dkms? If not can someone shoot me an advice on how I could make these drivers work for me or if that's even possible (mind you I don't need to install my OS onto a raid device which is what most of the documentation is about, I just want to access my gaming nvme fake raid from my Linux distro)

@mbana
Copy link
Contributor

mbana commented Jan 5, 2022

So I just downloaded this and tried to run it but first building what's in raid_linux_driver_930_00283/dd-rcraid-RHEL8-4.18.0-305.el8.x86_64/driver_sdk/src.


Does secure boot need to be enabled to get this to work? I've been trying on my

	Manufacturer: ASUSTeK COMPUTER INC.
	Product Name: ROG CROSSHAIR VIII IMPACT X570

to no avail.

  1. I've created a RAID 1 array using the BIOS.
  2. I've got two NVME M.2 drives of the same size --- 2 TB.
  3. I've got modprobe.blacklist=ahci modprobe.blacklist=nvme as a Kernel parameter.

Linux version:

$ lsb_release -a                     
LSB Version:	:core-4.1-amd64:core-4.1-noarch
Distributor ID:	Fedora
Description:	Fedora release 34 (Thirty Four)
Release:	34
Codename:	ThirtyFour

If I load rcraid.ko and remove modprobe.blacklist=ahci modprobe.blacklist=nvme I see two separate NVME drives.

Any tips on debugging this?

@Fuzzo
Copy link

Fuzzo commented Jan 11, 2022

I found the file raid_linux_driver_930_00276.zip. Inside, a document say the NVME RAID is supported!
It would be intresting to merge this project with the new driver version, please let me know how I can send you the file if you cannot find it.

@MarkLTZ
Copy link

MarkLTZ commented Jan 13, 2022

Please, take a look at #44

@Lunchtimeme
Copy link
Author

Lunchtimeme commented Jan 18, 2022

Mark, your fork fails to build for me on Manjaro 5.15.12-1
`
   ~/rcraid-dkms/arch    master  makepkg -si  ✔
==> Making package: rcraid-dkms 17.2.1-2 (Út 18. ledna 2022, 11:48:57)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
-> Found dkms.conf
==> Validating source files with md5sums...
dkms.conf ... Passed
==> Extracting sources...
==> Starting prepare()...
==> Starting build()...

  • building for kernel 5.15.12-1-MANJARO

make -C /lib/modules/5.15.12-1-MANJARO/build M=/home/lunchtime/rcraid-dkms/arch/src modules
make[1]: Entering directory '/usr/lib/modules/5.15.12-1-MANJARO/build'
ln -sf basename /home/lunchtime/rcraid-dkms/arch/src/rcblob.x86_64.o .o /home/lunchtime/rcraid-dkms/arch/src/rcblob.x86_64.o
CC [M] /home/lunchtime/rcraid-dkms/arch/src/rc_init.o
CC [M] /home/lunchtime/rcraid-dkms/arch/src/rc_msg.o
CC [M] /home/lunchtime/rcraid-dkms/arch/src/rc_mem_ops.o
CC [M] /home/lunchtime/rcraid-dkms/arch/src/rc_event.o
CC [M] /home/lunchtime/rcraid-dkms/arch/src/rc_config.o
CC [M] /home/lunchtime/rcraid-dkms/arch/src/vers.o
LD [M] /home/lunchtime/rcraid-dkms/arch/src/rcraid.o
MODPOST /home/lunchtime/rcraid-dkms/arch/src/Module.symvers
CC [M] /home/lunchtime/rcraid-dkms/arch/src/rcraid.mod.o
LD [M] /home/lunchtime/rcraid-dkms/arch/src/rcraid.ko
BTF [M] /home/lunchtime/rcraid-dkms/arch/src/rcraid.ko
Unsupported DW_TAG_reference_type(0x10)
Encountered error while encoding BTF.
make[3]: *** [scripts/Makefile.modfinal:60: /home/lunchtime/rcraid-dkms/arch/src/rcraid.ko] Error 1
make[3]: *** Deleting file '/home/lunchtime/rcraid-dkms/arch/src/rcraid.ko'
make[2]: *** [scripts/Makefile.modpost:140: __modpost] Error 2
make[1]: *** [Makefile:1783: modules] Error 2
make[1]: Leaving directory '/usr/lib/modules/5.15.12-1-MANJARO/build'
make: *** [Makefile:99: all] Error 2
==> ERROR: A failure occurred in build().
Aborting...
`

@MarkLTZ
Copy link

MarkLTZ commented Jan 18, 2022

Manjaro

Hello @Lunchtimeme

Previous AMD driver was for Ubuntu, SuSe and RHEL. My fork updated to latest AMD driver that supports only Ubuntu and RHEL dropping support for SuSe.

I'm not sure it will work also on Manjaro. Give me few hours to download this distro and I'll check if it is possible to fix it.

@MarkLTZ
Copy link

MarkLTZ commented Jan 18, 2022

@Lunchtimeme it seams the issue was introduced by latest rcblob.x86_64 file released with AMD original driver 9.3.0

e4522f7

Try now

@Lunchtimeme
Copy link
Author

It looks promising but I'm stupid unfortunately:
Running at first I got;


==> Starting build()...
------------------------------------------------------------
- building for kernel 5.15.12-1-MANJARO
------------------------------------------------------------
make -C /lib/modules/5.15.12-1-MANJARO/build M=/home/lunchtime/rcraid-dkms/arch/src modules
make[1]: Entering directory '/usr/lib/modules/5.15.12-1-MANJARO/build'
ln -sf `basename /home/lunchtime/rcraid-dkms/arch/src/rcblob.x86_64.o .o` /home/lunchtime/rcraid-dkms/arch/src/rcblob.x86_64.o
  CC [M]  /home/lunchtime/rcraid-dkms/arch/src/rc_init.o
  CC [M]  /home/lunchtime/rcraid-dkms/arch/src/rc_msg.o
  CC [M]  /home/lunchtime/rcraid-dkms/arch/src/rc_mem_ops.o
  CC [M]  /home/lunchtime/rcraid-dkms/arch/src/rc_event.o
  CC [M]  /home/lunchtime/rcraid-dkms/arch/src/rc_config.o
  CC [M]  /home/lunchtime/rcraid-dkms/arch/src/vers.o
  LD [M]  /home/lunchtime/rcraid-dkms/arch/src/rcraid.o
  MODPOST /home/lunchtime/rcraid-dkms/arch/src/Module.symvers
  CC [M]  /home/lunchtime/rcraid-dkms/arch/src/rcraid.mod.o
  LD [M]  /home/lunchtime/rcraid-dkms/arch/src/rcraid.ko
  BTF [M] /home/lunchtime/rcraid-dkms/arch/src/rcraid.ko
make[1]: Leaving directory '/usr/lib/modules/5.15.12-1-MANJARO/build'
Signing module using local certificate
make: /home/lunchtime/rcraid-dkms/arch/src/../mk_certs: No such file or directory
make: *** [Makefile:101: all] Error 127
==> ERROR: A failure occurred in build().
    Aborting...

So I moved the mk_certs file above the arch/src folder where I think it's looking for it but then I get


  BTF [M] /home/lunchtime/rcraid-dkms/arch/src/rcraid.ko
make[1]: Leaving directory '/usr/lib/modules/5.15.12-1-MANJARO/build'
Signing module using local certificate
#
# Config file does not exist for the specified kernel.
# Using config file of running kernel
#
#
# ERROR:
#
# Signing certificates must be created as root.
# Please rerun last command as root.
#
make: *** [Makefile:101: all] Error 1
==> ERROR: A failure occurred in build().
    Aborting...

Trying to just run the mk_certs as sudo fails like this:

#
# Config file does not exist for the specified kernel.
# Using config file of running kernel
#
mkdir: missing operand
Try 'mkdir --help' for more information.
#
# When prompted for 'Password', please enter a
# password to be used when installing signing
# certificate. Do NOT use login password or root
# password!
#
# You may be prompted to enter this password the
# next time your system reboots in order to enroll
# the signing certificate in the BIOS key table.
#
Generating a RSA private key
.........................................................................................................................................................++++
.++++
writing new private key to '/module_signing_key.priv'
-----
./mk_certs: line 90: mokutil: command not found
Import key Failed
grep: /boot/config-5.15.12-1-MANJARO: No such file or directory
grep: /boot/config-5.15.12-1-MANJARO: No such file or directory
RETRYING WITH sha256
./mk_certs: line 128: sha256: command not found
#
# RETRY ERROR:
#
# Signing certificate ../certs/module_signing_key.der does not exist!
# Module NOT signed -- installing unsigned module will cause reboot to fail!
#

@MarkLTZ
Copy link

MarkLTZ commented Jan 18, 2022

Can you list your steps used to compile, please?

Thanks

@Lunchtimeme
Copy link
Author

I'm following the 'old' readme just replacing the link with your branch, so:

git clone https://github.com/MarkLTZ/rcraid-dkms.git
cd arch
makepkg -si

And that's where it fails.
If the previously installed thopiekar version can't be overwritten or something and the changes I made are causing issues (like loading rcraid? module and blacklisting ahci and nvme) then I'd be fine nuking my system and reinstalling.

@MarkLTZ
Copy link

MarkLTZ commented Jan 18, 2022

The root issue is the signing step for rhel / debian / ubuntu kernel module that as written on the original AMD driver 9.3.0 is not compatible with Arch/Manjaro

Try this https://github.com/MarkLTZ/rcraid-dkms/tree/latest
If it works, I will rewrite the signature step to be ignored while building on Arch/Manjaro

@Lunchtimeme
Copy link
Author

It does work ... in the sense that it builds and installs the package.
Unfortunately my nvme raid is still not visible. Took a while on boot and it seemed like it gave up on the rcraid module and just booted normally but maybe that's what it always looks like when you do mkinitcpio -p , I'm not sure. Thank you very much for all this quick help though, I don't think I can get past here though. I'll keep trying some things just not being very hopeful.

Here's a dmesg output in case there's still something I can catch:
dmesg.txt

@MarkLTZ
Copy link

MarkLTZ commented Jan 18, 2022

It does work ... in the sense that it builds and installs the package. Unfortunately my nvme raid is still not visible. Took a while on boot and it seemed like it gave up on the rcraid module and just booted normally but maybe that's what it always looks like when you do mkinitcpio -p , I'm not sure. Thank you very much for all this quick help though, I don't think I can get past here though. I'll keep trying some things just not being very hopeful.

Here's a dmesg output in case there's still something I can catch: dmesg.txt

it seams you have the same issue of @Fuzzo

Please give me more details about your hardware:

  • Motherboard vendor and model?
  • Hard Disks vendor and model?
  • SSD or NVMe?

I see also that your bios is set to AHCI and not to RAID:

[    0.656997] SCSI subsystem initialized
[    0.687152] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 242)
[    0.703357] scsi host0: ahci
[    0.703417] scsi host1: ahci
[    0.703464] scsi host2: ahci
[    0.703507] scsi host3: ahci
[    0.704082] scsi host4: ahci
[    0.704128] scsi host5: ahci
[    0.704176] scsi host6: ahci
[    0.704224] scsi host7: ahci
[    0.704267] scsi host8: ahci
[    0.704308] scsi host9: ahci
[    1.185448] scsi 2:0:0:0: Direct-Access     ATA      KINGSTON SUV400S 96R9 PQ: 0 ANSI: 5
[    1.205917] scsi 5:0:0:0: Direct-Access     ATA      KINGSTON SH103S3 BBF0 PQ: 0 ANSI: 5
[    1.208541] scsi 9:0:0:0: Direct-Access     ATA      ST3000DM001-1ER1 CC26 PQ: 0 ANSI: 5
[    1.239135] sd 2:0:0:0: [sda] Attached SCSI removable disk
[    1.246990] sd 5:0:0:0: [sdb] Attached SCSI removable disk
[    1.291699] sd 9:0:0:0: [sdc] Attached SCSI removable disk
[   17.648270] sd 2:0:0:0: Attached scsi generic sg0 type 0
[   17.648296] sd 5:0:0:0: Attached scsi generic sg1 type 0
[   17.648319] sd 9:0:0:0: Attached scsi generic sg2 type 0

@Lunchtimeme
Copy link
Author

It's Gigabyte Aorus x570 Pro
I have (as you see in the logs) 2SSDs and one HDD on SATA and I have 2 Samsung 1TB NVMes in Raid0.
It's a fake RAID so it's set up in BIOS, it works on Windows.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants