Skip to content

Installing Ubuntu Server 22.04 on WD PR2100 in 2024

Disclaimer: do this at your own risk, I'm not responsible for any damage to your device. Also, I'm not a linux expert, I just followed the guide and figured out how to get the hardware control working. Please do not do this with a machine that has important data on it.

Prerequisite

You'll need:

  • a fast, reliable usb storage device >= 16gb, f.x. a small cheap M.2 64GB SSD in a usb enclosure
  • network cable connected to your PR2100
  • a linux machine or (intel?-)mac
  • basic familiarity with linux and the terminal
  • optional: noise cancelling headphones

Basic setup

follow this guide: https://github.com/aamkye/ubuntu_on_WD_PRx100 only to the network configuration part, ignore "Extras (meant to be run on NAS directly)", see below

Hint: Make sure to install OpenSSH Server when prompted by Ubuntu Installer

Hint: Depending on how slow your storage device is, the installation may take 10 to 30 minutes

Hint: The installer will not exit, it'll say "Install Complete!" at the top. When the security updates are finished, there'll be a message like "subiquity/late/run" in the log and no more new lines. Just close the VM window and reboot it without the CD-ROM, as described in the original guide.

Networking Setup

If you can get copy and paste to work on your instance:

  1. run sudo nano /etc/netplan/01-network-config.yaml
  2. paste the following:
yaml
network:
  version: 2
  renderer: networkd
  ethernets:
    eno1:
      match:
        macaddress: $MAC1
      dhcp4: no
      set-name: eno1
    eno2:
      match:
        macaddress: $MAC2
      dhcp4: no
      set-name: eno2
  bonds:
    bond0:
      interfaces: [eno1, eno2]
      dhcp4: yes
      parameters:
        mode: 802.3ad
        mii-monitor-interval: 1
  1. replace the $MAC1 and $MAC2 with the mac addresses of your PR2100's ethernet ports

I couldn't get copy and paste to work, so I did this:

  1. run sudo wget https://mtillmann.blog/resources/npc.yaml -O/etc/netplan/01-network-config.yaml
  2. run sudo nano /etc/netplan/01-network-config.yaml
  3. replace the $MAC1 and $MAC2 with the mac addresses of your PR2100's ethernet ports

First Boot

  1. shut down VM, remove stick and insert into your PR2100
  2. wait for ~2-5 minutes for the PR2100 to boot. The main LED should have a solid blue light when booting is complete, although you can try and connect to it before that.
  3. acquire your PR2100's IP address on your network: use your routers network view or use a scanning app
  4. ssh into the PR2100 using the credentials you set during the ubuntu server install

Note: unless the next step is completed, the fan will spin at full speed AND the blue LED will blink forever

Hardware Control

Since the instructions in the original tutorial are outdated, here's how to get the hardware control working

Install hddtemp (via)

shell
sudo apt update
wget http://archive.ubuntu.com/ubuntu/pool/universe/h/hddtemp/hddtemp_0.3-beta15-53_amd64.deb

then:

shell
sudo apt install ./hddtemp_0.3-beta15-53_amd64.deb

Install wdnas-hwtools

Create a root shell

shell
sudo su

then inside the root shell:

shell
add-apt-repository universe
cd /opt
git clone https://github.com/WDCommunity/wdnas-hwtools
cd /opt/wdnas-hwtools
./install.sh

hit crtl+d to exit root shell

Now, within a few seconds the fan should spin down to 30% of its max speed.

Surviving Reboots

There are 2 issues with the hardware control:

Soft Reboots

Soft reboots will always fail because the actual fan speed is not detected and the the unit is shut down because it thinks the fan is broken. There is no way to fix this.

Solution: Don't soft reboot, always shut down and then power on again

Power Cycles/Regular Boots

wdhwd.service will fail to initialize on boot, so the fan will spin at full speed until the service is restarted. To fix this, do the following:

  1. ssh into your PR2100
  2. run sudo crontab -e
  3. add the following line to the end of the file: @reboot sleep 90 && systemctl restart wdhwd.service
  4. run sudo systemctl restart wdhwd.service immediately to avoid having to reboot

This will restart the service 90 seconds after boot.


Clicking this button loads third-party content from utteranc.es and github.com