[Support] ich777 - AMD Vendor Reset, CoralTPU, hpsahba,...


Recommended Posts

Folks,

I'm currently maintaining the it87 driver that is now being pulled into your systems, and the current version supports the following chipsets: IT8603E, IT8606E, IT8607E, IT8613E, IT8620E, IT8622E, IT8623E, IT8625E, IT8628E, IT8528E, IT8655E, IT8665E, IT8686E, IT8688E, IT8689E, IT8695E, IT8705F, IT8712F, IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8732F, IT8736F, IT8738E, IT8758E, IT8771E, IT8772E, IT8781F, IT8782F, IT8783E/F, IT8786E, IT8790E, IT8792E, Sis950.

 

If you are have any of these chipsets, then you don't need to specify the "force_id" option any further.  If you do find you need it please contact me and I'll look at adding any missing chipsets, but it will depend on what details I can find.

 

Unfortunately, for some motherboards, which have multiple chipsets on board, you will need to add the option "ignore_resource_conflict=1" option, in place of the option "acpi_enforce_resources=lax" during the modprobe command, e.g.

Quote

modprobe it87 ignore_resource_conflict=1

for similar reasons, although it only affects the it87 module not others.

 

Good luck with the use of this module that various people have been improving over the years.

  • Like 4
Link to comment
29 minutes ago, Frank Crawford said:

Folks,

I'm currently maintaining the it87 driver that is now being pulled into your systems, and the current version supports the following chipsets: IT8603E, IT8606E, IT8607E, IT8613E, IT8620E, IT8622E, IT8623E, IT8625E, IT8628E, IT8528E, IT8655E, IT8665E, IT8686E, IT8688E, IT8689E, IT8695E, IT8705F, IT8712F, IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8732F, IT8736F, IT8738E, IT8758E, IT8771E, IT8772E, IT8781F, IT8782F, IT8783E/F, IT8786E, IT8790E, IT8792E, Sis950.

 

If you are have any of these chipsets, then you don't need to specify the "force_id" option any further.  If you do find you need it please contact me and I'll look at adding any missing chipsets, but it will depend on what details I can find.

 

Unfortunately, for some motherboards, which have multiple chipsets on board, you will need to add the option "ignore_resource_conflict=1" option, in place of the option "acpi_enforce_resources=lax" during the modprobe command, e.g.

for similar reasons, although it only affects the it87 module not others.

 

Good luck with the use of this module that various people have been improving over the years.

Damn my board had the IT87952E chip - any chance of supporting this one?

Link to comment

hi i have question on using the AMD gpu driver the radeon top   how do you use it?  i  watched space invaders video to setup tdarr with a nvida card... but i dont have one got my a hd7950 amd card ...   so i went to the app store and downloaded the only radeon driver   "radeon top"    but when i goto plug ins its not clickable..    what am i supposed to do to get the AMD drivers to work in unraid to link it to tdarr

Link to comment
On 9/17/2022 at 10:29 AM, Frank Crawford said:

Folks

Thanks for joining in here Frank!

 

I think you don't know this but on Unraid it would be better to pass this over with the syslinux.conf like:

i87.ignore_resource_conflict=1

 

or you could also do this with a file in /boot/config/modprobe.d/i87.conf with the content:

options i87 ignore_resource_conflict=1

 

and reboot afterwards regardless of which method you choose.

Link to comment
1 hour ago, ericswpark said:

Is there any possibility of it shipping with the base UnRAID installation? Or being mainlined into the Linux kernel?

I think @Frank Crawford is working on it to get it upstream into the Kernel but this can take some time.

 

However if it makes it upstream into the Kernel the Plugin will be deprecated with the next release where it is included in the Kernel and nothing has to change. I would rather not include it directly into Unraid for now.

For the time being please use the Plugin instead, I compile it directly from @Frank Crawford's repository for each new Unraid release.

Link to comment
2 hours ago, comet424 said:

