Script to Automatically Rescan and Mount Software iSCSI Datastores on Startup for ESXi

There are several reasons you may want to have ESXi rescan for datastores at boot. For this example a FreeNAS guest VM was running an iSCSI target and sharing it back to the ESXi host which used it as a datastore. This script should be added to the following file in ESXi (using vi) so that it is preserved by ESXi upon reboot.

Note: the last line of this file should be preserved (exit 0).

#Adjust the delay in seconds as needed to allow time for NAS to boot up fully
sleep 300

#Enable iSCSI Initiator and rescan for iSCSI specific LUNs.
esxcfg-swiscsi -e
esxcfg-swiscsi -s

#Search for new VMFS datastores. If a new datastore has been detected, it is mounted in /vmfs/volumes/
vmkfstools -V

#another delay just to be sure
sleep 10

#Run the ESXi autostart script again to start all VMs that are on the datastore
sh /usr/sbin/ start




Posted in Uncategorized | Leave a comment

Enable BuddyPress Mentions and also Email Notifications in bbPress

BuddyPress @mentions were working perfectly within WordPress posts and comments however not in bbPress.

This is one solution to get @mention user lookups and an email notification when used in a topic or thread reply.  However a notification is not logged within BuddyPress.

First create or modify the following file in your WordPress install



