17 Replies Latest reply on Apr 1, 2018 9:09 PM by ramchyld

    Need support on the AMD RAID driver for Linux Ubuntu

    tonytong

      Hi,

       

      I've recently put together a Ryzen 1700+ system with X370 chipset and installed dual boot Windows 10 and Ubuntu 16.04 systems (on a NVMe boot drive).   I have configured two RAID sets with RAID 0 and 1 respectively.  They work quite well under Windows, but I cannot get Ubuntu to find the RAID drives.  I did download the driver from the following webpage (Chipset ) and followed the instructions trying to insert the rcraid module to the Linux kernel.  The scripts seem to be successful and I could see that the rcraid.ko did get built and inserted into '/lib/modules/4.10.0-37-generic/kernel/drivers/scsi/' folder and the rest of steps.  However, after restarting, I used 'lsmod' to check, but couldn't find any 'raid' related module being loaded. 

       

      Can anyone help here?

       

      thank you,

      TT

        • Re: Need support on the AMD RAID driver for Linux Ubuntu
          mike_the_cfd_kitchen_hood_guy

          Had similar problem, but what I did that wasn't explained in the ISO readme is make the install file executable with "sudo chmod +x install".

           

          Once I rebooted, "sudo fdisk -l" saw the RAID.

          • Re: Need support on the AMD RAID driver for Linux Ubuntu
            tonytong

            * I did ran through the install script (output below)

            * I also saw that rcraid.ko got built and copied to "/lib/modules/4.10.0-37-generic/kernel/drivers/scsi/rcraid.ko"

            *  There is also load_amdraid script in folder "/usr/share/initramfs-tools/scripts/init-premount/"

            I tried to run the load_amdraid script myself, but got this error message:

            "insmod: ERROR: could not insert module /lib/modules/4.10.0-37-generic/kernel/drivers/scsi/rcraid.ko: File exists"

             

            Can you or anyone help further?  Thank you in advance!

             

            >>> output (partial) from install script on 4.10.0-37 kernel

            Make kernel for 4.10.0-37-generic

            make: Entering directory '/dd/driver_sdk/src'

            make: Leaving directory '/dd/driver_sdk/src'

            make: Entering directory '/dd/driver_sdk/src'

            ------------------------------------------------------------

            - building for kernel 4.10.0-37-generic

            ------------------------------------------------------------

            make -C /lib/modules/4.10.0-37-generic/build SUBDIRS=/dd/driver_sdk/src modules

            make[1]: Entering directory '/usr/src/linux-headers-4.10.0-37-generic'

              CC [M]  /dd/driver_sdk/src/rc_init.o

              CC [M]  /dd/driver_sdk/src/rc_msg.o

              CC [M]  /dd/driver_sdk/src/rc_mem_ops.o

              CC [M]  /dd/driver_sdk/src/rc_event.o

              CC [M]  /dd/driver_sdk/src/rc_config.o

              CC [M]  /dd/driver_sdk/src/vers.o

              LD [M]  /dd/driver_sdk/src/rcraid.o

              Building modules, stage 2.

              MODPOST 1 modules

              CC      /dd/driver_sdk/src/rcraid.mod.o

              LD [M]  /dd/driver_sdk/src/rcraid.ko

            make[1]: Leaving directory '/usr/src/linux-headers-4.10.0-37-generic'

            make: Leaving directory '/dd/driver_sdk/src'

            1 of 1 people found this helpful
              • Re: Need support on the AMD RAID driver for Linux Ubuntu
                ventman

                Haven't seen anybody help here, so I'll add to this. My board is a Gigabyte AX370-Gaming K5. When setting up the EFI, you need to make sure your not running the legacy RAID boot BIOS. you can use it to build the arrays, and boot from Windows, but your Linux system won't see your arrays. Set it to UEFI only. Check your kernel log, "dmesg | grep "rcraid" and look for a line like "rcraid: Array * not allowed by current licence level". If you see that, you know the module loaded, but it won't show disk arrays.

                2 of 2 people found this helpful
                  • Re: Need support on the AMD RAID driver for Linux Ubuntu
                    mawerick

                    I have the above mentioned "Array 1 not allowed by current license level" message and I do not know how to deal with it. Please help.

                    My board is an ASUS prime B350 plus and I am using Kubuntu 17.10. I installed Kubuntu on an external USB drive with the SATA configuration set to RAID, compiled the rcraid.ko and inserted it into the kernel. This all works fine. With help of the install script that is in the AMD package, the kernel module got inserted into the initrd and is automatically loaded at boot. The rcraid.ko module detects my disks. I have access to the CDROM via the rcraid.ko kernel module once it is loaded. However, it does not allow access to the hard drives. Looking into the UEFI BIOS, my current license level is "10". The two WD 2TB disks I have were configured as RAID 1. With Windows they are running fine. I upgraded the AMD RAID BIOS to version 8.1.0-00064. The rcraid kernel module is version 8.1.0-00039. Can this be an issue? The windows driver I was using during Windows install has a version 8.1.0-00026, and this worked fine. Here is the output when inserting the kernel module:

                     

                    <code>

                    rcraid: loading out-of-tree module taints kernel.

                    rcraid: module license 'Proprietary' taints kernel.

                    Disabling lock debugging due to kernel taint

                    rcraid: module verification failed: signature and/or required key missing - tainting kernel

                    <5>AMD, Inc. rcraid raid driver version 8.1.0 build_number 8.1.0-00039 built Mär 03 2018

                    <5>rcraid built on kubuntu by root on Sa 3. Mär 11:39:52 CET 2018

                    <5>rcraid: cmd_q_depth 512, tag_q_depth 16, max_xfer 448, use_swl 0xffffffff

                    <5>rcraid_probe_one: vendor = 0x1022 device 0x43bd

                    <5>rcraid_probe_one: vendor = 0x1022 device 0x7916

                    <5>rcraid_probe_one: Total adapters matched 2

                    <5>rcraid: rc_init_adapter 64 bit DMA enabled

                    <6>### rc_init_adapter(): RC_EnableZPODD = 0

                    <3>rcraid:0 request_threaded_irq irq 297

                    <5>rcraid: card 0: AMD, Inc. AHCI

                    <5>rcraid: rc_init_adapter 64 bit DMA enabled

                    <6>### rc_init_adapter(): RC_EnableZPODD = 0

                    <3>rcraid:1 request_threaded_irq irq 308

                    <5>rcraid: card 1: AMD, Inc. AHCI

                    rcraid: (1520073620.908596)

                    Array 1 not allowed by current license level.

                    rcraid: (1520073620.908619)

                    Array 1 not allowed by current license level.

                    <6>rcraid: rc_event: config change detected on bus 0

                    <4>rc_msg_process_srb: Bus/Target/Lun 0/0/0 OFFLINE

                    scsi host0: AMD, Inc. AMD-RAID

                    <4>rc_msg_process_srb: Bus/Target/Lun 0/0/0 OFFLINE

                    scsi 0:0:24:0: Processor         AMD-RAID Configuration    V1.2 PQ: 0 ANSI: 5

                    scsi 0:1:0:0: CD-ROM            HL-DT-ST DVDRAM GH22NS50  TN03 PQ: 0 ANSI: 0

                    scsi 0:0:24:0: Attached scsi generic sg2 type 3

                    sr 0:1:0:0: [sr0] scsi-1 drive

                    cdrom: Uniform CD-ROM driver Revision: 3.20

                    sr 0:1:0:0: Attached scsi CD-ROM sr0

                    sr 0:1:0:0: Attached scsi generic sg3 type 5

                    ISO 9660 Extensions: Microsoft Joliet Level 3

                    ISOFS: changing to secondary root

                    </code>

                      • Re: Need support on the AMD RAID driver for Linux Ubuntu
                        mdec

                        Sometimes I wish AMD forums had a way to escalate things and file JIRA tickets to their devs.

                        • Re: Need support on the AMD RAID driver for Linux Ubuntu
                          ventman

                          I looked into your boards UEFI menu's, go under the "Boot" tab, look under "Boot Configuration". Look for anything you can change that involves legacy boot, to "UEFI only". Also, under the Boot tab is "CSM" or Compatibility Support Module, try turning this on and off. If your Graphics card doesn't support UEFI, your board will keep toggling this on so it can boot.  You'll know you have "pure" UEFI when you stop seeing option ROM's related to disk controllers and ethernet devices after the first POST screen. Also, look under the "Advanced" tab, in "SATA Configuration" (or under the Advanced tab, can't tell) you should see an option to configure "AMD RAIDXpert2", once you see this, your OS should be able to mount the array as a regular "/dev/sd*" for each array.

                           

                          Another big thing, if your on any Kernel past the 4.10 branch, the driver module won't compile correctly.  Considering the fact that this software RAID wasn't developed by AMD, but an outside firm that's already been aquired twice by other companies since they made the contract with AMD, I hold little hope this get's fixed quickly.

                          1 of 1 people found this helpful
                    • Re: Need support on the AMD RAID driver for Linux Ubuntu
                      mdec

                      At this point I'm considering buying a REAL array controller with REAL upstream support in the kernel under a normal license.

                      1 of 1 people found this helpful
                      • Re: Need support on the AMD RAID driver for Linux Ubuntu
                        ramchyld

                        Honestly, I think AMD should just hand the needed information over to the kernel and dmraid/kpartx people to add support. I managed to get rcraid.ko built thanks to the hint provided on this thread. However NVMe RAID doesn't work and even then SATA RAID isn't working how I expected it to (it manifested itself as /dev/sda with my boot SATA SSD pushed down to /dev/sdb, and the controller and disk isn't showing up in /dev/mapper. On the plus side tho, at least Clonezilla supports imaging this configuration).

                         

                        Why do they have to make things so complicated.

                          • Re: Need support on the AMD RAID driver for Linux Ubuntu
                            ventman

                            Because, Like I hinted in that thread, AMD doesn't own the software we're having problems with. Honestly, AMD has really only been interested in the CPU portion of their platform.  It was only after Buying ATi, and inheriting their chipset tech that AMD was able to make a complete platform on their own (the 700 series) and have been making only slight revisions for the 800 and 900 series. It was really only with the introduction of APU's in 2011 that AMD had to actually put effort into creating a chipset it can call it's own.  Honestly, I love what AMD has done with the graphics side of ATi, putting in the effort to jump through the legal hoops to get as much technical info as possible out to the community to open source, but when you don't own what your selling, you play by their rules.

                              • Re: Need support on the AMD RAID driver for Linux Ubuntu
                                mdec

                                I dived into the software with a couple debugging tools and you're absolutely right, all of the RAID software is outsourced and then released on joke licenses. It really seems that AMD only cares for free software when it comes to their GPU drivers...

                                  • Re: Need support on the AMD RAID driver for Linux Ubuntu
                                    ramchyld

                                    I don't know about that. Not even sure that they care about open-sourcing the GPU drivers. I'm running Ubuntu 17.10. Blender won't let me do GPU rendering. I did reading and apparently only the AMDGPU-Pro drivers can do rendering. So I tried to install that... And it didn't work and caused my system to boot to a blank screen. Because only the LTS release is supported, which is a major joke. I don't want to use LTS because the version of Blender on that one is several years old at this point and I want to use a version that is at least less than six months old.

                                     

                                    In fact, is there a good reason to support Zen on LTS? Even 17.10 doesn't support the X399 temperature, voltage and fan sensors. I can't get a reading on any of them from lm-sensors. I'm thinking it would be worse on LTS which doesn't even support the Zen architecture natively, since it's kernel is from a year before Zen was introduced.