Mar 182020
vSphere Logo Image

I’ve noticed in a few situations where an ESXi host is marked as “unresponsive” or “disconnected” inside of vCenter due to issues occurring on that host (or connected hardware). This recently happened again with a customer and is why I’m writing this article at this very moment.

In these situations, usually all normal means of managing, connecting, or troubleshooting the host are unavailable. Usually in cases like this ESXi administrators would simply reset the host.

However, I’ve found hosts can often be rescued without requiring an ungraceful restart or reset.


In these situations, it can be observed that:

  • The ESXi host is in a unresponsive to disconnected state to vCenter Server.
  • Connecting to the ESXi host directly does not work as it either doesn’t acknowledge HTTPS requests, or comes up with an error.
  • Accessing the console of the ESXi host isn’t possible as it appears frozen.
  • While the ESXi host is unresponsive, the virtual machines are still online and available on the network.


In the few situations I’ve noticed this occurring, troubleshooting is possible but requires patience. Consider the following:

  • When trying to access the ESXi console, give it time after hitting enter or selecting a value. If there’s issues on the host such as commands pending, tasks pending, or memory issues, the console may actually respond if you give it 30 seconds to 5 minutes after selecting an item.
  • With the above in mind, attempt to enable console access (preferably console and not SSH). The logins may take some time (30 seconds to 5 minutes after typing in the password), but you might be able to gain troubleshooting access.
  • Check the SAN, NAS, and any shared storage… In one instance, there were issues with a SAN and datastore that froze 2 VMs. The Queued commands to the SAN caused the ESXi host to become unresponsive.
  • There may be memory issues with the ESXi instance. The VMs are fine, however an agent, driver, or piece of software may be causing the hypervisor layer to become unresponsive.

If there are storage issues, do what you can. In one of the cases above, we had to access the ESXi console, issue a “kill -9” to the VM, and then restart the SAN. We later found out there was issues with the SAN and corrupted virtual machines. The moment the SAN was restarted, the ESXi host became responsive, connected to the vCenter server and could be managed.

In another instance, on an older version of ESXi there was an HPE agentless management driver/service that was consuming the ESXi hosts memory continuously causing the memory to overflow, the host to fill the swap and become unresponsive. Eventually after gracefully shutting down the VMs, I was able to access the console, kill the service, and the host become responsive.

Mar 182020
Raspberry Pi iSCSI Target with external USB drive attached

The Raspberry Pi 4 is a super neat little device that has a whole bunch of uses, and if there isn’t for something you’re looking for you can make one! As they come out with newer and newer generations of the Raspberry Pi, the hardware gets better, faster, and the capabilities greatly improve.

I decided it was time with the newer and powerful Raspberry Pi 4, to try and turn it in to an iSCSI SAN! Yes, you heard that right!

With the powerful quad core processor, mighty 4GB of RAM, and USB 3.0 ports, there’s no reason why this device couldn’t act as a SAN (in the literal sense). You could even use mdadm and configure it as a SAN that performs RAID across multiple drives.

Picture of a Raspberry Pi 4 with External USB 3 HD setup as an iSCSI Target and SAN
Raspberry Pi 4 with External USB 3 HD

In this article, I’m going to explain what, why, and how to (with full instructions) configure your Raspberry Pi 4 as an iSCSI SAN, an iSCSI Target.

Please Note: these instructions also apply to standard Linux PCs and Servers as well, but I’m putting emphasis that you can do this on SBCs like the Raspberry Pi.

A little history…

Over the years on the blog, I’ve written numerous posts pertaining to virtualization, iSCSI, storage, and other topics because of my work in IT. On the side as a hobby I’ve also done a lot of work with SBC (Single Board Computers) and storage.

Some of the most popular posts, while extremely old are:

You’ll notice I put a lot of effort specifically in to “Lio-Target”…

When deploying or using Virtualization workloads and using shared iSCSI storage, the iSCSI Target must support something called SPC-3/SPC-4 Reservations.

SPC-3 and SPC-4 reservations allow a host to set a “SCSI reservation” and reserve the blocks on the storage it’s working with. By reserving the storage blocks, this allows numerous hosts to share the storage. Ultimately this is what allows you to have multiple hosts accessing the same volume. Please keep in mind both the iSCSI Target and the filesystem must support clustered filesystems and multiple hosts.

Originally, most of the open source iSCSI targets including the one that was built in to the Linux kernel did not support SCSI reservations. This resulted in volume and disk corruption when someone deployed a target and connected with multiple hosts.