function custom_bbpress_maybe_load_mentions_scripts(
$retval = false ) {
if ( function_exists( 'bbpress' ) && is_bbpress() ) {
$retval = true;
return $retval;
add_filter( 'bp_activity_maybe_load_mentions_scripts', 'custom_bbpress_maybe_load_mentions_scripts' );

Then you will need to install the bbPress Toolkit plugin for WordPress.

Once activated navigate to Tools -> bbP Toolkit in WordPress Dashboard. Then choose Extras at the top and confirm mentions are enabled.

Posted in Uncategorized | Leave a comment

How to Install Latest WordPress on Ubuntu Server 18.04

These are the minimum steps I needed to get WordPress running on Ubuntu Server 18.04. It is based on the below guide at the time of this writing:

How to install WordPress


  1. During the install and setup of Ubuntu Server 18.04, the only option I chose beyond the defaults was to install Open SSH server but is not required depending on your needs.
  2. sudo apt install apache2
  3. Optional: if you want SSL support
    sudo a2enmod ssl
  4. sudo apt install mysql-server
  5. Set up a MySQL user and database for WordPress to use by using the debian-sys-maint user:sudo cat /etc/mysql/debian.cnfmysql -u debian-sys-maint -p(copy/paste the password from the previous cat output)CREATE USER ‘username’@’localhost’ IDENTIFIED BY ‘password’;CREATE DATABASE dbname DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

    GRANT ALL PRIVILEGES ON dbname.* TO ‘username’@’localhost’;

  6. quit
  7. sudo apt install php libapache2-mod-php php-mysql php-gd php-xml php-mbstring
  8. By default apache will look at /var/www/html location for your WordPress install, but you can modify it with these steps
    sudo nano /etc/apache2/sites-enabled/000-default.conf
    in this example we will change DocumentRoot line to be /var/www/wordpress
  9. Optional: if you want SSL support add this entire block<VirtualHost *:443>
    ServerAdmin [email protected]
    DocumentRoot /var/www/wordpress
    SSLCertificateFile /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
  10. cd /var/www
  11. sudo curl -O
  12. sudo tar xfvz latest.tar.gz
  13. sudo cp wordpress/wp-config-sample.php wordpress/wp-config.php
  14. sudo nano wordpress/wp-config.php
  15. Modify database_name_here, username_here, password_here
  16. sudo chown -R www-data:www-data /var/www/wordpress
  17. Allow .htaccess permissions in Apache2 (otherwise changing the Permalinks settings in WordPress will result in 404 errors, as well as plugins that rely on subfolders to serve content).sudo nano /etc/apache2/apache2.conf
    Find the section where Directory parameters are specified and add the following block:
    <Directory /var/www/wordpress/>
    Options Indexes FollowSymLinks
    AllowOverride All
    Require all granted
    </Directory>sudo a2enmod rewrite
  18. sudo systemctl restart apache2
  19. Done
Posted in Uncategorized | Leave a comment

Suddenly Can’t Connect to UniFi Controller on Windows Server

Specific setup was Windows Server 2012 R2 and UniFi Controller 5.12.35.   The issue was that suddenly neither internal connections (LAN/private) nor external WAN (public/WAN) connections  could access the controller.  If Windows Firewall is enabled, the UniFi controller needs two apps allowed: UniFi DB Server and Java.

UniFi DB Server default location is
C:\Users\xxxx\Ubiquiti UniFi\bin\mongod.exe
where xxxx is the username

Java (32-bit) default location is
C:\Program Files (x86)\Java\jrex.x.x.x_xxx\bin\java.exe
where jrex.x.x.x_xxx is the folder name. This folder path changes depending on the version number of Java Runtime Environment installed.

The root cause was that Java was updated on the system but a new rule was not automatically created for it in Windows firewall. Upon inspection there were several rules for Java already present in the firewall but none were for the most recent version.

To check, navigate to Control Panel – Windows Firewall then choose the option for Allow an app or feature through Windows Firewall.

Find Java and then click the Details button. Here you can check if the path to java.exe matches the version that is installed.  You can manually add the new version by using the Allow another app button.

Once allowed check to see if the controller can be accessed again.

Posted in Uncategorized | Leave a comment

Crossflash Dell 0WFN6R 9341-8i to LSI 9300-8i IT Mode

These are the steps to crossflash a Dell 0WFN6R (SAS9341-8i) to an LSI 9300-8i. At the time of this guide the latest firmware available is P16.

All files needed for this guide can be downloaded here. The firmware and BIOS files were sourced directly from Broadcom’s website ( and specifically).

For UEFI method you will use sas3flash.efi.  You can perform this same procedure with BIOS method by instead using sas3flsh.exe. However if in BIOS mode you receive ERROR: Failed to initialize PAL. Exiting Program, then you must switch to the UEFI method.

  1. Make a record of the Assembly number and SAS Address from the stickers on the back of the card
  2. Create your bootable USB disk with Rufus, formatted as FreeDOS.  Extract the files from this guide to the root of the drive.
  3. Place jumper on TP12 located on the front rear of the card near the two SAS ports. Otherwise you will receive the error: No Avago SAS Adapters found! Limited Command Set Available! when trying to use SAS3Flash.
  4. Boot from the USB disk either UEFI or BIOS. For BIOS method substitute sas3flsh.exe for sas3flash.efi in all steps below.
  5. Navigate to the SAS3Flash binary on the USB drive
  6. Confirm the the 9341 card is detected:
    sas3flash.efi -list
  7. Perform preliminary flash of the firmware:
    sas3flash.efi -noreset -f SAS9300_8i_IT.bin
  8. Once you receive a confirmation that the flash was successful, power off the system and remove the jumper. Reinstall the card and boot off the USB drive.
  9. Wipe the card :
    sas3flash.efi -o -e 6
  10. Flash the firmware:
    sas3flash.efi -f SAS9300_8i_IT.bin
  11. At this point you can stop if you don’t want any BIOS on the card.  It is needed if you want to boot from a drive attached to the card.
  12. Flash the BIOS:
    sas3flash.efi -b mptsas3.rom
  13. Flash the UEFI rom:
    sas3flash.efi -b mpt3x64.rom
  14. Program the SAS address (don’t include hyphens as they will be added automatically): Note – you can perform this later at any time.
    sas3flsh.exe -o -sasadd XXXXXXX
  15. Program the board assembly (you DO need to include hyphens with this):
    Note – you can perform this later at any time.

    sas3flsh.exe -o -assem XXXXXXX
  16. Verify your results:
    sas3flash.efi -list
  17. You should see your SAS address, firmware version,  BIOS version, UEFI BSD Version and your board assembly.  Crossflashing is now complete.
Posted in Uncategorized | Leave a comment

Aquantia AQC108 No Network Status LEDs

Recent experience with an Aquantia AQtion AQC108 5G network card that was integrated in a motherboard (Supermicro X11SRA-F).    Plugging in an ethernet cable would not activate the port (status LEDs would not light up on either the NIC or the switch), so the NIC appeared dead.  However when booting into ESXi 6.7 the NIC would be detected as AQC108 NBase-T/IEEE 802.3bz Ethernet Controller [AQtion] but not be listed under Networking – Physical NICs indicating that no driver was found.  Turns out this NIC needs an OS that has a driver installed before the LEDs will activate. For example with the ESXi host machine the NIC was set up as Passthrough to a guest running Windows Server 2019 (which has the drivers built in).  The link LEDs then began working and the NIC functioned normally in the Windows guest.

Posted in Uncategorized | Leave a comment

Supermicro CSE-836 Chassis PWM 80mm Fan Swap

Upgraded a Supermicro CSE-836 from 3 pin fans to 4 pin PWM fans. Here is the before and after matrix of part numbers:

Middle Fans (Qty 3) FAN-0070L
San Ace 80 9G0812G103
Rear Exhaust Fans (Qty 2) FAN-0062L
San Ace 80 109p0812c2041
Middle Fans (Qty 3) FAN-0094L4
San Ace 80 9G0812P1G09
Rear Exhaust Fans (Qty 2) FAN-0062L4
San Ace 80 109P0812P2C031
Hot swap cables 4 pin to 4 pin (Qty 5) CBL-0088L

Note: the above matrix was for replacements in kind. The latest CSE-836 has these fans:
Middle: FAN-0126L4 (Qty 3)
Rear: FAN-0125L4 (Qty 2)

Note: an alternative 4 pin hot swap cable is CBL-0216L

Posted in Uncategorized | Leave a comment

Errno 28 When Trying to Update VMware ESXi 6.7.0 Update 3

When trying to update/upgrade ESXi 6.7.0 Update 3 (via software profile update command) you may run into the following error below. This was a host running specifically Update 3 build 15018017 trying to update to build 15160138.

[Errno 28] No space left on device
vibs = VMware_locker_tools-light_11.0.1.14773994-15160134
Please refer to the log file for more details.

The solution is to manually install VMware_locker_tools package by following these steps via SSH on the host:

cd /tmp


esxcli software vib install -f -v /tmp/VMware_locker_tools-light_11.0.1.14773994-15160134.vib

Once you receive verification that the Operation finished successfully, try the profile update command again to patch ESXi.


Posted in Uncategorized | Leave a comment

Error When Updating CentOS 7 – GPG keys are not correct for this package

When trying to update a CentOS 7 system after an extended amount of time, I ran into this error:

Downloading packages:
warning: /var/cache/yum/x86_64/7/ius/packages/yum-plugin-replace-0.2.7-1.ius.el7.noarch.rpm: Header V4 RSA/SHA256 Signature, key ID 4b274df2: NOKEY
Retrieving key from file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

The GPG keys listed for the “IUS Community Packages for Enterprise Linux 7 – x86_64” repository are already installed but they are not correct for this package.
Check that the correct key URLs are configured for this repository.

Failing package is: yum-plugin-replace-0.2.7-1.ius.el7.noarch
GPG Keys are configured as: file:///etc/pki/rpm-gpg/IUS-COMMUNITY-GPG-KEY

The solution was to reinstall the IUS repository (

sudo yum install \ \

Once complete retry the update

sudo yum update

At which point you may run into the below message.  The fingerprint should match, then type Y to finish.

Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-IUS-7
Importing GPG key 0x4B274DF2:
Userid : “IUS (7) <[email protected]>”
Fingerprint: c958 7a09 a11f d706 4f0c a0f4 e558 0725 4b27 4df2
Package : ius-release-2-1.el7.ius.noarch (installed)
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-IUS-7
Is this ok [y/N]:


Posted in Uncategorized | Leave a comment

UniFi Controller Notifications using a STARTTLS Mail Server

Recent issue with UniFi Controller (version 5.12.35) where test emails were failing on a remote SMTP server (Postfix) configured for STARTTLS listening on port 25.

The workaround was to open port 587 on the firewall and redirect it to port 25 of the server. Then configure the UniFi controller to use port 587 and uncheck the SSL option.

Be sure that your SSL certificate on the mail server is valid. Otherwise the controller will fail to send the email and Postfix logs may look similar to the following:

connect from xxx
lost connection after STARTTLS from xxx

Posted in Uncategorized | Leave a comment