2019-02-06

2018 in review

I haven't wrote any yearly reviews since 2013 and my blog was pretty stale since then. Nevertheless, in the last two years my IT life is starting to get busier again, so I believe a small review is worth a shot.

Upgrade to AMD Ryzen

The beginning of the year went unexpectedly for me, since my main computer, which is based on AMD Opteron 3280 just refused to boot one day. Not sure if it was CPU or motherboard failure, unfortunately I didn't have any means to test, but it forced me to look for available options at that time. Eventually I opted for a Ryzen 5 1600 CPU and a Biostar X370GT5 motherboard with 2x16 GB Corsair Vengeance LPX 16 GB DDR4 2400Mhz RAM. Unfortunately, Zen+ CPUs were released a bit later that year but even the first generation Zen CPU performance improvement over Opteron was pretty significant. If motherboard will support Zen2 CPUs, I may upgrade to some model this or next year. Graphics cards is Asus Dual RX460 OC edition with 2GB GDDR5 RAM. I actually bought it in 2017 because old fanless Radeon HD 2400 Pro card was constantly overheating even without a heavy workload.
AMD Ryzen 5 1600 CPU

DM&P EBOX-3352DX3-AP

During my network aggregation project, I found out that industrial shops still were selling DM&P Vortex86 SoC based systems. These are x86 compatible CPUs with the roots up to Rise mP6 depending on the model. I partially knew about them during the time I was collecting CPUs. Since I actively participate in NetBSD project, I decided to buy the system based on dual core Vortex86 DX3 to test compatibility and possibly improve it. Vortex86 CPUs has different models and they are not necessarily similar to each other (by internal architecture, supported instructions and features). The DX3 model has SSE, MMX support and it is the only dual core solution on Vortex86 series. It was produced on 40nm manufacturing process. SoC has an integrated 2D graphics engine and operates at ~1GHz frequency. Finally, it supports CMPXCHG8B and CMOV instructions which makes it a i586 class CPU. Unfortunately, however, it doesn't support SSE2 instructions and above.

I bought the DM&P EBOX-3352DX3-AP system specifically, where AP means auto power on. It basically means that the system boots automatically once you plug the power adapter to electricity. It doesn't have any physical power/reset buttons. Major specifications include 2GB DDR3 RAM, 3xUSB 2.0 ports, SD card slot, 10/100 Ethernet, fanless design, D-Sub 15-pin VGA connector.

The BSD support wasn't in good shape with default BIOS configuration:
  • FreeBSD booted properly but didn't recognize the exact model of Vortex86 CPU, integrated LAN controller was recognized but couldn't be initialized properly. Thus network couldn't be setup.
  • NetBSD could be booted only with ACPI/SMP disabled (boot -12), otherwise boot process would loop into continuous USB and IDE controller read timeout cycle. Exact model of Vortex86 CPU wasn't recognized, LAN controller behaved the same as in FreeBSD. No network again. Eventually I submitted a small patch to recognize CPU model properly (at time of writing the code is available in current branch only).
  • OpenBSD boot process was almost immediately crashing with ACPI aware OS option enabled in BIOS. It boots with the option disabled but USB devices fail to work in this case. Network seems to be not working as well, though like all BSDs it can recognize network card and attach a correct driver to it. CPU model was correct though.
Just before I finished the article I had started to play with some BIOS options which seemed to improve compatibility for OpenBSD/NetBSD, however, I am planning to write a new article about that if test results will be positive.

For Linux, I tried the Sparky Linux distribution. It worked fine, including network and X.org server, just the CPU model wasn't recognized properly.
Inside the DM&P EBOX-3352DX3-AP (BIOS battery was re-soldered)

D-Link DUB-1312

To remedy non working integrated NIC in EBOX-3352DX3-AP system I bought the D-Link DUB-1312 USB3 Gigabit adapter. It appeared to be not supported by NetBSD initially as well. After some digging I found out that it is based on ASIX Electronics AX88179 USB 3.0 to Gigabit Ethernet controller which has support by NetBSD. Thus, adding support was pretty easy and the code already exits in the current branch. I hope it will be pulled to 8 release branch too. Additionally, I also bought 4World USB to serial adapter (likely CH340 based) since DM&P computer doesn't have any COM ports. Unfortunately, it was failing to work in NetBSD. Eventually, I found the fix based on OpenBSD driver and it was applied in the current branch just recently.
D-Link DUB-1312 USB3 Gigabit adapter

Q68

Being a long Sinclair fan, I also didn't miss a chance to buy a newly designed Sinclair QL compatible Q68 computer. It is a small 8x10cm circuit board, having 68000 compatible soft CPU, operating at 40MHz, 32MB RAM, two SDHC slots, up to 1024×768 VGA support, serial port and some other goodies. It comes with a SMSQ/E operating system currently. I must admit, I didn't have a chance to play with it much. The QL environment is quite unusual compared to most systems I have ever tried and the learning curve is pretty steep for me. I hope to learn an ecosystem better this year, including the use of QL emulators. Many years ago I actually wanted to buy a Q60, which is still the most powerful QL compatible system to date but I missed my chance before, as it was out of stock. On the other hand it doesn't support LCD monitors which would make it almost unusable in modern days. Q68 is way less powerful but supports modern monitors.
Q68 from the top