Lio-Target specifically supported these reservations and this is why it had my focus. Deploying a Lio-target iSCSI target fully worked when using with VMware vSphere and VMware ESXi.

Ultimately, on January 15th, 2011 the iSCSI target in the Linux kernel 2.6.38 was replaced with Lio-target. All new Linux kernels use the Lio-Target as it’s iSCSI target.

What is an iSCSI Target?

An iSCSI target is a target that contains LUNs that you connect to with an iSCSI initiator.

The Target is the server, and the client is the initiator. Once connected to a target, you can directly access volumes and LUNs using iSCSI (SCSI over Internet).

What is it used for?

iSCSI is mostly used as shared storage for virtual environments like VMware vSphere (and VMware ESXi), as well as Hyper-V, and other hypervisors.

It can also be used for containers, file storage, remote access to drives, etc…

Why would I use or need this on the Raspberry Pi 4?

Some users are turning their Raspberry Pi’s in to NAS devices, whynot turn it in to a SAN?

With the powerful processor, 4GB of RAM, and USB 3.0 ports (for external storage), this is a perfect platform to act as a testbed or homelab for shared storage.

For virtual environments, if you wanted to learn about shared storage you could deploy the Raspberry Pi iSCSI target and connect to it with one or more ESXi hosts.

Or you could use this to remotely connect to a disk on a direct block level, although I’d highly recommend doing this over a VPN.

How do you connect to an iSCSI Target?

As mentioned above, you normally connect to an iSCSI Target and volume or LUN using an iSCSI initiator.

Using VMware ESXi, you’d most likely use the “iSCSI Software Adapter” under storage adapters. To use this you must first enable and configure it under the Host -> Configure -> Storage Adapters.

Image of the iSCSI Initiator software adapter configuration on VMware vSphere of an ESXi host.
VMware vSphere Host iSCSI Initiator Software Adapter

Using Windows 10, you could use the iSCSI initiator app. To use this simply search for “iSCSI Initiator” in your search bar, or open it from “Administrative Tools” under the “Control Panel”.

The Windows 10 iSCSI Initiator (iSCSI Properties) window.
Windows 10 iSCSI Initiator (iSCSI Properties)

There is also a Linux iSCSI initiator that you can use if you want to connect from a Linux host.

What’s needed to get started?

To get started using this guide, you’ll need the following:

  • Raspberry Pi 4
  • Ubuntu Server for Raspberry Pi or Raspbian
  • USB Storage (External HD, USB Stick, preferably USB 3.0 for speed)
  • A client device to connect (ESXi, Windows, or Linux)
  • Networking gear between the Raspberry Pi target and the device acting as the initiator

Using this guide, we’re assuming that you have already installed, are using, and have configured linux on the Raspberry Pi (setup accounts, and configured networking).

The Ubuntu Server image for Raspberry Pi comes ready to go out of the box as the kernel includes modules for the iSCSI Target pre-built. This is the easier way to set it up.

These instructions can also apply to Raspbian Linux for Raspberry Pi, however Raspbian doesn’t include the kernel modules pre-built for the iSCSI target and there are minor name differences in the apps. This is more complex and requires additional steps (including a custom kernel to be built).

Let’s get started, here’s the instructions…

If you’re running Raspbian, you need to compile a custom kernel and build the iSCSI Target Core Modules. Please follow my instructions (click here) to compile a custom kernel on Raspbian or Raspberry Pi. When you’re following my custom kernel build guide, in addition after running “make menuconfig”:

  1. Navigate to “Device Drivers”.
  2. Select (using space bar) “Generic Target Core Mod (TCM) and ConfigFS Infrastructure” so that it has an <M> (for module) next to it. Then press enter to open it. Example below.
    <M> Generic Target Core Mod (TCM) and ConfigFS Infrastructure
  3. Select all the options as <M> so that they compile as a kernel module, as shown below.
     --- Generic Target Core Mod (TCM) and ConfigFS Infrastructure
    <M> TCM/IBLOCK Subsystem Plugin for Linux/BLOCK
    <M> TCM/FILEIO Subsystem Plugin for Linux/VFS
    <M> TCM/pSCSI Subsystem Plugin for Linux/SCSI
    <M> TCM/USER Subsystem Plugin for Linux
    <M> TCM Virtual SAS target and Linux/SCSI LDD Fabcric loopback module
    <M> iSCSI Target Mode Stack
  4. Save the kernel config and continue following the “compile a custom raspberry pi kernel” guide steps.

If you’re running Ubuntu Server, the Linux kernel was already built with these modules so the action above is not needed.

