Announcement

Collapse
No announcement yet.

Apparently Raven Ridge APUs don't support ECC.

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Apparently Raven Ridge APUs don't support ECC.

    I've bought an Asrock x370 Gaming ITX/ac mobo, and installed a Ryzen 5 2400G (after I used a random crap Bristol Ridge APU to power it up the first time to update the "bios" aka UEFI firmware to the latest version). Now the UEFI is 4.50 (and I also upgraded to 4.51 later to see if something changed).

    I tried with both OpenSUSE tumbleweed + latest daily kernel build (4.16.something) and with Debian Testing + kernel 4.16 from Ubuntu mainline kernel builds.

    Aaand.... ECC isn't working, nor I see options in the UEFI settings to enable it. There are only some auxiliary ones like DRAM scrubbing interval.

    Code:
    [email protected]:~# dmesg | grep EDAC
    [    0.132242] EDAC MC: Ver: 3.0.0
    [email protected]:~# ls /sys/devices/system/mc
    ls: cannot access '/sys/devices/system/mc': No such file or directory
    [email protected]:~# ls /sys/devices/system/edac/mc
    power  subsystem  uevent
    [email protected]:~# ls /sys/devices/system/edac
    mc  power  uevent
    [email protected]:~# ls /sys/devices/system/edac/mc
    power  subsystem  uevent
    [email protected]:~# edac-util -s
    edac-util: EDAC drivers loaded. No memory controllers found
    [email protected]:~# dmidecode -t memory | grep Width
            Total Width: 128 bits
            Data Width: 64 bits
            Total Width: 128 bits
            Data Width: 64 bits
    And from AIDA64 (within Windows) the situation is also the same:

    https://www.dropbox.com/s/ryeu93j3sh...20ram.bmp?dl=0
    https://www.dropbox.com/s/ro82r618dd...0data.bmp?dl=0

    while the RAMs are detected as ECC properly
    https://www.dropbox.com/s/t2z5nodohj...0data.bmp?dl=0

    I've googled around and from a german forum with screenshots of AIDA64 it seems that Raven Ridge has no ECC also on the Gigabyte mini itx board (and the owner states that his board also runs with ECC enabled with Summit Ridge Ryzen)
    https://www.dropbox.com/s/rmxgdhla7y...20ecc.png?dl=0

    while on my board a Ryzen 7 1700 (Summit Ridge) has ECC enabled.
    https://www.dropbox.com/s/vskpm2a6mc...srock.jpg?dl=0

    On the flip side, there is a confirmation that the Biostar Racing X370-GTN ITX has ECC enabled with a Summit Ridge (so the specs on their site are not lying), and as said above that the Gigabyte mini itx board also supports ECC correctly with Summit Ridge.
    https://www.dropbox.com/s/um7o2sezej...70gtn.png?dl=0

    I saved the relevant pages in the forum discussion (translated with Google translate) in this zip file
    https://www.dropbox.com/s/kwwzhtn22s...forum.zip?dl=0


    I'm very annoyed, as it seems I'll have to buy a Summit Ridge (probably a Ryzen 5 1600) and use a discrete GPU, but I was strongly suspecting this would happen, so whatever.

    Posting this here in the hope that it is useful, I'm not blaming AMD for lack of esoteric features like ECC in an APU that has its own share of complexity and issues.

    If you have any feedback or tips or tricks, feel free to share.

  • #2
    There are user reports who claim to successfully use ECC on Raven Ridge (and ASUS X370 Prime Pro).
    https://www.reddit.com/r/Amd/comment...to_be_working/

    AMD representatives in the Reddit thread wrote that like with Summit Ridge, it depends on mobo vendors to qualify and enable this feature.

    Gigabyte mini-ITX indeed doesn't support ECC on Raven Ridge, this was also found by ComputerBase users:
    https://www.computerbase.de/forum/sh...9#post20943909
    https://www.computerbase.de/forum/sh...0#post20943980


    Originally posted by starshipeleven View Post
    (after I used a random crap Bristol Ridge APU
    Originally posted by starshipeleven View Post
    Posting this here in the hope that it is useful, I'm not blaming AMD for lack of esoteric features like ECC in an APU that has its own share of complexity and issues.
    It is known that Bristol Ridge does support ECC, for example the Opteron X3216 in the HPE MicroServer Gen10. Maybe you can try with the Bristol Ridge APU again and check for working ECC there.

    Also try to force ECC to on, using ecc_enable_override=1 parameter to amd64_edac module. For Ryzen you need to additionally revert this patch in your kernel:
    https://git.kernel.org/pub/scm/linux...214686193fe7b6

    Comment


    • #3
      Originally posted by chithanh View Post
      There are user reports who claim to successfully use ECC on Raven Ridge (and ASUS X370 Prime Pro).
      https://www.reddit.com/r/Amd/comment...to_be_working/
      I saw that but it is 100% worthless, as the guy did not test in any way that ECC was enabled (and clearly states that).

      All that report states is that the board works with ECC RAM banks, which is something normal and expected. ECC ram (unbuffered) will work perfectly fine in any board regardless of ECC support.

      Will it run as ECC? no. It will run as normal non-ECC RAM. Not what I was looking for.

      AMD representatives in the Reddit thread wrote that like with Summit Ridge, it depends on mobo vendors to qualify and enable this feature.
      That's cool and all, but I really doubt mobo vendors are going to give a shit about doing any kind of work that isn't the minimum required for supporting Raven Ridge at all.

      It's probably too late for these batches of boards, while it's entirely possible the next batch with the X4xx chipsets will have that enabled.


      It is known that Bristol Ridge does support ECC, for example the Opteron X3216 in the HPE MicroServer Gen10. Maybe you can try with the Bristol Ridge APU again and check for working ECC there.
      I'm not terribly interested in using that low-end APU, but good to know, I'll try that out. There are also relatively decent Bristol Ridge APUs.

      Also try to force ECC to on, using ecc_enable_override=1 parameter to amd64_edac module. For Ryzen you need to additionally revert this patch in your kernel:
      https://git.kernel.org/pub/scm/linux...214686193fe7b6
      Not doing this. The amd guy is right, ECC isn't IOMMU, it's a closed black box that has to be dealt with by the firmware, while Linux only communicates with it to get the error status.

      That flag never really worked reliably in my experience.

      Comment


      • #4
        I do not recommend to set ecc_enable_override=1 for production use, just for testing. It will help tell whether a new UEFI/BIOS can alleviate the problem.

        Comment


        • #5
          Tested today with the A6-9500 APU I bought cheap to upgrade the UEFI firmware.

          No ECC options appear in UEFI, a lot of options disappeared (I assume they are not available on old-gen stuff), and of course no ECC detected in either Linux or Windows.

          Looks like I'm hitting ebay for some Ryzen 5 or 7 processor.

          Unrelated thoughts: I love the AMD Stealth cooler bundled with the Ryzen 5 Raven Ridge APUs, I'm sad I'll have to pack it back and re-sell it with the APU.

          Comment


          • #6
            ah come on vBullettin stop trolling me, Michael there is an unapproved post above this.

            Comment


            • #7
              The other day, someone one Reddit discovered this in the technical documentation of an ASRock X470 mobo:
              For Ryzen Series CPUs (Raven Ridge), ECC is only supported with PRO CPUs.
              Interesting. Maybe AMD changed their course and now disables ECC with non-PRO APUs?

              Anyway, patching kernel and ecc_enable_override=1 is probably still the way to go to determine whether this is physically disabled in hardware, or whether this can be fixed in a new UEFI/BIOS.

              Comment


              • #8
                Originally posted by chithanh View Post
                Interesting. Maybe AMD changed their course and now disables ECC with non-PRO APUs?
                From the specs listed here https://www.asrock.com/mb/AMD/X470%2...#Specification

                - AMD Ryzen series CPUs (Pinnacle Ridge) support DDR4 3466+(OC) / 3200(OC) / 2933/2667/2400/2133 ECC & non-ECC, un-buffered memory*
                - AMD Ryzen series CPUs (Summit Ridge) support DDR4 3466+(OC) / 3200(OC) / 2933(OC) / 2667/2400/2133 ECC & non-ECC, un-buffered memory*
                - AMD Ryzen series CPUs (Raven Ridge) support DDR4 3466+(OC) / 3200(OC) / 2933(OC) / 2667/2400/2133 non-ECC, un-buffered memory*

                *For Ryzen Series CPUs (Raven Ridge), ECC is only supported with PRO CPUs.


                I suspect that APUs had issues or something (as the GPU is also using the same memory controller) so they say they will enable ECC only in PRO CPUs (that don't seem to exist yet) that will probably give them more time to sort the issue.

                I'm happy that they at least officially plan to have APUs that support ECC at all, now I know what to keep a lookout for.

                Comment

                Working...
                X