Edimax EN-9320SFP+

Since my router supports one 10Gbit SFP+ port, I decided to buy a 10GBit card for curiosity. Not that it practically would help to increase the speed but it is the first step into new waters. Edimax EN-9320SFP+ was the cheapest choice around. It is based on Tehuti TN4010 which turn out to be pretty badly supported by any operating system. In Linux you need to recompile and install the driver manually. It still fails to work after computer is awake from sleep mode. Full reboot is required. There is no support for any of BSDs. Regarding performance, speedtest showed big upload speed improvement compared to 1GBit NIC and much lower response times. Download speed is pretty similar though.
Edimax EN-9320SFP+

Edimax RG21S router

I also bought the Edimax RG21S router last year. It appeared to have pretty weak signal despite MU-MIMO support and 4 big antennas. It means one may probably need WIFI extenders unless the house is really small or doesn't have heavy and tall furniture. Including very limited configuration and apparently rare firmware updates, the device was a bit of a disappointment for me. Because of that I hardly can recommend it for "power" users. Nevertheless, it proved to be stable and needs no special maintenance which makes it suitable for less demanding users.

FNATIC Gear Rush Pro

One more serious purchase was my first mechanical switch keyboard. Since typing is pretty much the major activity in my computer, I felt it was finally time to spend some money on a more professional keyboard. I decided to buy the FNATIC Gear Rush Pro keyboard with brown MX Cherry switches, which are considered less noisy than other switches. I must admit, typing using mechanical switches was a completely different experience compared to more commonly affordable keyboards and I consider this purchase as one of the most important ones last year. The keyboard also proved to be resistant to water spills (I almost once spilled a full glass of water straight on the keyboard). Except a space key, all buttons are easy to disassemble, clean and assemble again. Only a space key gave me some trouble though.
FNATIC Gear Rush Pro keyboard

Oppo RX17 Pro

I ended 2018 with a mobile phone upgrade, this was because my previous phone's (HTC 10) battery's life span was severely deteriorating, after two years of usage. It barely can survive in a few hours, not unless connected to either a charger or a powerbank for extensive usage. It pushed me to look for a new mobile phone. After much deliberation and research, I finally chose the Oppo RX17 Pro model. Currently it is based on ColorOS 5.2 (Android 8.1) but ColorOS 6 (Android 9) should come later this year. The phone itself has a nice build quality, though it's CPU is not a flagship (Snapdragon 710). It is still faster than the one used in HTC 10. Probably the major selling point of this phone is its SuperVOOC fast charging technology. The interesting feature includes the ToF camera but it is basically unused now and the in-display fingerprint scanner (physical one works faster though).
Oppo RX17 Pro front view

NetBSD

The NetBSD project released its sixteenth major version last year (NetBSD 8), as well as NetBSD 7.2 and 7.1.2 releases. The project became 25 years old. My contributions included D-Link DUB-1312 USB3 Gigabit adapter support, Vortex86DX2, MX+, DX3 identification IDs (DX2, MX+ retrieved from coreboot code, DX3 was identified by myself), RDC 6040 LAN bug report for EBOX-3352DX3-AP system (unresolved yet), partial contribution to decision to remove legacy viadrm code over newer viadrmums driver (since viadrm was creating confusion and didn't work properly). As a result I finally successfully configured the stable X.org environment on VIA VT-310DP system, built wine and dillo web browser on it, contributed VIA Eden-N 1GHz CPU to CPUID database. I also started to use the dynamic kernel module to enable VIA Padlock instead of recompiling the kernel for it.
NetBSD 8.0 RC1 with MATE Desktop

Highlights

  • Upgrade to AMD Ryzen 5 1600 CPU based platform.
  • Acquisition of unique and rare EBOX-3352DX3-AP computer system based on DM&P VortexDX3 SoC.
  • Purchase of D-Link DUB-1312 USB3 Gigabit and 4World USB to serial (01434) adapters. Creation of a patches for adapters to be supported on NetBSD.
  • Purchase of 10 Gbit Edimax EN-9320SFP+ LAN adapter to utilize 10GBit SFP+ port in my router. It works on Windows 10 and Manjaro Linux (manual build and installation for the driver is required), BSDs are not supported.
  • Purchase of Edimax RG21S router. Relatively weak WIFI signal was a disappointment.
  • Switch from cheap keyboard to the mechanical keyboard - FNATIC Gear Rush Pro.
  • Mobile phone upgraded from HTC 10 to Oppo RX17 Pro.
  • NetBSD activities:
    • Patch for D-Link DUB-1312 USB3 Gigabit adapter support
    • Patch for Vortex86 DX2, MX+, DX3 SoCs identification IDs
    • Contribution to viadrm code removal over newer viadrmums driver
    • Testing of EBOX-3352DX3-AP based system with one bug report for its integrated LAN. More reports or improvements may come this year.
    • Finally successful and stable Xorg configuration for VIA VT-310DP motherboard. It allowed me to run CWID CPU identification tool using Wine and Dillo web browser for VIA Eden-N CPU.
    • Switch to dynamic kernel modules for non default kernel drivers.