We’re going to assume that the USB drive or USB stick you’ve installed is available on the system as “/dev/sda” for the purposes of this guide. Also please note that when using the create commands in the entries below, it will create it’s own unique identifiers on your system different from mine, please adjust your commands accordingly.

Let’s start configuring the Raspberry Pi iSCSI Target!

  1. First we need to install the targetcli interface to configure the target.
    As root (or use sudo) run the following command if you’re running Ubuntu Server.
    apt install targetcli-fb
    As root (or use sudo) run the following command if you’re running Raspbian.
    apt install targetcli
  2. As root (or using sudo) run “targetcli”.
    Running the targetcli command
  3. Create an iSCSI Target and Target Port Group (TPG).
    cd iscsi/
    Command to create a TPG iSCSI Target
  4. Create a backstore (the physical storage attached to the Raspberry Pi).
    cd /backstores/block
    create block0 /dev/sda
    Creating an iSCSI Target Backstore command
  5. Create an Access Control List (ACL) for security and access to the Target.
    cd /iscsi/
    Creating an ACL inside of targetcli for the iSCSI Target
  6. Add, map, and assign the backstore (block storage) to the iSCSI Target LUN and ACL.
    cd /iscsi/
    create /backstores/block/block0
    Mapping a backstore to LUN and ACL in TargetCLI
  7. Review your configuration.
    cd /
    Reviewing the configuration in TargetCLI
  8. Save your configuration and exit.
    Saving the configuration and exiting the targetcli interface

That’s it, you can now connect to the iSCSI target via an iSCSI initiator on another machine.

For a quick example of how to connect, please see below.

Connect the ESXi Initiator

To connect to the new iSCSI Target on your Raspberry Pi, open up the configuration for your iSCSI Software Initiator on ESXi, go to the targets tab, and add a new iSCSI Target Server to your Dynamic Discovery list.

Add iSCSI Server to the Dynamic Discovery list on the iSCSI Software Initiator on ESXi
ESXi adding iSCSI Target Server (SAN) to iSCSI Software Initiator Dynamic Discovery

Once you do this, rescan your HBAs and the disk will now be available to your ESXi instance.

Connect the Windows iSCSI Initiator

To connect to the new iSCSI Target on Windows, open the iSCSI Initiator app, go to the “Discovery” tab, and click on the “Discover Portal” button.

Adding an iSCSI Target Server to the Windows iSCSI Software Initiator
Add iSCSI Target Server to Windows iSCSI Initiator

In the new window, add the IP address of the iSCSI Target (your Raspberry Pi), and hit ok, then apply.

Now on the “Targets” tab, you’ll see an entry for the discovered target. Select it, and hit “Connect”.

The targets list on Windows iSCSI Software Initiator
Windows iSCSI Initiator Targets List

You’re now connected! The disk will show up in “Disk Management” and you can now format it and use it!

Here’s what an active connection looks like.

The Microsoft iSCSI Initiator window open, showing an active connection to an iSCSI target, and iSCSI disk
Windows 10 iSCSI Initiator connect to iSCSI Target presenting a disk

That’s all folks!


There you have it, you now have a beautiful little Raspberry Pi 4 acting as a SAN and iSCSI Target providing LUNs and volumes to your network!

Picture of Raspberry Pi 4 iSCSI Target running Ubuntu Server with External USB 3 HD
Raspberry Pi 4 iSCSI Target with External USB 3 HD

Leave a comment and let me know how you made out or if you have any questions!

Mar 172020
Picture of Raspberry Pi 4 box and Raspberry Pi 4 board below box

So you’ve got a shiny new Raspberry Pi 4 and you need to compile a fresh and custom Linux kernel on Raspbian. You might need some features, some kernel modules, or you just want to compile the latest version from source.

I’m doing various projects (and blog posts) and with one of the projects, I found I needed to compile and enable a kernel module that wasn’t built in to the latest Raspbian image for the Pi 4.

This guide is also great if you just want to learn how to compile the kernel yourself!


You may find that this guide is slightly different that the guide on the Raspberry Pi website and other sites. I like to append a unique name to the kernel version so I don’t have to touch the existing kernels. This allows me to revert or run multiple different custom kernels and switch back and forth.

Please note: You must be using a 32-bit kernel (or the default Raspbian kernel) to compile a new 32-bit kernel. You will not be able to compile a new kernel (32-bit or 64-bit) if you have booted in to the 64-bit kernel using the “arm_64bit=1” switch in “config.txt”. I’ve tried to compile a 64-bit kernel on Raspbian, but have not yet been able to do so. I’ll update with a new post once I figure it out.