but when i goto plug ins its not clickable.. 

Yes, because it's not the Nvidia Plugin, they both work different and use two different approaches.

The Nvidia Plugin is based on the proprietary driver from Nvidia where for each new release from Unraid the drivers have to be recompiled and uploaded and the AMD Plugin uses the in-tree drivers which are shipped with Unraid and install also on top of that "radeontop" which you can issue from the command line to get the utilization from your GPU/iGPU.

 

Are you sure that tdarr is capable of using the open source, in-tree drivers?

Please remember these are not the proprietary ones from AMD!

Link to comment

@ich777 thanks for the reply. Great to hear mainlining is being worked on!

 

The plugin does work and I'm able to see the sensors when I run `sensors`. The problem is the temperature plugin from Dynamix still says "No drivers detected" when I press the "Detect" button.

 

Here's the output of `sensors`:

 

it8655-isa-0290
Adapter: ISA adapter
in0:         861.00 mV (min =  +1.33 V, max =  +1.40 V)  ALARM
in1:           2.52 V  (min =  +1.97 V, max =  +2.19 V)  ALARM
in2:           2.05 V  (min =  +1.72 V, max =  +0.28 V)  ALARM
in3:           2.03 V  (min =  +2.38 V, max =  +0.63 V)  ALARM
in4:           2.03 V  (min =  +0.22 V, max =  +0.32 V)  ALARM
in5:           1.94 V  (min =  +2.43 V, max =  +2.75 V)  ALARM
in6:           2.03 V  (min =  +1.75 V, max =  +0.28 V)  ALARM
3VSB:          3.36 V  (min =  +1.40 V, max =  +4.84 V)
Vbat:          3.33 V  
+3.3V:         3.38 V  
Array Fan:   1776 RPM  (min =   76 RPM)
Array Fan:   1500 RPM  (min =   43 RPM)
temp1:        +55.0°C  (low  = -77.0°C, high = -57.0°C)  ALARM
temp2:        +47.0°C  (low  = -47.0°C, high = +28.0°C)  ALARM  sensor = thermistor
temp3:        +45.0°C  (low  =  -9.0°C, high = +79.0°C)  sensor = thermistor
temp4:        +45.0°C  (low  = -102.0°C, high = -25.0°C)  ALARM  sensor = thermistor
temp5:        +45.0°C  (low  = -74.0°C, high = -75.0°C)  ALARM  sensor = thermistor
temp6:        +45.0°C  (low  = +54.0°C, high = +11.0°C)  ALARM  sensor = thermistor
intrusion0:  ALARM

k10temp-pci-00c3
Adapter: PCI adapter
Tctl:         +55.0°C  

amdgpu-pci-0800
Adapter: PCI adapter
vddgfx:        1.38 V  
vddnb:         1.08 V  
edge:         +45.0°C  
slowPPT:       4.00 mW 

 

Here's what the temperature plugin currently looks like once I press detect:

C24B99AA-5376-4E6D-B075-D92CE28F968B.thumb.jpeg.b071fcd9b71b4477ebb1daea6e8174b9.jpeg

 

The plugin does show the array fans (which is awesome by itself) but I'd like to get the processor and mainboard temperatures working as well if possible.

 

I've tried typing in "it87", "it8655", and "it8655-isa-0920" into the "Available drivers" field and then pressing "Detect" again. It still results in the "No drivers detected" message. Any ideas?

 

Link to comment
1 hour ago, ericswpark said:

The plugin does show the array fans (which is awesome by itself) but I'd like to get the processor and mainboard temperatures working as well if possible.

Try to uninstall the Temp plugin once, reboot and start from scratch.

Maybe something is messed up...

Link to comment
1 hour ago, ich777 said:

Try to uninstall the Temp plugin once, reboot and start from scratch.

Maybe something is messed up...

Thanks for the reply; I just tried it but unfortunately it still cannot detect the driver. Any other ideas? Otherwise I'll wait for updates that might fix the problem.

