-
Unassigned Devices - Managing Disk Drives and Remote Shares Outside of The Unraid Array
I've been debugging this too. Seems like it's a multiple alias problem: The Unassigned Devices plugin has a weakness in its discovery logic: It chooses one alias for the disk. It independently chooses an alias for the partition. It assumes their names match. When they don't, the plugin incorrectly concludes that the disk has no partitions. Patched like this: cp /usr/local/emhttp/plugins/unassigned.devices/include/lib.php /tmp/ud-lib.php.before-alias-fix sed -i '3595c\ $partitions = array_values(array_filter($devicePaths, function($alias, $real) use ($path) { return (bool) preg_match("#^".preg_quote($path, "#")."p?[0-9]+$#", $real); }, ARRAY_FILTER_USE_BOTH));' /usr/local/emhttp/plugins/unassigned.devices/include/lib.php php -l /usr/local/emhttp/plugins/unassigned.devices/include/lib.php And persisted the patch across reboots with this script mkdir -p /boot/config/custom cat > /boot/config/custom/ud-nvme-hotfix.sh <<'EOF' #!/bin/bash set -euo pipefail lib=/usr/local/emhttp/plugins/unassigned.devices/include/lib.php backup=/tmp/ud-lib-before-hotfix.php # Wait for Unassigned Devices to be installed. for i in {1..60}; do [[ -f "$lib" ]] && break sleep 1 done [[ -f "$lib" ]] || exit 1 cp "$lib" "$backup" # Fix NVMe parent device identification. sed -i 's/MiscUD::base_device($matches\[1\]\[0\])/MiscUD::base_device($partition["device"])/' "$lib" # Match partitions by real device path, not aliases. sed -i '/\$partitions = array_values(preg_grep(/c\ $partitions = array_values(array_filter($devicePaths, function($alias, $real) use ($path) { return (bool) preg_match("#^".preg_quote($path, "#")."p?[0-9]+$#", $real); }, ARRAY_FILTER_USE_BOTH));' "$lib" # Verify both fixes and PHP syntax; roll back on failure. if ! grep -Fq 'MiscUD::base_device($partition["device"])' "$lib" || ! grep -Fq 'array_values(array_filter($devicePaths' "$lib" || ! php -l "$lib" >/dev/null; then cp "$backup" "$lib" logger -t ud-nvme-hotfix "Hotfix failed or plugin changed" exit 1 fi logger -t ud-nvme-hotfix "NVMe hotfix applied/verified" EOF chmod 755 /boot/config/custom/ud-nvme-hotfix.sh and updated go file cp -p /boot/config/go /boot/config/go.pre-ud-hotfix grep -Fxq '/boot/config/custom/ud-nvme-hotfix.sh' /boot/config/go || \ sed -i '/^\/usr\/local\/sbin\/emhttp$/i /boot/config/custom/ud-nvme-hotfix.sh' /boot/config/go grep -B2 -A2 '/usr/local/sbin/emhttp' /boot/config/go
-
Unraid OS version 7.0.0 available
Two servers updated OK, one got an NGINX 500-error after reboot - ssh'd in to reboot and all OK. However just downgraded both, none of the drives would spin-down - so I must have an older SATA controller. I hope that gets resolved - I REALLY don't want to have to throw these computers away
-
[PLUGIN] MQTT Pub & Sub - Support Page
I'm getting the same libssl error running both the old and the new publishing scripts via user scripts
-
martindell started following [Support] Linuxserver.io - Folding@home
-
[Support] Linuxserver.io - Folding@home
Newbie Unraid tinkerer here too with the same question. Is there a way to somehow disable CPU folding within Unraid? Now I have the GPU cooking, it just seems like a waste of power for the CPU to be involved too. I noticed my GPU thermal throttling every now and then (NVIDIA GTX 1080 Ti) and managed to cobble together this user script with ChatGPT's help. No doubt there are more elegant solutions, but this works and stretches my copy/paste skills to their limit 🙂 #!/bin/bash # Set the GPU fan control state to manual nvidia-settings -c :0 -a "[gpu:0]/GPUFanControlState=1" while true; do # Get the current GPU temperature TEMP=$(nvidia-settings -c :0 -q "[gpu:0]/GPUCoreTemp" | grep -Po '(?<=: )\d+') # Set fan speed based on temperature ranges if [ "$TEMP" -gt 85 ]; then nvidia-settings -c :0 -a "[fan:0]/GPUTargetFanSpeed=85" echo "Temperature is $TEMP°C. Fan speed set to 85%." elif [ "$TEMP" -gt 80 ]; then nvidia-settings -c :0 -a "[fan:0]/GPUTargetFanSpeed=80" echo "Temperature is $TEMP°C. Fan speed set to 80%." elif [ "$TEMP" -gt 75 ]; then nvidia-settings -c :0 -a "[fan:0]/GPUTargetFanSpeed=75" echo "Temperature is $TEMP°C. Fan speed set to 75%." elif [ "$TEMP" -gt 70 ]; then nvidia-settings -c :0 -a "[fan:0]/GPUTargetFanSpeed=70" echo "Temperature is $TEMP°C. Fan speed set to 70%." elif [ "$TEMP" -gt 65 ]; then nvidia-settings -c :0 -a "[fan:0]/GPUTargetFanSpeed=65" echo "Temperature is $TEMP°C. Fan speed set to 65%." elif [ "$TEMP" -gt 60 ]; then nvidia-settings -c :0 -a "[fan:0]/GPUTargetFanSpeed=60" echo "Temperature is $TEMP°C. Fan speed set to 60%." elif [ "$TEMP" -gt 50 ]; then nvidia-settings -c :0 -a "[fan:0]/GPUTargetFanSpeed=50" echo "Temperature is $TEMP°C. Fan speed set to 50%." else # Explicitly set fan speed to 20% for 50°C or below nvidia-settings -c :0 -a "[fan:0]/GPUTargetFanSpeed=20" echo "Temperature is $TEMP°C. Fan speed set to 20%." fi # Wait before checking again (adjust interval as needed) sleep 5 done
martindell
Members
-
Joined
-
Last visited