RAM Upgrade on a Synology ds920+

There are a lot of threads on unofficial RAM upgrades that work or don’t work on the Synology ds920+.

Just for context, the Synology ds920+ comes built in with 4GB RAM soldered in and has one expansion slot. The official maximum is 8GB, and Synology sells an official 4GB RAM stick (model: D4NESO-2666-4G) for this. However, there are many anecdotal reports that adding 8GB and 16GB RAM also work.

By running a handful of applications and Docker containers, I was maxing out the built in 4GB of RAM and spilling into swap space which slowed down the entire NAS to almost a standstill.

However, the NAS seems to be pretty finicky in what RAM it accepts or not. My first attempt was with a Kingston Fury Impact 8GB, but I could not get it stable. The system would lock up after a few minutes, if it booted up at all. I suspected that it was incompatible, although it is possible it was just the stick was bad.

Not wanting to spend more time, I went for Crucial CT16G4SFD8266 16GB upgrade. Crucial. This was recommended on other sites as well. Lo and behold, it worked the first time I put it in, and also the Synology DSM did not have any notifications that the RAM was unsupported.

So if you’re looking for an upgrade for your ds920+, go for the recommended Crucial ones, even if it’s slightly more expensive. It will save you time and headache.

Some of the links above may be Amazon Associate links and I may earn from qualifying purchases.

Setting up IPv6 with Telus PureFibre on a Ubiquiti UniFi Dream Machine

I recently got a Ubiquiti UniFi Dream Machine (UDM) to support gigabit-speed internet at my new apartment. The UniFi line is a significant step up from consumer home routers, providing better customizability and management options for networks.

The following settings are required to get IPv6 working locally using Telus PureFibre internet:

In the Network application, go to Settings -> Internet -> WAN. Expand the Advanced section, then expand the IPv6 Connection subsection. Set the following settings:

  • IPv6 Connection: DHCPv6
  • Prefix Delegation Size: 56

Apply the changes at the bottom.

Then go to the Networks section and open your LAN network. Expand the Advanced section and scroll down to the IPv6 options, and set the following values:

  • IPv6 Interface Type: Prefix Delegation
  • IPv6 RA: Enabled
  • The rest can be the default values.

Apply the changes.

The next time you reconnect to the network, you should see your computer be given an IPv6 address. You can use sites like ipv6-test.com to test your IPv6 connectivity.

Handling power outages with an uninterruptible power supply and NUT

The main reason for having a UPS is to protect against data loss due to power outages whether it be unsaved work, or corruption due to the computer not having enough time to write things to disk. I only really started to take this seriously when I got my Synology networked attached storage (NAS) which holds all my data.

The UPS I chose is an APC model with 1300VA and a USB connection, which is powerful enough to power most of the critical equipment I have at home and to ensure they have enough time to shut down. One of the advantages of having an uninterruptible power supply (UPS) with a USB connection is that it is possible to smartly shut down any computers during a power outage.

My strategy is when the UPS goes on battery, I want the Windows PC and Linux server to shut down immediately (well after a 1 minute timeout). These are the heaviest load (roughly 100W each on idle) on the UPS and they aren’t running anything really important that I need during a power outage; they just need to shutdown cleanly. The Synology NAS is a lighter load so I don’t mind keeping that one on and only shut it down when the UPS battery is low. Keeping the cable modem and wireless router allows me to continue to have network access which is critical for NUT to work, but also for general productivity in case of a prolonged failure). I’ve found in past outages that the cable equipment in my apartment building has some sort of separate or backup power source as well so generally the internet can continue to work. With just the cable modem, router and Synology the power draw is about 50W. I can manually shut down the NAS if I want to prolong the network even further.

What’s this NUT you keep talking about?

NUT stands for Network UPS Tools which are a set of utilities that are cross platform and cross manufacturer that monitors and responds to changes in UPS statuses. As we will see in the following sections, Synology NAS already has built in support for NUT, and NUT tools can be installed on Windows and Linux.