Link to comment
39 minutes ago, ericswpark said:

Thanks for the reply; I just tried it but unfortunately it still cannot detect the driver. Any other ideas? Otherwise I'll wait for updates that might fix the problem.

What is the output from:

sensors-detect

 

See also this post for example here: Click

 

I think this would be better suited in the support thread from the Daynamix Temp plugin over here:

 

 

But ultimately scroll a little bit up and see the response form @Frank Crawford, have you passed over this to your syslinux.conf:

i87.ignore_resource_conflict=1

 

Also see my edited comment here:


What exact steps did you do in the temp plugin (step by step)?

Link to comment

@ich777 here's the output from `sensors-detect`:

 

root@dipper:~# sensors-detect
# sensors-detect version 3.6.0
# Board: ASUSTeK COMPUTER INC. PRIME A320I-K
# Kernel: 5.15.46-Unraid x86_64
# Processor: AMD Ryzen 5 PRO 4650G with Radeon Graphics (23/96/1)

This program will help you determine which kernel modules you need
to load to use lm_sensors most effectively. It is generally safe
and recommended to accept the default answers to all questions,
unless you know what you're doing.

Some south bridges, CPUs or memory controllers contain embedded sensors.
Do you want to scan for them? This is totally safe. (YES/no):
Silicon Integrated Systems SIS5595...                       No
VIA VT82C686 Integrated Sensors...                          No
VIA VT8231 Integrated Sensors...                            No
AMD K8 thermal sensors...                                   No
AMD Family 10h thermal sensors...                           No
AMD Family 11h thermal sensors...                           No
AMD Family 12h and 14h thermal sensors...                   No
AMD Family 15h thermal sensors...                           No
AMD Family 16h thermal sensors...                           No
AMD Family 17h thermal sensors...                           No
AMD Family 15h power sensors...                             No
AMD Family 16h power sensors...                             No
Hygon Family 18h thermal sensors...                         No
Intel digital thermal sensor...                             No
Intel AMB FB-DIMM thermal sensor...                         No
Intel 5500/5520/X58 thermal sensor...                       No
VIA C7 thermal sensor...                                    No
VIA Nano thermal sensor...                                  No

Some Super I/O chips contain embedded sensors. We have to write to
standard I/O ports to probe them. This is usually safe.
Do you want to scan for Super I/O sensors? (YES/no):
Probing for Super-I/O at 0x2e/0x2f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      Yes
Found `ITE IT8655E Super IO Sensors'                        Success!
    (address 0x290, driver `to-be-written')
Probing for Super-I/O at 0x4e/0x4f
Trying family `National Semiconductor/ITE'...               No
Trying family `SMSC'...                                     No
Trying family `VIA/Winbond/Nuvoton/Fintek'...               No
Trying family `ITE'...                                      No

Some systems (mainly servers) implement IPMI, a set of common interfaces
through which system health data may be retrieved, amongst other things.
We first try to get the information from SMBIOS. If we don't find it
there, we have to read from arbitrary I/O ports to probe for such
interfaces. This is normally safe. Do you want to scan for IPMI
interfaces? (YES/no):
Probing for `IPMI BMC KCS' at 0xca0...                      No
Probing for `IPMI BMC SMIC' at 0xca8...                     No

Some hardware monitoring chips are accessible through the ISA I/O ports.
We have to write to arbitrary I/O ports to probe them. This is usually
safe though. Yes, you do have ISA I/O ports even if you do not have any
ISA slots! Do you want to scan the ISA I/O ports? (yes/NO):