And don’t forget, this can take some time and is CPU intensive. I installed a fan to help cool the temperatures while compilling!

This guide will compile a 32-bit kernel.

  1. Install some packages required to building and compiling.
    apt install raspberrypi-kernel-headers build-essential bc git wget bison flex libssl-dev make libncurses-dev
  2. Create a directory for us to work in.
    mkdir kernel
    cd kernel
  3. Clone the latest kernel sources using GIT.
    git clone --depth=1
  4. Setup the kernel configuration for compiling.
    cd linux
    make bcm2711_defconfig
  5. Make any changes you want to the kernel configuration and append a friendly local version name by using make menuconfig.
    make menuconfig

    To change the friendly name, navigate to “General Setup” and select/modify “Local Version – append to kernel release”.
    (-v7lstephen) Local version - append to kernel release
  6. Compile the kernel, modules, and device tree blobs.
    make -j4 zImage modules dtbs
  7. Install compiled modules.
    make modules_install
  8. Copy the kernel, modules, and other files to the boot filesystem.
    cp arch/arm/boot/dts/*.dtb /boot/
    cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
    cp arch/arm/boot/dts/overlays/README /boot/overlays/
    cp arch/arm/boot/zImage /boot/kernel-stephen.img
  9. Configure the PI to boot using the new kernel by modifying and adding the below line to “/boot/config.txt”.
  10. Reboot!

Bam! You’re now using your shiny new Linux kernel on the Raspberry Pi 4!

To rescue a failed build or if the Pi won’t boot

If for some reason the Pi won’t boot, you can recover the previous kernel since we used a new name with the new kernel.

To rescue the image you’ll need another Linux computer that can read the Micro-SD card.

  1. Insert the Micro-SD Card in the computer.
  2. Mount the /boot/ filesystem on the Micro SD card to a local directory.
  3. Edit the “config.txt” file and remove the “kernel=kernel-name.img” line we made above, or alternatively comment it out by inserting a “#” before the line.
  4. Save the file.
  5. Unmount the partition.
  6. Insert in the Raspberry Pi and boot!

You should now be back up and running and should be able to try again!

Leave some feedback and let me know if it worked for you. In the future I’ll be doing another post on compiling a 64-bit kernel for the Raspberry Pi 4 on Raspbian.

Mar 172020
CanaKit Raspberry Pi 4 Case with cables

Worried about your Raspberry Pi 4 overheating? The CanaKit Raspberry Pi 4 case and Raspberry PI cooling fan is a must have!

I purchased the complete CanaKit Raspberry Pi 4 Start MAX Kit from Amazon (link here). It’s a great little starter kit, easy to get going, and best of all it was same day delivery with Amazon Prime (for those of us who are impatient).

I placed the order, and within 8 hours I received the package and was up and running with the Pi 4!

CanaKit Raspberry Pi 4 case open with Fan Kit and running
CanaKit Raspberry Pi 4 Open with Fan Kit

The PI cooling fan on the CanaKit case for the Raspberry Pi 4 can be somewhat loud once installed, however when doing CPU intensive operations, it’s a must have to keep your Pi cool.

Pi Cooling Fan stats

Originally I left the fan unhooked until I was compiling a linux kernel on the Raspberry Pi 4. I could feel the heat coming from the top of the case so I decided to check to see what the temperatures were.

[email protected]:/home/stephenw# vcgencmd measure_temp

You can see that the CPU was running very hot! I sampled the CPU temp 3 times over a period of a minute to confirm it was running that hot.

Immediately I decided to hook up the fan and install it in the case. After installing the fan and letting it run for a while, the temperature dropped dramatically.

[email protected]:/home/stephenw# vcgencmd measure_temp

As you can see, the temperature went from a toasty 83 Celsius, down to 51 Celsius with the fan running. Please keep in mind these temperatures are after the latest firmware update which reduces operating temps.

Fan Connection

One thing that wasn’t included with the kit, was what pins to connect the PI cooling fan to. If you look at the manual included, or the GPIO pin out schematics, you’ll see that a 5V is available on pin 4, and ground is available right next to it on pin 6.

CanaKit Raspberry Pi 4 Quick Start Guide GPIO Pin-out

You can view the CanaKit Raspberry Pi 4 Quick Start guide here:

I hooked my black wire up to ground (pin 6) first, and then connected the red wire up to the 5v pin 4.

CanaKit Raspberry Pi 4 Open with Fan Kit

Make sure you don’t cross or use the wrong pins or you may damage your Raspberry Pi!

Mar 162020
Picture of Raspberry Pi 4 box and Raspberry Pi 4 board below box

So you just loaded up Ubuntu Server on your Raspberry Pi 4 using the latest Ubuntu Server Pi image and when you try logging in with the default username and password of ubuntu:ubuntu, you get the error “Authentication token Manipulation error” when you try to change the default password and log in.

This occurs on a fresh image write to an SD card using the Ubuntu 18.04.4 LTS 64-bit image. This may occur on other images and other versions of Ubuntu and other versions of the Raspberry Pi.

The filename for the image with the issue is:


How to Fix

After doing some research, I found out that there was an issue with a password file or the PAM database on the image. I figured that it was best to try to log in first using the default credentials, and then we can worry about changing the password later.

To do this I decided to modify the “cloud-init” scripts. I mounted the SD-Card on another Linux system, opened the “/boot/firmware/user-data”, and changed the “expire” setting on the ubuntu user from true to false.

The Instructions

  1. Mount the SD-Card on another Linux system.
  2. Navigate to the boot filesystem, and then open the “user-data” file inside of the firmware directory using nano or vi. The full path on the SD-Card is:
  3. Scroll down to this section.
      expire: true
      - ubuntu:ubuntu

    Change the “expire: true” to “expire: false”.
  4. Exit the file and save.
  5. Properly unmount the SD-Card (using umount).
  6. Boot up the Pi with the Micro-SD card.

You should now be able to log in using the username ubuntu and password ubuntu without being asked to change your password, and without seeing the error.

Once you have logged in, change the password to this account by using “passwd”.

Hope it helps!

Mar 142020

Want to see DUO Two-Factor Authentication in action? I’ve created a number of demo videos showing DUO 2FA being used on numerous different platforms. You can see how DUO works with these platforms, and the experience a user can expect when using two-factor authentication from Duo Security.

Duo 2FA is a great way to secure your environment whether it’s servers, workstations, VDI, firewalls, or even WordPress!

And remember, I sell Duo licensing and provide consulting services to help set it up!

The following video contains:

Video demo playlist

Duo Security Two-Factor Authentication Product Demo

Feel free to reach out to me if you need a quote, want to buy, or need help implementing Duo Security Two-Factor Authentication!

Don’t forget to check out my corporate blog post to “Secure your business and enterprise IT systems with Multi Factor Authentication (MFA)“!

For more content on my blog on Duo Security, visit:

For more content on my corporate blog on Duo Security, visit:

To visit Duo Security’s website, visit:

Mar 122020
10ZiG RepurpOS (RPOS) Running on PC

Looking to repurpose old PCs or laptops in to VDI Thin Clients (or Zero Clients)? Looking at implementing VDI but don’t have the budget for fancy Thin Clients or Zero Clients? Look no further! 10ZiG RepurpOS (also known as RPOS) allows you to repurpose PCs and laptops as VDI client endpoints.

You get all the power of a thin client, but built in to a piece of software that you can install on traditional x86 PC hardware. This means you don’t have to throw away semi-new hardware when rolling out your VDI deployment, it also means you can repurpose old hardware that was destined for recycling.

Read the post, or scroll down to watch the video! Please note that the screenshots may be a bit blurry since they were captured from the video recording.

The Software

10ZiG RepurpOS (RPOS) is built on Linux, similar to their NOS OS for Zero Clients. It install’s like an operating system on traditionla x86 computer systems, and turns them in to a fully functioning Thin Client which can be used for VDI.

Pros of the Software

  • Easy installation
  • Installs on x86 hardware (PCs, Laptops)
  • Supports most VDI Technologies (VMware, Citrix, RDP/VDA)
  • Centrally Managed via 10ZiG Manager

Minimum Requirements

  • x86 Hardware
  • 128MB of Memory (RAM)
  • VGA Graphics Adapter
  • 500Mhz or Higher Processor
  • 1GB of Storage
  • Ethernet or Wireless Network Interface

You can find more information on 10ZiG RepurpOS (RPOS) on 10ZiG’s website at

You can also contact me (or 10ZiG) for a free 10ZiG Repurposing Trial.


Below you’ll see a demonstration video of the 10ZiG RepurpOS (RPOS) in action, followed further below by a text review of the software.

10ZiG RepurpOS (RPOS) Software Video Demonstration

The continuation of this blog post features the different segments of the video.

Setup and Configuration

Getting started is easy… You’ll be provided with a compressed archive that contains an ISO file (which you can burn to CD), or you can use an executable provided that will write the ISO to a USB stick, so you can boot the computer from that.

After booting the installer, you’ll see a very simple interface to get started.

Screenshot of the 10ZiG RepurpOS (RPOS) Installer
10ZiG RepurpOS (RPOS) Installer

You’ll note that you have the capability of both running a Live Instance as a Live CD, or you can choose to install the 10ZiG repurposing software to the hard drive disk.

After choosing to “Install RepurpOS”, you select the disk and hit “Install”.

Screenshot of Installing the 10ZiG RepurpOS (RPOS) software to disk
Install the 10ZiG RepurpOS (RPOS) to disk

After a few moments, the install will complete. You’ll hit “Exit” and then restart the PC.

Screenshot of successful 10ZiG RepurpOS (RPOS) Install
10ZiG RepurpOS Installed
Screenshot of the 10ZiG RepurpOS (RPOS) Installer rebooting the PC post-installation
10ZiG RepurpOS Reboot after Installation

Interface and Usage

On first boot, you’ll notice the PC repurposing software has a very simple look and interface. We started off with a licensing message since we are using a demo.

10ZiG RepurpOS (RPOS) reporting it was unable to obtain a license via 10ZiG License Manager. Please retry or contact your IT administrator for further assistance.
10ZiG RepurpOS (RPOS) unable to obtain a license

To get started, theres a simple “Start menu”-like interface that allows you to configure and use the client. You can configure the thin client settings, or configure and add connections.

10ZiG RepurpOS (RPOS) Programs menu which allows you to add connections.
10ZiG RepurpOS (RPOS) Programs

And we have the settings menu.

10ZiG RepurpOS (RPOS) Settings menu to configure the thin client repurposing software.
10ZiG RepurpOS (RPOS) Settings Menu

I want you to keep in mind that while you can configure and use the 10ZiG RPOS software from this interface, in a large corporate environment you’d probably want to use the 10ZiG Manager software, and lock out the interface.

10ZiG RepurpOS Configuration and 10ZiG Manager Compatibility

All components of this software can be managed and configured via the 10ZiG Manager, just like the 10ZiG 5948qv and other 10ZiG Zero Clients. This makes the software extremely powerful since you can easily manage and maintain it, even if you have thousands of repurposed PCs running RPOS.

Inside of the 10ZiG Manager, the RPOS devices show up similar to how the other 10ZiG Thin clients and Zero clients would appear.

10ZiG RepurpOS (RPOS) with 2 online clients, and 2 offline clients. Mix of RepurpOS and 5948qv.
10ZiG RepurpOS (RPOS) with RPOS and NOS Clients

You can see above that I pushed my main configuration template to the RPOS demo devices. For more posts on 10ZiG Manager, please see the following posts:

As part of my main template, I have included SSL certificates for my VMware Horizon View connection server, so we’ll be able to test a VDI connection using BLAST.

Using the guides for the 10ZiG Manager above, you could fully configure the RPOS the way you want (for mass deployment), and then create a template and deploy it to a large batch of RPOS PCs. Or you could do all the initial configuration directly from the 10ZiG Manager.

The software supports a number of different protocols and technologies.

Programs menu on the 10ZiG RepurpOS (RPOS)
10ZiG RepurpOS (RPOS) Programs List

The list of applications and programs on 10ZiG RepurpOS (RPOS)

  • VMware Horizon View (VMware Horizon Linux Client)
  • Citrix XenApp (ICA Client)
  • Terminal
  • RDP (Using 2XClient, XFreeRDP)
  • VNC
  • Putty (SSH, Serial, RLogin)
  • XWindows (X Window System)
  • NoMachine NX (NX Technology desktop virtualization)
  • Kaviza (“VDI in a box”)
  • Web Browsing (via Chrome and Firefox)

If we choose to create a VMware Horizon View connection, we can configure the following options.

We can also configure the unit itself, along with other things like the VMware Global Settings, USB Redirection, etc…

10ZiG RepurpOS (RPOS) Terminal Properties Window used for configuring settings.
10ZiG RepurpOS (RPOS) Terminal Properties (Unit Settings)
10ZiG RepurpOS (RPOS) System Settings Window
10ZiG RepurpOS (RPOS) System Settings
10ZiG RepurpOS (RPOS) USB Redirection Settings Window
10ZiG RepurpOS (RPOS) USB Redirection Settings

And below we have the VMware Global Settings window.

We also have the ability to configure the default connection from the Connection Manager. We can also configure whether we want auto-start a connection and enable automatic reconnection.

10ZiG RepurpOS (RPOS) Connections Manager and Startup options windows.
10ZiG RepurpOS (RPOS) Connections Manager and Startup options

On a final note, you can see there is multi-display support built in. This is more apparent when browsing through other sections of the UI on the 10ZiG RPOS.

VDI Connection Testing

It’s time to test out the main functionality of the 10ZiG RepurpOS (RPOS) software!

I’ve gone ahead and created a connection profile for my company “Digitally Accurate Inc.” to access our VDI environment.

10ZiG RepurpOS (RPOS) desktop with an icon to connect to the Digitally Accurate Inc. connection profile.
10ZiG RepurpOS (RPOS) with Connection Profile to Digitally Accurate Inc.

Double clicking that icon, initiates the session. We login with my credentials.

And here we are presented with the available desktop pools. Please note, that you can configure it to automatically connect to a chosen desktop pool, or if only one is available it will automatically connect.

10ZiG RepurpOS (RPOS) VMware Horizon Connection listing available Desktop Pools on Server.
10ZiG RepurpOS (RPOS) VMware Horizon View Desktop Pools

And finally, we have a fully functional connection to our VDI environment on our VMware Horizon View environment using the 10ZiG repurposing software.

10ZiG RepurpOS (RPOS) with an active VDI session to a server running VMware Horizon View.
10ZiG RepurpOS (RPOS) with active VDI session on VMware Horizon View

Again, please note that the screenshots may be a little fuzzy due to the capture from video, the interface in reality is sharp and clear.


In conclusion, the 10ZiG RepurpOS (RPOS) software is a great way to bring life to old or existing hardware, reduce spending during a VDI rollout, and bring value to your investment.

Further backing up that investment, is the ability to use the 10ZiG Manager which is free, and can be used to manage a large number of devices.

I’d highly recommend this software and I look forward to using it more!

Mar 102020

It’s official, VMware vSphere 7 is here. VMware has put together tons of content for the launch of the new version.

First and foremost, check out their blog at This page will have tons of information on the launch and will host some important materials in one place for you to access. They also have a neat YouTube playlist here showcasing vSphere 7.

I’ll be posting more information when available!

Mar 092020
G965WVLU7DTB2/G965WOYV7DTB2/G965WVLU7DTB2 Update Screenshot on Samsung S9+

The One UI 2 upgrade and Android 10 is now available on Rogers in Canada on the Samsung S9+ (Model SM-G965W) for download and installation. I just randomly checked and noticed that it’s starting to download the update to install.

I’ve heard that Samsung (and/or the provider) may stage these updates, so keep checking every once in a while if you don’t see the update.

Check your device now to see if it’s available!

See below for a screenshot

G965WVLU7DTB2/G965WOYV7DTB2/G965WVLU7DTB2 Update Screenshot on Samsung S9+
Samsung S9+ Upgrade to G965WVLU7DTB2/G965WOYV7DTB2/G965WVLU7DTB2 on Rogers in Canada

Update Information

The Version number is: G965WVLU7DTB2/G965WOYV7DTB2/G965WVLU7DTB2

Size: 1923.44MB

Security Patch Level: February 1, 2020

For model SM-G965W

Additional Information

The update screen says to reference for more information, however as of this time (March 9th, 2020 at 7:51MST), the update itself isn’t listed.

See below for more screenshots with the change-log information.

Full Changelog below:

One UI 2 upgrade with Android 10

One UI 2 brings you Android 10, with exciting new features from Samsung and Google based on feedback from users like you.
We recommend that you back up your important data to keep it safe during the upgrade.
Some apps, including Calculator, Samsung Internet, Samsung Health, and Samsung Notes, need to be updated individually after you update your OS.

Dark mode
-Enhanced image, text, and color adjustments for day and night environments.
-Darkened wallpapers, widgets, and alarms while Dark mode is on.

Icons and colors
-Clearer app icons and system colors.
-Improved layouts for titles and buttons to eliminate wasted screen space.

Smoother animations
-Enhanced animations with a playful touch.

Full screen gestures
-Added new navigation gestures.

Refined interactions
-Navigate more comfortably on large screens with minimal finger movement.
-Easily focus on what matters with clearly highlighted buttons.

How One-handed mode is used has changed.
-New ways to access One-handed mode: double tap the Home button or swipe down in the center of the bottom of the screen.
-Settings moved to Settings > Advanced features > One-handed mode.

-High contract keyboards and layouts for large text have been improved.
-A new function has been added that converts speech to on-screen text in real time during voice/video calls or when speaking into the mic.

Better text over wallpapers
-See text more clearly against wallpaper, as One UI automatically adjusts font colors based on light and dark areas and color contrast in the image below.

Device Care
-The battery usage graph now provides more detailed information.
-Added battery limit setting and other enhancements for Wireless PowerShare.

Digital wellbeing
-Set goals to keep your phone usage in check.
-Use Focus mode to help avoid distractions from your phone.
-Keep an eye on your kids with new parental controls.

-Added the ability to edit the modes that appear at the bottom of the screen.
-New icons have been added to notify you when there are new settings and features.
-Improved the layout so you can focus on taking pictures without the settings getting in the way.

-In Customise menu, you can now change the toolbar menus so you can quickly access frequently used features.
-Detailed information can now be viewed on the title bar of each menu (bookmarks, settings, history, etc.).
-Support has been extended for additional features of Samsung Internet (e.g., extensions).

Samsung Contracts
-Added Trash feature for Contacts. Contacts that you delete will stay in the trash for 15 days before being deleted forever.
-Enhanced searching for contacts no possible using the BixbySearch engine.
-QR code features have been enhanced (new scanning function added).


-A new handwriting feature has been added that is specialised for use with the S Pen.
-The Calendar app has been optimised for a large screen (DeX mode).
-The month-view display has been improved for when event titles are long and need to be shown over 2 lines (only available if there are not many events on a day).
-You can now attach stickers to specific dates regardless of your schedule.
-A long melody can now be set as your notification sound for event reminders.

-More options are available for repeating reminders.
-Set location-based reminders for a specific period of time.
-Share reminders with your family group and other sharing groups.
-Set reminders for a specific date without an alert.

My Files
-Created a Trash feature so you can restore files if you delete something by mistake.
-Added more filters you can use while searching to help you find things quickly.
-You can now copy or move multiple files and folders to different destinations at the same time.

-Added speed and time units to the unit converter.

Connected car
-Android Auto is now preloaded.

-Helpful tips about One UI 2 have been added to help you get the most out of your Galaxy device.

The Link to Windows feature has been added.
-You can easily access photos, messages, and notifications from your phone on your PC, and a screen mirroring feature is also provided.
-This feature is available through the Link to Windows in the quick panel or Settings.

Link Sharing
-File upload capacity has been increased.
-You can now upload up to 3 GB per file and up to 5 GB per day.

Samsun DeX
-Increased support is now provided for connecting to a computer using Samsung DeX.

Media and devices
-Replaced the SmartThings panel with the Media and Devices.
-Media: Control music and videos playing on your phone as well as other devices.
-Devices: Check and control your SmartThings devices directory from the quick panel.

Learn more at:

G965WVLU7DTB2 / G965WOYV7DTB2 / G965WVLU7DTB2 Changlog

Leave a comment and let us know if it’s showing up as available on your device!

Mar 052020
Picture of Stephen Wagner and Charlene Shang hiking on Prairie Mountain

Last month (February 16th 2020) we were lucky enough to hike Prairie Mountain in winter. As an avid summer hiker, winter hiking is new to me, and this trail was perfect to get accustomed to winter trails. It’s a safe trail and I’d highly recommend it.

The trail was moderately busy and we started it a touch later in the morning. To do this hike in winter, you’ll need ice grippers, yaktrax, or ice spikes. The beginning of the trail is extremely icy, but this is only at the beginning for a brief amount of time.

The hike is located in Elbow falls and Kananaskis Country in Alberta. The trail head is semi-hard to find after your cross the road gates.

Picture of the beautiful and breathtaking Summit at Prairie Mountain. Including a Canadian Flag.
Prairie Mountain Summit

As you can see, the views and scenery are absolutely beautiful. The mountains all have white caps as it’s the middle of winter.

Our hike:

  • Elevation: 700m
  • Distance: 7.87KM (4.89mi)
  • Moving Time: 2 Hours 51 Minutes
  • Total Time: 4 Hours 51 Minutes

Hiking Trail Video

This first video is the full hike, shortened.

Prairie Mountain Hiking Highlights Video

The video below is us sliding down a portion of the mountain. It was tons of fun!

Sliding down Prairie Mountain

Hike Highlight Pictures

Even as you start early on in the hike, you are greeted with magnificent views, like below.

A beautiful view consisting of a valley between mountains.
Beginning of Prairie Mountain Hike

And of course, a picture of us is needed. We found a friendly fellow hiker to snap a picture of us.

A picture of Stephen Wagner and Charlene Shang hiking with beautiful scenery behind.
Stephen Wagner and Charlene Shang Hiking Prairie Mountain
View from the Summit of Prairie Mountain in Winter
Prairie Mountain View

And here’s two exhausted faces after the completion of the hike…

Exhausted after the Hike

Hike Photo Gallery

See below for the photo gallery from the hike!