Continue Reading

Fixing missing categories and tags in WordPress’ block editor

For several months now, I’ve noticed that the Categories and Tags widgets were missing in my WordPress’s post block editor. It was sort of fine because I could work around it by assigning categories and tags through the Quick Edit functionality from the post list, but it was an annoyance.

I had done the usual debugging steps of disabling plugins, changing to the default theme, even reinstalling the core WordPress code, but nothing changed. I had tried searching online for phrases like “wordpress categories and tags missing” but didn’t come up with anything.

Today, I found two clues that led me to investigate this further. First, when I popped open Chrome’s developer tools, I noticed that the AJAX requests were firing nonstop. I was originally wanting to check whether there were errors in any of the requests, but the requests were all returning JSON responses, so there wasn’t any error in the processing aspect.

Second, I installed the Health Check & Troubleshooting plugin. When I ran it, it showed:

The REST API did not behave correctly

The REST API is one way WordPress, and other applications, communicate with the server. One example is the block editor screen, which relies on this to display, and save, your posts and pages.

The REST API did not process the context query parameter correctly.

I happened to come across this blog post which suggested adding the following piece of configuration to the nginx configuration.

location ~ ^/wp-json/ {
    rewrite ^/wp-json/(.*?)$ /?rest_route=/$1 last;
}

Lo and behold, it solved the problem! I haven’t dug into the details as to what exactly is going on. I’m just posting this in case other people come across this issue since it was not straight forward to find the resolution to this problem.

Desktop computer v2

I’ve been wanting to build a new PC for a while. My current PC was originally built back in 2012, and upgraded in 2018. There’s still a lot of life left in this PC, so it will definitely be repurposed. However, for desktop use, it has fallen short in being unable to run a few modern applications (ok, also games) that I’ve been interested in, namely: DaVinci Resolve, the 2020 version of Microsoft Flight Simulator, and Call of Duty: Warzone.

Spending a lot more time at home due to the pandemic also drove my decision to upgrade the PC. But everyone else also has had the same idea over the past year, so demand was (and still continues to be) crazy high, and supply super low. I couldn’t be too picky about the parts.

I wanted to build something based on the AMD Ryzen 5 3600. For the most part, AMD still has the edge on better price to performance ratio, although with the current economic state of supply chain issues and shortages, that could be somewhat varied. One tradeoff though is that the AM4 socket is nearing the end of its lifecycle, which means significant future upgrades may be limited. On the GPU side of things, I was looking at the Nvidia GeForce GTX 1660 series. Both of my CPU and GPU choices are popular mid-range options that are last year’s generation, which means the prices shouldn’t be as high as the latest/upcoming generation freshly released.

Over the past month (from Black Friday through Boxing day deals), I managed to get the following components:

Type Item Price
CPU AMD Ryzen 5 3600 3.6 GHz 6-Core Processor $287.67
Motherboard MSI B550-A PRO ATX AM4 Motherboard $164.99
Memory Corsair Vengeance LPX 32 GB (2 x 16 GB) DDR4-3200 CL16 Memory $154.99
Storage Western Digital Blue SN550 1 TB M.2-2280 NVME Solid State Drive $119.99
Video Card Asus GeForce GTX 1660 SUPER 6 GB TUF GAMING OC Video Card $309.99
Case Corsair 100R ATX Mid Tower Case $54.99
Power Supply EVGA B5 550 W 80+ Bronze Certified Fully Modular ATX Power Supply $84.99
Total $1177.61

I don’t think anything in particular was significantly discounted at this time, however the name of the game was snagging the items before they went out of stock.

And here’s a comparison of the new CPU compared to my current PC’s past and current processors:

So far, I’m really happy with the build. It performs well for all the productive as well as entertainment purposes I had planned. I feel it’s going to be a great PC for the next few years, at least.