Lastly, we can probe the I2C/SMBus adapters for connected hardware
monitoring devices. This is the most risky part, and while it works
reasonably well on most systems, it has been reported to cause trouble
on some systems.
Do you want to probe the I2C/SMBus adapters now? (YES/no):
Using driver `i2c-piix4' for device 0000:00:14.0: AMD KERNCZ SMBus
Module i2c-dev loaded successfully.

Next adapter: SMBus PIIX4 adapter port 0 at 0b00 (i2c-0)
Do you want to scan it? (YES/no/selectively):
Client found at address 0x50
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 Yes
    (confidence 8, not a hardware monitoring chip)
Probing for `EDID EEPROM'...                                No
Client found at address 0x51
Probing for `Analog Devices ADM1033'...                     No
Probing for `Analog Devices ADM1034'...                     No
Probing for `SPD EEPROM'...                                 Yes
    (confidence 8, not a hardware monitoring chip)

Next adapter: SMBus PIIX4 adapter port 2 at 0b00 (i2c-1)
Do you want to scan it? (YES/no/selectively):

Next adapter: SMBus PIIX4 adapter port 1 at 0b20 (i2c-2)
Do you want to scan it? (YES/no/selectively):

Next adapter: AMDGPU DM i2c hw bus 0 (i2c-3)
Do you want to scan it? (yes/NO/selectively):

Next adapter: AMDGPU DM i2c hw bus 1 (i2c-4)
Do you want to scan it? (yes/NO/selectively):

Next adapter: AMDGPU DM aux hw bus 1 (i2c-5)
Do you want to scan it? (yes/NO/selectively):


Now follows a summary of the probes I have just done.
Just press ENTER to continue:

Driver `to-be-written':
  * ISA bus, address 0x290
    Chip `ITE IT8655E Super IO Sensors' (confidence: 9)

Note: there is no driver for ITE IT8655E Super IO Sensors yet.
Check https://hwmon.wiki.kernel.org/device_support_status for updates.

No modules to load, skipping modules configuration.

Unloading i2c-dev... OK

root@dipper:~#

 

What I did in the temperature plugin:

 

1. Click "Detect". Field updates to "No drivers detected"

2. Tried typing "it87" in field, then click "Detect." "No drivers detected"

3. Tried typing "it8655" in field, then click "Detect." "No drivers detected"

4. Tried "it8655-isa-0920" in field, then click "Detect." "No drivers detected"

5. Tried uninstalling and reinstalling the plugin, then click "Detect." "No drivers detected"

6. Tried uninstalling, rebooting, reinstalling the plugin, then click "Detect." "No drivers detected"

7. Tried running `modprobe it87`, then click "Detect." "No drivers detected"

 

I will try the `syslinux.conf` trick, but if that doesn't work I'll post in the temperature plugin thread. Thanks for the help!

  • Like 1
Link to comment

Finally managed to get the temperature to show up in the plugin. Turns out the "detect" button is broken and does not scan available drivers properly.

 

Following this comment: 

 

I had to create a `drivers.conf` file in `/boot/config/plugins/dynamix.system.temp` and add the following two lines:

 

it87
k10temp

 

Then once I went back to the temperature plugin settings I was able to select the CPU/MB temperature from the dropdown.

 

One thing to note – already mentioned in the linked comment but just to make sure – don't click on "Detect" or else it will wipe out your changes and you'll have to start over.

 

The commenter in the link had to do the `modprobe force_id` thing, but I didn't have to thanks to this plugin. You probably shouldn't need it if you have this it87 plugin installed.

  • Like 1
Link to comment
2 minutes ago, ich777 said:

It seems like it detected your chip correctly….

 

Yeah, that's why I was a bit confused. It looks like the Dynamix temperature plugin's script may be broken, or it might be getting confused because `sensors-detect` claims that the driver for the ITE IT8655E chip does not exist yet (`to-be-written`), which might be tripping up the detection in the plugin? Just a guess. Manually loading the driver by editing the configuration file fixed it. Thanks!

Link to comment
On 9/17/2022 at 4:29 PM, Frank Crawford said:

Folks,

I'm currently maintaining the it87 driver that is now being pulled into your systems, and the current version supports the following chipsets: IT8603E, IT8606E, IT8607E, IT8613E, IT8620E, IT8622E, IT8623E, IT8625E, IT8628E, IT8528E, IT8655E, IT8665E, IT8686E, IT8688E, IT8689E, IT8695E, IT8705F, IT8712F, IT8716F, IT8718F, IT8720F, IT8721F, IT8726F, IT8728F, IT8732F, IT8736F, IT8738E, IT8758E, IT8771E, IT8772E, IT8781F, IT8782F, IT8783E/F, IT8786E, IT8790E, IT8792E, Sis950.

 

If you are have any of these chipsets, then you don't need to specify the "force_id" option any further.  If you do find you need it please contact me and I'll look at adding any missing chipsets, but it will depend on what details I can find.

 

 

Sent you a PM

Link to comment

Hello! I'm trying to get unraid to recognize my amd 5700xt gpu and pass through to VMs/containers. But I'm having trouble getting it working, starting with my plex container.

I have the radeontop plugin installed and unraid is recognizing the card.

lspci -v | grep 5700
2e:00.0 VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT] (rev c1) (prog-if 00 [VGA controller])
        Subsystem: Sapphire Technology Limited Navi 10 [Radeon RX 5600 OEM/5600 XT / 5700/5700 XT]

 

but the radeontop plugin is showing weird data, like everything at 100%: https://i.imgur.com/hy2LdMH.png and but the card isn't being used and before it shows output I get a "Failed to open DRM node, no VRAM support." error.

I'm passing device=/dev/dri to plex but plex is looking for /dev/dri/renderd128 which doesn't exist on the host.


IOMMU is enabled and passing the 5700xt through. I wasn't sure if I should enable this or not, so I tested with this disabled and it didn't seem to change anything, but this is what it looks like:
uaVXQrg.png
 
Here is my complete hardware profile: https://pastebin.com/84xZbZR4

Maybe important to note: my motherboard is x470d4u and I have two pcie slots bifurcated to x8/x8 in the bios. The other card is an  LSI SAS2308.

Thank you for your help!

 

Link to comment
3 hours ago, eatoff said:

Sent you a PM

Please keep it here on the oublic part of the forums or is it something confidential…

 

Also I don‘t know how often @Frank Crawford is here because I contacted him elsewhere to let him know that I created a plugin from his driver for Unraid.

 

I also don‘t think that he uses Unraid.

Link to comment
1 hour ago, gezellig said:

I'm trying to get unraid to recognize my amd 5700xt gpu and pass through to VMs/containers.

This is not possible.

You‘ve bound it to VFIO, this means that the host can‘t see or better speaking use the card and that it is reserved for VM use only. That‘s also why you get weird things in radeontop.

 

You can‘t use a card for VM and Docker at the same time.

Link to comment
44 minutes ago, ich777 said:

You can‘t use a card for VM and Docker at the same time.

No problem! I don't actually have a use for a gpu in a VM currently, I just thought I might want to in the future. Using the GPU in docker containers is all I'm looking for. I've unbound the GPU to vfio and now I get a very similar issue, radeontop shows 0% across the board, with the same error. https://i.imgur.com/Mtnb396.png

plex container still looking for a missing /dev/dri/renderd128

 

 

 

Link to comment
23 minutes ago, gezellig said:

with the same error.

Where is the error?

This is looking perfectly fine, nothing is using your GPU...

 

23 minutes ago, gezellig said:

You can post images here too, just copy it to the clipboard and paste it here. ;)

 

23 minutes ago, gezellig said:

plex container still looking for a missing /dev/dri/renderd128

Have you passed over the device /dev/dri in your container template to the container?

Is Plex now supporting AMD GPU transcoding?

 

I would recommend that you post this in the appropriate Plex thread because the card is recognized fine and I can imagine that the path /dev/dri do indeed exist on Unraid itself (...otherwise the card won't show up in radeontop).

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.